X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..6968a3b87cee46f5c5af9b46e1ef97f17133cef7:/include/wx/stockitem.h diff --git a/include/wx/stockitem.h b/include/wx/stockitem.h index 6c1740c64a..b13f84dc12 100644 --- a/include/wx/stockitem.h +++ b/include/wx/stockitem.h @@ -13,29 +13,69 @@ #define _WX_STOCKITEM_H_ #include "wx/defs.h" -#include "wx/wxchar.h" +#include "wx/chartype.h" #include "wx/string.h" +#include "wx/accel.h" // ---------------------------------------------------------------------------- // Helper functions for stock items handling: // ---------------------------------------------------------------------------- // Returns true if the ID is in the list of recognized stock actions -WXDLLEXPORT bool wxIsStockID(wxWindowID id); +WXDLLIMPEXP_CORE bool wxIsStockID(wxWindowID id); // Returns true of the label is empty or label of a stock button with // given ID -WXDLLEXPORT bool wxIsStockLabel(wxWindowID id, const wxString& label); +WXDLLIMPEXP_CORE bool wxIsStockLabel(wxWindowID id, const wxString& label); + +enum wxStockLabelQueryFlag +{ + wxSTOCK_NOFLAGS = 0, + + wxSTOCK_WITH_MNEMONIC = 1, + wxSTOCK_WITH_ACCELERATOR = 2, + + // by default, stock items text is returned with ellipsis, if appropriate, + // this flag allows to avoid having it + wxSTOCK_WITHOUT_ELLIPSIS = 4, + + // return label for button, not menu item: buttons should always use + // mnemonics and never use ellipsis + wxSTOCK_FOR_BUTTON = wxSTOCK_WITHOUT_ELLIPSIS | wxSTOCK_WITH_MNEMONIC +}; // Returns label that should be used for given stock UI element (e.g. "&OK" -// for wxSTOCK_OK): -WXDLLEXPORT wxString wxGetStockLabel(wxWindowID id, - bool withCodes = true, - wxString accelerator = wxEmptyString); +// for wxSTOCK_OK); if wxSTOCK_WITH_MNEMONIC is given, the & character +// is included; if wxSTOCK_WITH_ACCELERATOR is given, the stock accelerator +// for given ID is concatenated to the label using \t as separator +WXDLLIMPEXP_CORE wxString wxGetStockLabel(wxWindowID id, + long flags = wxSTOCK_WITH_MNEMONIC); + +#if wxUSE_ACCEL + + // Returns the accelerator that should be used for given stock UI element + // (e.g. "Ctrl+x" for wxSTOCK_EXIT) + WXDLLIMPEXP_CORE wxAcceleratorEntry wxGetStockAccelerator(wxWindowID id); + +#endif + +// wxStockHelpStringClient conceptually works like wxArtClient: it gives a hint to +// wxGetStockHelpString() about the context where the help string is to be used +enum wxStockHelpStringClient +{ + wxSTOCK_MENU // help string to use for menu items +}; + +// Returns an help string for the given stock UI element and for the given "context". +WXDLLIMPEXP_CORE wxString wxGetStockHelpString(wxWindowID id, + wxStockHelpStringClient client = wxSTOCK_MENU); + #ifdef __WXGTK20__ + // Translates stock ID to GTK+'s stock item string indentifier: -WXDLLEXPORT const char *wxGetStockGtkID(wxWindowID id); +WXDLLIMPEXP_CORE const char *wxGetStockGtkID(wxWindowID id); + #endif #endif // _WX_STOCKITEM_H_