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
25WXDLLEXPORT bool wxIsStockID(wxWindowID id);
26
27// Returns true of the label is empty or label of a stock button with
28// given ID
29WXDLLEXPORT bool wxIsStockLabel(wxWindowID id, const wxString& label);
30
31enum 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
43WXDLLEXPORT 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
56enum 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".
62WXDLLEXPORT 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:
69WXDLLEXPORT const char *wxGetStockGtkID(wxWindowID id);
70
71#endif
72
73#endif // _WX_STOCKITEM_H_
74