/////////////////////////////////////////////////////////////////////////////
// Name: wx/stockitem.h
-// Purpose: wxStockItemID enum
+// Purpose: stock items helpers (privateh header)
// Author: Vaclav Slavik
// Modified by:
// Created: 2004-08-15
#ifndef _WX_STOCKITEM_H_
#define _WX_STOCKITEM_H_
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma interface "stockitem.h"
-#endif
-
#include "wx/defs.h"
+#include "wx/wxchar.h"
#include "wx/string.h"
+#include "wx/accel.h"
// ----------------------------------------------------------------------------
-// Stock item IDs for use with wxButton, wxMenu and wxToolBar:
+// Helper functions for stock items handling:
// ----------------------------------------------------------------------------
-enum wxStockItemID
+// Returns true if the ID is in the list of recognized stock actions
+WXDLLEXPORT 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);
+
+enum wxStockLabelQueryFlag
{
- wxSTOCK_NONE = 0,
- wxSTOCK_ADD,
- wxSTOCK_APPLY,
- wxSTOCK_BOLD,
- wxSTOCK_CANCEL,
- wxSTOCK_CLEAR,
- wxSTOCK_CLOSE,
- wxSTOCK_COPY,
- wxSTOCK_CUT,
- wxSTOCK_DELETE,
- wxSTOCK_FIND,
- wxSTOCK_FIND_AND_REPLACE,
- wxSTOCK_GO_BACK,
- wxSTOCK_GO_DOWN,
- wxSTOCK_GO_FORWARD,
- wxSTOCK_GO_UP,
- wxSTOCK_HELP,
- wxSTOCK_HOME,
- wxSTOCK_INDENT,
- wxSTOCK_INDEX,
- wxSTOCK_ITALIC,
- wxSTOCK_JUSTIFY_CENTER,
- wxSTOCK_JUSTIFY_FILL,
- wxSTOCK_JUSTIFY_LEFT,
- wxSTOCK_JUSTIFY_RIGHT,
- wxSTOCK_NEW,
- wxSTOCK_NO,
- wxSTOCK_OK,
- wxSTOCK_OPEN,
- wxSTOCK_PASTE,
- wxSTOCK_PREFERENCES,
- wxSTOCK_PRINT,
- wxSTOCK_PRINT_PREVIEW,
- wxSTOCK_PROPERTIES,
- wxSTOCK_QUIT,
- wxSTOCK_REDO,
- wxSTOCK_REFRESH,
- wxSTOCK_REMOVE,
- wxSTOCK_REVERT_TO_SAVED,
- wxSTOCK_SAVE,
- wxSTOCK_SAVE_AS,
- wxSTOCK_STOP,
- wxSTOCK_UNDELETE,
- wxSTOCK_UNDERLINE,
- wxSTOCK_UNDO,
- wxSTOCK_UNINDENT,
- wxSTOCK_YES,
- wxSTOCK_ZOOM_100,
- wxSTOCK_ZOOM_FIT,
- wxSTOCK_ZOOM_IN,
- wxSTOCK_ZOOM_OUT
- // NB: when you add new item here, add it to stockitem.cpp and
- // documentation as well
-};
+ wxSTOCK_NOFLAGS = 0,
-// ----------------------------------------------------------------------------
-// Helper functions:
-// ----------------------------------------------------------------------------
+ wxSTOCK_WITH_MNEMONIC = 1,
+ wxSTOCK_WITH_ACCELERATOR = 2
+};
// Returns label that should be used for given stock UI element (e.g. "&OK"
-// for wxSTOCK_OK):
-wxString wxGetStockItemLabel(wxStockItemID item);
+// 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
+WXDLLEXPORT 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)
+ WXDLLEXPORT 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".
+WXDLLEXPORT wxString wxGetStockHelpString(wxWindowID id,
+ wxStockHelpStringClient client = wxSTOCK_MENU);
+
#ifdef __WXGTK20__
+
// Translates stock ID to GTK+'s stock item string indentifier:
-const char *wxStockItemToGTK(wxStockItemID item);
+WXDLLEXPORT const char *wxGetStockGtkID(wxWindowID id);
+
#endif
#endif // _WX_STOCKITEM_H_