Extract wxSTOCK_WITHOUT_ELLIPSIS from wxSTOCK_FOR_BUTTON.
[wxWidgets.git] / include / wx / stockitem.h
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$
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/chartype.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 WXDLLIMPEXP_CORE bool wxIsStockID(wxWindowID id);
26
27 // Returns true of the label is empty or label of a stock button with
28 // given ID
29 WXDLLIMPEXP_CORE 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 // by default, stock items text is returned with ellipsis, if appropriate,
39 // this flag allows to avoid having it
40 wxSTOCK_WITHOUT_ELLIPSIS = 4,
41
42 // return label for button, not menu item: buttons should always use
43 // mnemonics and never use ellipsis
44 wxSTOCK_FOR_BUTTON = wxSTOCK_WITHOUT_ELLIPSIS | wxSTOCK_WITH_MNEMONIC
45 };
46
47 // Returns label that should be used for given stock UI element (e.g. "&OK"
48 // for wxSTOCK_OK); if wxSTOCK_WITH_MNEMONIC is given, the & character
49 // is included; if wxSTOCK_WITH_ACCELERATOR is given, the stock accelerator
50 // for given ID is concatenated to the label using \t as separator
51 WXDLLIMPEXP_CORE wxString wxGetStockLabel(wxWindowID id,
52 long flags = wxSTOCK_WITH_MNEMONIC);
53
54 #if wxUSE_ACCEL
55
56 // Returns the accelerator that should be used for given stock UI element
57 // (e.g. "Ctrl+x" for wxSTOCK_EXIT)
58 WXDLLIMPEXP_CORE wxAcceleratorEntry wxGetStockAccelerator(wxWindowID id);
59
60 #endif
61
62 // wxStockHelpStringClient conceptually works like wxArtClient: it gives a hint to
63 // wxGetStockHelpString() about the context where the help string is to be used
64 enum wxStockHelpStringClient
65 {
66 wxSTOCK_MENU // help string to use for menu items
67 };
68
69 // Returns an help string for the given stock UI element and for the given "context".
70 WXDLLIMPEXP_CORE wxString wxGetStockHelpString(wxWindowID id,
71 wxStockHelpStringClient client = wxSTOCK_MENU);
72
73
74 #ifdef __WXGTK20__
75
76 // Translates stock ID to GTK+'s stock item string indentifier:
77 WXDLLIMPEXP_CORE const char *wxGetStockGtkID(wxWindowID id);
78
79 #endif
80
81 #endif // _WX_STOCKITEM_H_