1 /////////////////////////////////////////////////////////////////////////////
2 // Name:        wx/stockitem.h
3 // Purpose:     stock items helpers (privateh header)
4 // Author:      Vaclav Slavik
5 // Modified by:
6 // Created:     2004-08-15
7 // RCS-ID:      $Id: stockitem.h 42935 2006-11-02 09:51:49Z JS $
8 // Copyright:   (c) Vaclav Slavik, 2004
9 // Licence:     wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11 
12 #ifndef _WX_STOCKITEM_H_
13 #define _WX_STOCKITEM_H_
14 
15 #include "wx/defs.h"
16 #include "wx/wxchar.h"
17 #include "wx/string.h"
18 #include "wx/accel.h"
19 
20 // ----------------------------------------------------------------------------
21 // Helper functions for stock items handling:
22 // ----------------------------------------------------------------------------
23 
24 // Returns true if the ID is in the list of recognized stock actions
25 WXDLLEXPORT bool wxIsStockID(wxWindowID id);
26 
27 // Returns true of the label is empty or label of a stock button with
28 // given ID
29 WXDLLEXPORT bool wxIsStockLabel(wxWindowID id, const wxString& label);
30 
31 enum wxStockLabelQueryFlag
32 {
33     wxSTOCK_NOFLAGS = 0,
34 
35     wxSTOCK_WITH_MNEMONIC = 1,
36     wxSTOCK_WITH_ACCELERATOR = 2
37 };
38 
39 // Returns label that should be used for given stock UI element (e.g. "&OK"
40 // for wxSTOCK_OK); if wxSTOCK_WITH_MNEMONIC is given, the & character
41 // is included; if wxSTOCK_WITH_ACCELERATOR is given, the stock accelerator
42 // for given ID is concatenated to the label using \t as separator
43 WXDLLEXPORT wxString wxGetStockLabel(wxWindowID id,
44                                      long flags = wxSTOCK_WITH_MNEMONIC);
45 
46 #if wxUSE_ACCEL
47 
48     // Returns the accelerator that should be used for given stock UI element
49     // (e.g. "Ctrl+x" for wxSTOCK_EXIT)
50     WXDLLEXPORT wxAcceleratorEntry wxGetStockAccelerator(wxWindowID id);
51 
52 #endif
53 
54 // wxStockHelpStringClient conceptually works like wxArtClient: it gives a hint to
55 // wxGetStockHelpString() about the context where the help string is to be used
56 enum wxStockHelpStringClient
57 {
58     wxSTOCK_MENU        // help string to use for menu items
59 };
60 
61 // Returns an help string for the given stock UI element and for the given "context".
62 WXDLLEXPORT wxString wxGetStockHelpString(wxWindowID id,
63                                           wxStockHelpStringClient client = wxSTOCK_MENU);
64 
65 
66 #ifdef __WXGTK20__
67 
68 // Translates stock ID to GTK+'s stock item string indentifier:
69 WXDLLEXPORT const char *wxGetStockGtkID(wxWindowID id);
70 
71 #endif
72 
73 #endif // _WX_STOCKITEM_H_
74