2008-03-08 13:52:38 +00:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: menu.h
|
2008-03-10 15:24:38 +00:00
|
|
|
// Purpose: interface of wxMenuBar
|
2008-03-08 13:52:38 +00:00
|
|
|
// Author: wxWidgets team
|
|
|
|
// RCS-ID: $Id$
|
|
|
|
// Licence: wxWindows license
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
/**
|
|
|
|
@class wxMenuBar
|
2008-03-08 14:43:31 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
A menu bar is a series of menus accessible from the top of a frame.
|
2008-03-08 14:43:31 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
@library{wxcore}
|
|
|
|
@category{menus}
|
2008-03-08 14:43:31 +00:00
|
|
|
|
2008-06-11 00:03:20 +00:00
|
|
|
@see wxMenu, @ref overview_eventhandling "Event Handling Overview"
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
class wxMenuBar : public wxWindow
|
|
|
|
{
|
|
|
|
public:
|
2008-04-11 10:32:48 +00:00
|
|
|
/**
|
|
|
|
Construct an empty menu barM
|
|
|
|
|
|
|
|
@param style
|
|
|
|
If wxMB_DOCKABLE the menu bar can be detached (wxGTK only).
|
|
|
|
*/
|
|
|
|
wxMenuBar(long style = 0);
|
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
/**
|
|
|
|
Construct a menu bar from arrays of menus and titles.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param n
|
2008-03-09 12:33:59 +00:00
|
|
|
The number of menus.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param menus
|
2008-04-11 10:32:48 +00:00
|
|
|
An array of menus. Do not use this array again - it now belongs to
|
|
|
|
the menu bar.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param titles
|
2008-04-11 10:32:48 +00:00
|
|
|
An array of title strings. Deallocate this array after creating
|
|
|
|
the menu bar.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param style
|
2008-03-09 12:33:59 +00:00
|
|
|
If wxMB_DOCKABLE the menu bar can be detached (wxGTK only).
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-08 14:43:31 +00:00
|
|
|
wxMenuBar(size_t n, wxMenu* menus[], const wxString titles[],
|
|
|
|
long style = 0);
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Destructor, destroying the menu bar and removing it from the parent frame (if
|
|
|
|
any).
|
|
|
|
*/
|
2008-09-27 11:21:10 +00:00
|
|
|
virtual ~wxMenuBar();
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Adds the item to the end of the menu bar.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param menu
|
2008-03-09 12:33:59 +00:00
|
|
|
The menu to add. Do not deallocate this menu after calling Append.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param title
|
2008-03-09 12:33:59 +00:00
|
|
|
The title of the menu.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-05-11 01:38:53 +00:00
|
|
|
@return @true on success, @false if an error occurred.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see Insert()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-09-27 11:21:10 +00:00
|
|
|
virtual bool Append(wxMenu* menu, const wxString& title);
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Checks or unchecks a menu item.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param id
|
2008-03-09 12:33:59 +00:00
|
|
|
The menu item identifier.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param check
|
2008-03-09 12:33:59 +00:00
|
|
|
If @true, checks the menu item, otherwise the item is unchecked.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
@remarks Only use this when the menu bar has been associated with a
|
2008-03-09 12:33:59 +00:00
|
|
|
frame; otherwise, use the wxMenu equivalent call.
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
void Check(int id, const bool check);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Enables or disables (greys out) a menu item.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param id
|
2008-03-09 12:33:59 +00:00
|
|
|
The menu item identifier.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param enable
|
2008-03-09 12:33:59 +00:00
|
|
|
@true to enable the item, @false to disable it.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
@remarks Only use this when the menu bar has been associated with a
|
2008-03-09 12:33:59 +00:00
|
|
|
frame; otherwise, use the wxMenu equivalent call.
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
void Enable(int id, const bool enable);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Enables or disables a whole menu.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param pos
|
2008-03-09 12:33:59 +00:00
|
|
|
The position of the menu, starting from zero.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param enable
|
2008-03-09 12:33:59 +00:00
|
|
|
@true to enable the menu, @false to disable it.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
@remarks Only use this when the menu bar has been associated with a frame.
|
|
|
|
*/
|
|
|
|
void EnableTop(int pos, const bool enable);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Finds the menu item object associated with the given menu item identifier.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param id
|
2008-03-09 12:33:59 +00:00
|
|
|
Menu item identifier.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param menu
|
2008-03-09 12:33:59 +00:00
|
|
|
If not @NULL, menu will get set to the associated menu.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-05-11 01:38:53 +00:00
|
|
|
@return The found menu item object, or @NULL if one was not found.
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
wxMenuItem* FindItem(int id, wxMenu menu = NULL) const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
2008-03-09 12:33:59 +00:00
|
|
|
Returns the index of the menu with the given @a title or @c wxNOT_FOUND if no
|
|
|
|
such menu exists in this menubar. The @a title parameter may specify either
|
2008-03-08 13:52:38 +00:00
|
|
|
the menu title (with accelerator characters, i.e. @c "File") or just the
|
|
|
|
menu label (@c "File") indifferently.
|
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
int FindMenu(const wxString& title) const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Finds the menu item id for a menu name/menu item string pair.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param menuString
|
2008-03-09 12:33:59 +00:00
|
|
|
Menu title to find.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param itemString
|
2008-03-09 12:33:59 +00:00
|
|
|
Item to find.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-05-11 01:38:53 +00:00
|
|
|
@return The menu item identifier, or wxNOT_FOUND if none was found.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
@remarks Any special menu codes are stripped out of source and target
|
2008-03-09 12:33:59 +00:00
|
|
|
strings before matching.
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
int FindMenuItem(const wxString& menuString,
|
2008-03-09 16:24:26 +00:00
|
|
|
const wxString& itemString) const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Gets the help string associated with the menu item identifier.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param id
|
2008-03-09 12:33:59 +00:00
|
|
|
The menu item identifier.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-05-11 01:38:53 +00:00
|
|
|
@return The help string, or the empty string if there was no help string
|
|
|
|
or the menu item was not found.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see SetHelpString()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
wxString GetHelpString(int id) const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Gets the label associated with a menu item.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param id
|
2008-03-09 12:33:59 +00:00
|
|
|
The menu item identifier.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-05-11 01:38:53 +00:00
|
|
|
@return The menu item label, or the empty string if the item was not
|
|
|
|
found.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
@remarks Use only after the menubar has been associated with a frame.
|
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
wxString GetLabel(int id) const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Returns the label of a top-level menu. Note that the returned string does not
|
|
|
|
include the accelerator characters which could have been specified in the menu
|
|
|
|
title string during its construction.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param pos
|
2008-03-09 12:33:59 +00:00
|
|
|
Position of the menu on the menu bar, starting from zero.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-05-11 01:38:53 +00:00
|
|
|
@return The menu label, or the empty string if the menu was not found.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
@remarks Use only after the menubar has been associated with a frame.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see SetLabelTop()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
wxString GetLabelTop(int pos) const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
2008-03-09 12:33:59 +00:00
|
|
|
Returns the menu at @a menuIndex (zero-based).
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
wxMenu* GetMenu(int menuIndex) const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Returns the number of menus in this menubar.
|
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
size_t GetMenuCount() const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Returns the label of a top-level menu. Note that the returned string
|
|
|
|
includes the accelerator characters that have been specified in the menu
|
|
|
|
title string during its construction.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param pos
|
2008-03-09 12:33:59 +00:00
|
|
|
Position of the menu on the menu bar, starting from zero.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-05-11 01:38:53 +00:00
|
|
|
@return The menu label, or the empty string if the menu was not found.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
@remarks Use only after the menubar has been associated with a frame.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see GetMenuLabelText(), SetMenuLabel()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
wxString GetMenuLabel(int pos) const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Returns the label of a top-level menu. Note that the returned string does not
|
|
|
|
include any accelerator characters that may have been specified in the menu
|
|
|
|
title string during its construction.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param pos
|
2008-03-09 12:33:59 +00:00
|
|
|
Position of the menu on the menu bar, starting from zero.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-05-11 01:38:53 +00:00
|
|
|
@return The menu label, or the empty string if the menu was not found.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
@remarks Use only after the menubar has been associated with a frame.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see GetMenuLabel(), SetMenuLabel()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
wxString GetMenuLabelText(int pos) const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Inserts the menu at the given position into the menu bar. Inserting menu at
|
2008-03-08 14:43:31 +00:00
|
|
|
position 0 will insert it in the very beginning of it, inserting at position
|
|
|
|
GetMenuCount() is the same as calling
|
2008-03-08 13:52:38 +00:00
|
|
|
Append().
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param pos
|
2008-03-09 12:33:59 +00:00
|
|
|
The position of the new menu in the menu bar
|
2008-03-08 14:43:31 +00:00
|
|
|
@param menu
|
2008-03-09 12:33:59 +00:00
|
|
|
The menu to add. wxMenuBar owns the menu and will free it.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param title
|
2008-03-09 12:33:59 +00:00
|
|
|
The title of the menu.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-05-11 01:38:53 +00:00
|
|
|
@return @true on success, @false if an error occurred.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see Append()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-09-27 11:21:10 +00:00
|
|
|
virtual bool Insert(size_t pos, wxMenu* menu, const wxString& title);
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Determines whether an item is checked.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param id
|
2008-03-09 12:33:59 +00:00
|
|
|
The menu item identifier.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-05-11 01:38:53 +00:00
|
|
|
@return @true if the item was found and is checked, @false otherwise.
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
bool IsChecked(int id) const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Determines whether an item is enabled.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param id
|
2008-03-09 12:33:59 +00:00
|
|
|
The menu item identifier.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-05-11 01:38:53 +00:00
|
|
|
@return @true if the item was found and is enabled, @false otherwise.
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
bool IsEnabled(int id) const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Redraw the menu bar
|
|
|
|
*/
|
|
|
|
void Refresh();
|
|
|
|
|
|
|
|
/**
|
|
|
|
Removes the menu from the menu bar and returns the menu object - the caller is
|
2008-03-08 14:43:31 +00:00
|
|
|
responsible for deleting it. This function may be used together with
|
2008-03-08 13:52:38 +00:00
|
|
|
Insert() to change the menubar
|
|
|
|
dynamically.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see Replace()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-09-27 11:21:10 +00:00
|
|
|
virtual wxMenu* Remove(size_t pos);
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Replaces the menu at the given position with another one.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param pos
|
2008-03-09 12:33:59 +00:00
|
|
|
The position of the new menu in the menu bar
|
2008-03-08 14:43:31 +00:00
|
|
|
@param menu
|
2008-03-09 12:33:59 +00:00
|
|
|
The menu to add.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param title
|
2008-03-09 12:33:59 +00:00
|
|
|
The title of the menu.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-05-11 01:38:53 +00:00
|
|
|
@return The menu which was previously at position pos. The caller is
|
|
|
|
responsible for deleting it.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see Insert(), Remove()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-09-27 11:21:10 +00:00
|
|
|
virtual wxMenu* Replace(size_t pos, wxMenu* menu, const wxString& title);
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Sets the help string associated with a menu item.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param id
|
2008-03-09 12:33:59 +00:00
|
|
|
Menu item identifier.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param helpString
|
2008-03-09 12:33:59 +00:00
|
|
|
Help string to associate with the menu item.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see GetHelpString()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
void SetHelpString(int id, const wxString& helpString);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Sets the label of a menu item.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param id
|
2008-03-09 12:33:59 +00:00
|
|
|
Menu item identifier.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param label
|
2008-03-09 12:33:59 +00:00
|
|
|
Menu item label.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
@remarks Use only after the menubar has been associated with a frame.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see GetLabel()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
void SetLabel(int id, const wxString& label);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Sets the label of a top-level menu.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param pos
|
2008-03-09 12:33:59 +00:00
|
|
|
The position of a menu on the menu bar, starting from zero.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param label
|
2008-03-09 12:33:59 +00:00
|
|
|
The menu label.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
@remarks Use only after the menubar has been associated with a frame.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see GetLabelTop()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
void SetLabelTop(int pos, const wxString& label);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Sets the label of a top-level menu.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param pos
|
2008-03-09 12:33:59 +00:00
|
|
|
The position of a menu on the menu bar, starting from zero.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param label
|
2008-03-09 12:33:59 +00:00
|
|
|
The menu label.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
@remarks Use only after the menubar has been associated with a frame.
|
|
|
|
*/
|
|
|
|
void SetMenuLabel(int pos, const wxString& label);
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2008-03-10 15:24:38 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
/**
|
|
|
|
@class wxMenu
|
2008-03-08 14:43:31 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
A menu is a popup (or pull down) list of items, one of which may be
|
|
|
|
selected before the menu goes away (clicking elsewhere dismisses the
|
|
|
|
menu). Menus may be used to construct either menu bars or popup menus.
|
2008-03-08 14:43:31 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
A menu item has an integer ID associated with it which can be used to
|
|
|
|
identify the selection, or to change the menu item in some way. A menu item
|
|
|
|
with a special identifier -1 is a separator item and doesn't have an
|
|
|
|
associated command but just makes a separator line appear in the menu.
|
2008-03-08 14:43:31 +00:00
|
|
|
|
2008-03-28 16:19:12 +00:00
|
|
|
@note Please note that @e wxID_ABOUT and @e wxID_EXIT are
|
2008-03-08 13:52:38 +00:00
|
|
|
predefined by wxWidgets and have a special meaning since entries
|
|
|
|
using these IDs will be taken out of the normal menus under MacOS X
|
|
|
|
and will be inserted into the system menu (following the appropriate
|
|
|
|
MacOS X interface guideline). On PalmOS @e wxID_EXIT is disabled according
|
|
|
|
to Palm OS Companion guidelines.
|
2008-03-08 14:43:31 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
Menu items may be either normal items, check items or radio items. Normal items
|
|
|
|
don't have any special properties while the check items have a boolean flag
|
|
|
|
associated to them and they show a checkmark in the menu when the flag is set.
|
|
|
|
wxWidgets automatically toggles the flag value when the item is clicked and its
|
|
|
|
value may be retrieved using either wxMenu::IsChecked method
|
2008-03-08 14:43:31 +00:00
|
|
|
of wxMenu or wxMenuBar itself or by using
|
2008-03-08 13:52:38 +00:00
|
|
|
wxEvent::IsChecked when you get the menu
|
|
|
|
notification for the item in question.
|
2008-03-08 14:43:31 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
The radio items are similar to the check items except that all the other items
|
|
|
|
in the same radio group are unchecked when a radio item is checked. The radio
|
|
|
|
group is formed by a contiguous range of radio items, i.e. it starts at the
|
|
|
|
first item of this kind and ends with the first item of a different kind (or
|
|
|
|
the end of the menu). Notice that because the radio groups are defined in terms
|
|
|
|
of the item positions inserting or removing the items in the menu containing
|
|
|
|
the radio items risks to not work correctly. Finally note that radio items
|
|
|
|
are not supported under Motif.
|
2008-03-08 14:43:31 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
@library{wxcore}
|
|
|
|
@category{menus}
|
2008-03-08 14:43:31 +00:00
|
|
|
|
2008-06-11 00:03:20 +00:00
|
|
|
@see wxMenuBar, wxWindow::PopupMenu,
|
|
|
|
@ref overview_eventhandling "Event Handling Overview",
|
|
|
|
@ref wxFileHistory "wxFileHistory (most recently used files menu)"
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
class wxMenu : public wxEvtHandler
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
/**
|
|
|
|
Constructs a wxMenu object.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param style
|
2008-03-09 12:33:59 +00:00
|
|
|
If set to wxMENU_TEAROFF, the menu will be detachable (wxGTK only).
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-08 14:43:31 +00:00
|
|
|
wxMenu(long style);
|
2008-03-08 13:52:38 +00:00
|
|
|
|
2008-04-11 10:32:48 +00:00
|
|
|
/**
|
|
|
|
Constructs a wxMenu object with a title
|
|
|
|
|
|
|
|
@param title
|
|
|
|
Title at the top of the menu (not always supported).
|
|
|
|
@param style
|
|
|
|
If set to wxMENU_TEAROFF, the menu will be detachable (wxGTK only).
|
|
|
|
*/
|
|
|
|
wxMenu(const wxString& title = "", long style = 0);
|
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
/**
|
|
|
|
Destructor, destroying the menu.
|
|
|
|
Note: under Motif, a popup menu must have a valid parent (the window
|
|
|
|
it was last popped up on) when being destroyed. Therefore, make sure
|
|
|
|
you delete or re-use the popup menu @e before destroying the
|
|
|
|
parent window. Re-use in this context means popping up the menu on
|
|
|
|
a different window from last time, which causes an implicit destruction
|
|
|
|
and recreation of internal data structures.
|
|
|
|
*/
|
2008-09-27 11:21:10 +00:00
|
|
|
virtual ~wxMenu();
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
2008-04-11 10:32:48 +00:00
|
|
|
Adds a menu item.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param id
|
2008-03-09 12:33:59 +00:00
|
|
|
The menu command identifier.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param item
|
2008-03-09 12:33:59 +00:00
|
|
|
The string to appear on the menu item.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param helpString
|
2008-03-09 12:33:59 +00:00
|
|
|
An optional help string associated with the item.
|
|
|
|
By default, the handler for the wxEVT_MENU_HIGHLIGHT event displays
|
|
|
|
this string in the status line.
|
2008-06-11 00:03:20 +00:00
|
|
|
@param kind
|
|
|
|
May be wxITEM_SEPARATOR, wxITEM_NORMAL,
|
|
|
|
wxITEM_CHECK or wxITEM_RADIO
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see AppendSeparator(), AppendCheckItem(), AppendRadioItem(),
|
|
|
|
AppendSubMenu(), Insert(), SetLabel(),
|
|
|
|
GetHelpString(), SetHelpString(), wxMenuItem
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-06-11 00:03:20 +00:00
|
|
|
wxMenuItem* Append(int id, const wxString& item = wxEmptyString,
|
|
|
|
const wxString& helpString = wxEmptyString,
|
2008-03-08 13:52:38 +00:00
|
|
|
wxItemKind kind = wxITEM_NORMAL);
|
2008-04-11 10:32:48 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Adds a submenu.
|
|
|
|
|
2008-06-13 00:05:15 +00:00
|
|
|
@deprecated This function is deprecated, use AppendSubMenu() instead.
|
2008-06-11 00:03:20 +00:00
|
|
|
|
2008-04-11 10:32:48 +00:00
|
|
|
@param id
|
|
|
|
The menu command identifier.
|
|
|
|
@param item
|
|
|
|
The string to appear on the menu item.
|
2008-06-11 00:03:20 +00:00
|
|
|
@param subMenu
|
2008-04-11 10:32:48 +00:00
|
|
|
Pull-right submenu.
|
|
|
|
@param helpString
|
|
|
|
An optional help string associated with the item.
|
|
|
|
By default, the handler for the wxEVT_MENU_HIGHLIGHT event displays
|
|
|
|
this string in the status line.
|
|
|
|
|
|
|
|
@see AppendSeparator(), AppendCheckItem(), AppendRadioItem(),
|
|
|
|
AppendSubMenu(), Insert(), SetLabel(),
|
|
|
|
GetHelpString(), SetHelpString(), wxMenuItem
|
|
|
|
*/
|
2008-09-27 11:21:10 +00:00
|
|
|
wxMenuItem* Append(int id, const wxString& item, wxMenu* subMenu,
|
2008-06-11 00:03:20 +00:00
|
|
|
const wxString& helpString = wxEmptyString);
|
2008-04-11 10:32:48 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Adds a menu item object. This is the most generic variant of Append() method
|
|
|
|
because it may be used for both items (including separators) and submenus and
|
|
|
|
because you can also specify various extra properties of a menu item this way,
|
|
|
|
such as bitmaps and fonts.
|
|
|
|
|
|
|
|
@param menuItem
|
|
|
|
A menuitem object. It will be owned by the wxMenu object after this function
|
|
|
|
is called, so do not delete it yourself.
|
|
|
|
|
|
|
|
@see AppendSeparator(), AppendCheckItem(), AppendRadioItem(),
|
|
|
|
AppendSubMenu(), Insert(), SetLabel(),
|
|
|
|
GetHelpString(), SetHelpString(), wxMenuItem
|
|
|
|
*/
|
2008-03-08 14:43:31 +00:00
|
|
|
wxMenuItem* Append(wxMenuItem* menuItem);
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Adds a checkable item to the end of the menu.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see Append(), InsertCheckItem()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
wxMenuItem* AppendCheckItem(int id, const wxString& item,
|
|
|
|
const wxString& helpString = "");
|
|
|
|
|
|
|
|
/**
|
|
|
|
Adds a radio item to the end of the menu. All consequent radio items form a
|
|
|
|
group and when an item in the group is checked, all the others are
|
|
|
|
automatically unchecked.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see Append(), InsertRadioItem()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
wxMenuItem* AppendRadioItem(int id, const wxString& item,
|
|
|
|
const wxString& helpString = "");
|
|
|
|
|
|
|
|
/**
|
|
|
|
Adds a separator to the end of the menu.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see Append(), InsertSeparator()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
wxMenuItem* AppendSeparator();
|
|
|
|
|
|
|
|
/**
|
2008-03-09 12:33:59 +00:00
|
|
|
Adds the given @a submenu to this menu. @a text is the text shown in the
|
|
|
|
menu for it and @a help is the help string shown in the status bar when the
|
2008-03-08 13:52:38 +00:00
|
|
|
submenu item is selected.
|
|
|
|
*/
|
2008-03-09 12:33:59 +00:00
|
|
|
wxMenuItem* AppendSubMenu(wxMenu* submenu, const wxString& text,
|
|
|
|
const wxString& help = wxEmptyString);
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Inserts a break in a menu, causing the next appended item to appear in a new
|
|
|
|
column.
|
|
|
|
*/
|
2008-09-27 11:21:10 +00:00
|
|
|
virtual void Break();
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Checks or unchecks the menu item.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param id
|
2008-03-09 12:33:59 +00:00
|
|
|
The menu item identifier.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param check
|
2008-03-09 12:33:59 +00:00
|
|
|
If @true, the item will be checked, otherwise it will be unchecked.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see IsChecked()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
void Check(int id, const bool check);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Deletes the menu item from the menu. If the item is a submenu, it will
|
2008-04-11 10:32:48 +00:00
|
|
|
@b not be deleted. Use Destroy() if you want to delete a submenu.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param id
|
2008-03-09 12:33:59 +00:00
|
|
|
Id of the menu item to be deleted.
|
2008-04-11 10:32:48 +00:00
|
|
|
|
|
|
|
@see FindItem(), Destroy(), Remove()
|
|
|
|
*/
|
|
|
|
void Delete(int id);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Deletes the menu item from the menu. If the item is a submenu, it will
|
|
|
|
@b not be deleted. Use Destroy() if you want to delete a submenu.
|
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param item
|
2008-03-09 12:33:59 +00:00
|
|
|
Menu item to be deleted.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see FindItem(), Destroy(), Remove()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-09 12:33:59 +00:00
|
|
|
void Delete(wxMenuItem* item);
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Deletes the menu item from the menu. If the item is a submenu, it will
|
2008-04-11 10:32:48 +00:00
|
|
|
be deleted. Use Remove() if you want to keep the submenu (for example,
|
|
|
|
to reuse it later).
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param id
|
2008-03-09 12:33:59 +00:00
|
|
|
Id of the menu item to be deleted.
|
2008-04-11 10:32:48 +00:00
|
|
|
|
|
|
|
@see FindItem(), Deletes(), Remove()
|
|
|
|
*/
|
|
|
|
void Destroy(int id);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Deletes the menu item from the menu. If the item is a submenu, it will
|
|
|
|
be deleted. Use Remove() if you want to keep the submenu (for example,
|
|
|
|
to reuse it later).
|
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param item
|
2008-03-09 12:33:59 +00:00
|
|
|
Menu item to be deleted.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see FindItem(), Deletes(), Remove()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-09 12:33:59 +00:00
|
|
|
void Destroy(wxMenuItem* item);
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Enables or disables (greys out) a menu item.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param id
|
2008-03-09 12:33:59 +00:00
|
|
|
The menu item identifier.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param enable
|
2008-03-09 12:33:59 +00:00
|
|
|
@true to enable the menu item, @false to disable it.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see IsEnabled()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
void Enable(int id, const bool enable);
|
|
|
|
|
|
|
|
/**
|
2008-04-11 10:32:48 +00:00
|
|
|
Finds the menu id for a menu item string.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param itemString
|
2008-03-09 12:33:59 +00:00
|
|
|
Menu item string to find.
|
2008-04-11 10:32:48 +00:00
|
|
|
|
2008-05-11 01:38:53 +00:00
|
|
|
@return Menu item identifier, or wxNOT_FOUND if none is found.
|
2008-04-11 10:32:48 +00:00
|
|
|
|
|
|
|
@remarks Any special menu codes are stripped out of source and target
|
|
|
|
strings before matching.
|
|
|
|
*/
|
2008-09-27 11:21:10 +00:00
|
|
|
virtual int FindItem(const wxString& itemString) const;
|
2008-04-11 10:32:48 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Finds the menu item object associated with the given menu item identifier and,
|
|
|
|
optionally, the (sub)menu it belongs to.
|
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param id
|
2008-03-09 12:33:59 +00:00
|
|
|
Menu item identifier.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param menu
|
2008-03-09 12:33:59 +00:00
|
|
|
If the pointer is not @NULL, it will be filled with the item's
|
|
|
|
parent menu (if the item was found)
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-05-11 01:38:53 +00:00
|
|
|
@return Menu item object or NULL if none is found.
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
const wxMenuItem * FindItem(int id, wxMenu** menu = NULL) const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Returns the wxMenuItem given a position in the menu.
|
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
wxMenuItem* FindItemByPosition(size_t position) const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Returns the help string associated with a menu item.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param id
|
2008-03-09 12:33:59 +00:00
|
|
|
The menu item identifier.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-05-11 01:38:53 +00:00
|
|
|
@return The help string, or the empty string if there is no help string
|
|
|
|
or the item was not found.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see SetHelpString(), Append()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-09-27 11:21:10 +00:00
|
|
|
virtual wxString GetHelpString(int id) const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Returns a menu item label.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param id
|
2008-03-09 12:33:59 +00:00
|
|
|
The menu item identifier.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-05-11 01:38:53 +00:00
|
|
|
@return The item label, or the empty string if the item was not found.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see GetLabelText(), SetLabel()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
wxString GetLabel(int id) const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Returns a menu item label, without any of the original mnemonics and
|
|
|
|
accelerators.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param id
|
2008-03-09 12:33:59 +00:00
|
|
|
The menu item identifier.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-05-11 01:38:53 +00:00
|
|
|
@return The item label, or the empty string if the item was not found.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see GetLabel(), SetLabel()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
wxString GetLabelText(int id) const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Returns the number of items in the menu.
|
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
size_t GetMenuItemCount() const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Returns the list of items in the menu. wxMenuItemList is a pseudo-template
|
|
|
|
list class containing wxMenuItem pointers, see wxList.
|
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
wxMenuItemList GetMenuItems() const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Returns the title of the menu.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@remarks This is relevant only to popup menus, use
|
2008-03-09 12:33:59 +00:00
|
|
|
wxMenuBar::GetMenuLabel for the menus in the menubar.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see SetTitle()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
wxString GetTitle() const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
2008-03-09 12:33:59 +00:00
|
|
|
Inserts the given @a item before the position @e pos. Inserting the item
|
2008-03-08 13:52:38 +00:00
|
|
|
at position GetMenuItemCount() is the same
|
|
|
|
as appending it.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see Append(), Prepend()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-09 12:33:59 +00:00
|
|
|
wxMenuItem* Insert(size_t pos, wxMenuItem* item);
|
2008-04-11 10:32:48 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Inserts the given @a item before the position @e pos. Inserting the item
|
|
|
|
at position GetMenuItemCount() is the same
|
|
|
|
as appending it.
|
|
|
|
|
|
|
|
@see Append(), Prepend()
|
|
|
|
*/
|
2008-03-08 14:43:31 +00:00
|
|
|
wxMenuItem* Insert(size_t pos, int id,
|
|
|
|
const wxString& item = "",
|
|
|
|
const wxString& helpString = "",
|
|
|
|
wxItemKind kind = wxITEM_NORMAL);
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Inserts a checkable item at the given position.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see Insert(), AppendCheckItem()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
wxMenuItem* InsertCheckItem(size_t pos, int id,
|
|
|
|
const wxString& item,
|
|
|
|
const wxString& helpString = "");
|
|
|
|
|
|
|
|
/**
|
|
|
|
Inserts a radio item at the given position.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see Insert(), AppendRadioItem()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
wxMenuItem* InsertRadioItem(size_t pos, int id,
|
|
|
|
const wxString& item,
|
|
|
|
const wxString& helpString = "");
|
|
|
|
|
|
|
|
/**
|
|
|
|
Inserts a separator at the given position.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see Insert(), AppendSeparator()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
wxMenuItem* InsertSeparator(size_t pos);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Determines whether a menu item is checked.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param id
|
2008-03-09 12:33:59 +00:00
|
|
|
The menu item identifier.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-05-11 01:38:53 +00:00
|
|
|
@return @true if the menu item is checked, @false otherwise.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see Check()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
bool IsChecked(int id) const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Determines whether a menu item is enabled.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param id
|
2008-03-09 12:33:59 +00:00
|
|
|
The menu item identifier.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-05-11 01:38:53 +00:00
|
|
|
@return @true if the menu item is enabled, @false otherwise.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see Enable()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
bool IsEnabled(int id) const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
2008-03-09 12:33:59 +00:00
|
|
|
Inserts the given @a item at position 0, i.e. before all the other
|
2008-03-08 13:52:38 +00:00
|
|
|
existing items.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see Append(), Insert()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-09 12:33:59 +00:00
|
|
|
wxMenuItem* Prepend(wxMenuItem* item);
|
2008-04-11 10:32:48 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Inserts the given @a item at position 0, i.e. before all the other
|
|
|
|
existing items.
|
|
|
|
|
|
|
|
@see Append(), Insert()
|
|
|
|
*/
|
2008-03-08 14:43:31 +00:00
|
|
|
wxMenuItem* Prepend(int id, const wxString& item = "",
|
|
|
|
const wxString& helpString = "",
|
|
|
|
wxItemKind kind = wxITEM_NORMAL);
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Inserts a checkable item at position 0.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see Prepend(), AppendCheckItem()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
wxMenuItem* PrependCheckItem(int id, const wxString& item,
|
|
|
|
const wxString& helpString = "");
|
|
|
|
|
|
|
|
/**
|
|
|
|
Inserts a radio item at position 0.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see Prepend(), AppendRadioItem()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
wxMenuItem* PrependRadioItem(int id, const wxString& item,
|
|
|
|
const wxString& helpString = "");
|
|
|
|
|
|
|
|
/**
|
|
|
|
Inserts a separator at position 0.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see Prepend(), AppendSeparator()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
wxMenuItem* PrependSeparator();
|
|
|
|
|
|
|
|
/**
|
|
|
|
Removes the menu item from the menu but doesn't delete the associated C++
|
2008-06-13 00:05:15 +00:00
|
|
|
object. This allows you to reuse the same item later by adding it back to the menu
|
2008-03-08 13:52:38 +00:00
|
|
|
(especially useful with submenus).
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param id
|
2008-03-09 12:33:59 +00:00
|
|
|
The identifier of the menu item to remove.
|
2008-04-11 10:32:48 +00:00
|
|
|
|
2008-06-13 00:05:15 +00:00
|
|
|
@return A pointer to the item which was detached from the menu.
|
2008-04-11 10:32:48 +00:00
|
|
|
*/
|
|
|
|
wxMenuItem* Remove(int id);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Removes the menu item from the menu but doesn't delete the associated C++
|
2008-06-13 00:05:15 +00:00
|
|
|
object. This allows you to reuse the same item later by adding it back to the menu
|
2008-04-11 10:32:48 +00:00
|
|
|
(especially useful with submenus).
|
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param item
|
2008-03-09 12:33:59 +00:00
|
|
|
The menu item to remove.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-06-13 00:05:15 +00:00
|
|
|
@return A pointer to the item which was detached from the menu.
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-09 12:33:59 +00:00
|
|
|
wxMenuItem* Remove(wxMenuItem* item);
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Sets an item's help string.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param id
|
2008-03-09 12:33:59 +00:00
|
|
|
The menu item identifier.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param helpString
|
2008-03-09 12:33:59 +00:00
|
|
|
The help string to set.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see GetHelpString()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-09-27 11:21:10 +00:00
|
|
|
virtual void SetHelpString(int id, const wxString& helpString);
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Sets the label of a menu item.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param id
|
2008-03-09 12:33:59 +00:00
|
|
|
The menu item identifier.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param label
|
2008-03-09 12:33:59 +00:00
|
|
|
The menu item label to set.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see Append(), GetLabel()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
void SetLabel(int id, const wxString& label);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Sets the title of the menu.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param title
|
2008-03-09 12:33:59 +00:00
|
|
|
The title to set.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@remarks This is relevant only to popup menus, use
|
2008-03-09 12:33:59 +00:00
|
|
|
wxMenuBar::SetLabelTop for the menus in the menubar.
|
2008-03-20 13:45:17 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see GetTitle()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-09-27 11:21:10 +00:00
|
|
|
virtual void SetTitle(const wxString& title);
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
2008-03-09 12:33:59 +00:00
|
|
|
Sends events to @a source (or owning window if @NULL) to update the
|
2008-03-08 13:52:38 +00:00
|
|
|
menu UI. This is called just before the menu is popped up with
|
|
|
|
wxWindow::PopupMenu, but
|
|
|
|
the application may call it at other times if required.
|
|
|
|
*/
|
2008-09-27 11:21:10 +00:00
|
|
|
void UpdateUI(wxEvtHandler* source = NULL);
|
2008-03-08 13:52:38 +00:00
|
|
|
};
|
2008-03-10 15:24:38 +00:00
|
|
|
|