+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Name: menuitem.tex
+%% Purpose: wxMenuItem documentation
+%% Author: wxWidgets Team
+%% Modified by:
+%% Created:
+%% RCS-ID: $Id$
+%% Copyright: (c) wxWidgets Team
+%% License: wxWindows license
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
\section{\class{wxMenuItem}}\label{wxmenuitem}
-A menu item represents an item in a popup menu. Note that the majority of this
-class is only implemented under Windows so far, but everything except fonts, colours and
-bitmaps can be achieved via wxMenu on all platforms.
+A menu item represents an item in a menu. Note that you usually don't have to
+deal with it directly as \helpref{wxMenu}{wxmenu} methods usually construct an
+object of this class for you.
+
+Also please note that the methods related to fonts and bitmaps are currently
+only implemented for Windows and GTK+.
\wxheading{Derived from}
wxOwnerDrawn (Windows only)\\
\helpref{wxObject}{wxobject}
+\wxheading{Include files}
+
+<wx/menuitem.h>
+
\wxheading{See also}
-\helpref{wxMenuBar}{wxmenubar}, \helpref{wxMenu}{wxmenu}, \helpref{wxOwnerDrawn}{wxownerdrawn}
+\helpref{wxMenuBar}{wxmenubar}, \helpref{wxMenu}{wxmenu}
\latexignore{\rtfignore{\wxheading{Members}}}
-\membersection{wxMenuItem::wxMenuItem}\label{wxmenuitemconstr}
-\func{}{wxMenuItem}{\param{wxMenu*}{ parentMenu = NULL}, \param{int}{ id = ID\_SEPARATOR},
+\membersection{wxMenuItem::wxMenuItem}\label{wxmenuitemctor}
+
+\func{}{wxMenuItem}{\param{wxMenu*}{ parentMenu = NULL}, \param{int}{ id = wxID\_SEPARATOR},
\param{const wxString\& }{text = ""}, \param{const wxString\& }{helpString = ""},
- \param{bool }{checkable = FALSE}, \param{wxMenu*}{ subMenu = NULL}, }
+ \param{wxItemKind }{kind = wxITEM\_NORMAL}, \param{wxMenu*}{ subMenu = NULL}}
Constructs a wxMenuItem object.
\docparam{parentMenu}{Menu that the menu item belongs to.}
-\docparam{id}{Identifier for this menu item, or ID\_SEPARATOR to indicate a separator.}
+\docparam{id}{Identifier for this menu item, or wxID\_SEPARATOR to indicate a separator.}
-\docparam{text}{Text for the menu item, as shown on the menu.}
+\docparam{text}{Text for the menu item, as shown on the menu. An accelerator
+key can be specified using the ampersand '\&' character. In order to embed an
+ampersand character in the menu item text, the ampersand must be doubled.}
\docparam{helpString}{Optional help string that will be shown on the status bar.}
-\docparam{checkable}{TRUE if this menu item is checkable.}
+\docparam{kind}{May be {\tt wxITEM\_SEPARATOR}, {\tt wxITEM\_NORMAL},
+{\tt wxITEM\_CHECK} or {\tt wxITEM\_RADIO}}
\docparam{subMenu}{If non-NULL, indicates that the menu item is a submenu.}
-\membersection{wxMenuItem::\destruct{wxMenuItem}}
+
+\membersection{wxMenuItem::\destruct{wxMenuItem}}\label{wxmenuitemdtor}
\func{}{\destruct{wxMenuItem}}{\void}
Destructor.
+
\membersection{wxMenuItem::Check}\label{wxmenuitemcheck}
-\func{void}{Check}{\param{bool}{ check}}
+\func{void}{Check}{\param{bool}{ check = true}}
Checks or unchecks the menu item.
-\membersection{wxMenuItem::DeleteSubMenu}\label{wxmenuitemdeletesubmenu}
-
-\func{void}{DeleteSubMenu}{\void}
+Note that this only works when the item is already appended to a menu.
-Deletes the submenu, if any.
\membersection{wxMenuItem::Enable}\label{wxmenuitemenable}
-\func{void}{Enable}{\param{bool}{ enable}}
+\func{void}{Enable}{\param{bool}{ enable = true}}
Enables or disables the menu item.
+
\membersection{wxMenuItem::GetBackgroundColour}\label{wxmenuitemgetbackgroundcolour}
\constfunc{wxColour\&}{GetBackgroundColour}{\void}
Returns the background colour associated with the menu item (Windows only).
+
\membersection{wxMenuItem::GetBitmap}\label{wxmenuitemgetbitmap}
-\constfunc{wxBitmap\&}{GetBitmap}{\param{bool}{ checked = TRUE}}
+\constfunc{wxBitmap\&}{GetBitmap}{\param{bool}{ checked = true}}
Returns the checked or unchecked bitmap (Windows only).
+
\membersection{wxMenuItem::GetFont}\label{wxmenuitemgetfont}
\constfunc{wxFont\&}{GetFont}{\void}
Returns the font associated with the menu item (Windows only).
+
\membersection{wxMenuItem::GetHelp}\label{wxmenuitemgethelp}
\constfunc{wxString}{GetHelp}{\void}
Returns the help string associated with the menu item.
+
\membersection{wxMenuItem::GetId}\label{wxmenuitemgetid}
\constfunc{int}{GetId}{\void}
Returns the menu item identifier.
+
+\membersection{wxMenuItem::GetKind}\label{wxmenuitemgetkind}
+
+\constfunc{wxItemKind}{GetKind}{\void}
+
+Returns the item kind, one of {\tt wxITEM\_SEPARATOR}, {\tt wxITEM\_NORMAL},
+{\tt wxITEM\_CHECK} or {\tt wxITEM\_RADIO}.
+
+
+\membersection{wxMenuItem::GetLabel}\label{wxmenuitemgetlabel}
+
+\constfunc{wxString}{GetLabel}{\void}
+
+Returns the text associated with the menu item without any accelerator
+characters it might contain.
+
+\wxheading{See also}
+
+\helpref{GetText}{wxmenuitemgettext},
+\helpref{GetLabelFromText}{wxmenuitemgetlabelfromtext}
+
+
+\membersection{wxMenuItem::GetLabelFromText}\label{wxmenuitemgetlabelfromtext}
+
+\func{static wxString}{GetLabelFromText}{\param{const wxString\& }{text}}
+
+Strips all accelerator characters and mnemonics from the given {\it text}.
+For example,
+
+\begin{verbatim}
+wxMenuItem::GetLabelFromText("&Hello\tCtrl-H");
+\end{verbatim}
+
+will return just {\tt "Hello"}.
+
+\wxheading{See also}
+
+\helpref{GetText}{wxmenuitemgettext},
+\helpref{GetLabel}{wxmenuitemgetlabel}
+
+
\membersection{wxMenuItem::GetMarginWidth}\label{wxmenuitemgetmarginwidth}
\constfunc{int}{GetMarginWidth}{\void}
Gets the width of the menu item checkmark bitmap (Windows only).
+
+\membersection{wxMenuItem::GetMenu}\label{wxmenuitemgetmenu}
+
+\constfunc{wxMenu*}{GetMenu}{\void}
+
+Returns the menu this menu item is in, or NULL if this menu item is not attached.
+
+
\membersection{wxMenuItem::GetName}\label{wxmenuitemgetname}
\constfunc{wxString}{GetName}{\void}
Returns the text associated with the menu item.
+{\bf NB:} this function is deprecated, please use
+\helpref{GetText}{wxmenuitemgettext} or \helpref{GetLabel}{wxmenuitemgetlabel}
+instead.
+
+
+\membersection{wxMenuItem::GetText}\label{wxmenuitemgettext}
+
+\constfunc{wxString}{GetText}{\void}
+
+Returns the text associated with the menu item, such as it was passed to the
+wxMenuItem constructor, i.e. with any accelerator characters it may contain.
+
+\wxheading{See also}
+
+\helpref{GetLabel}{wxmenuitemgetlabel},
+\helpref{GetLabelFromText}{wxmenuitemgetlabelfromtext}
+
+
\membersection{wxMenuItem::GetSubMenu}\label{wxmenuitemgetsubmenu}
\constfunc{wxMenu*}{GetSubMenu}{\void}
Returns the submenu associated with the menu item, or NULL if there isn't one.
+
\membersection{wxMenuItem::GetTextColour}\label{wxmenuitemgettextcolour}
\constfunc{wxColour\&}{GetTextColour}{\void}
Returns the text colour associated with the menu item (Windows only).
+
\membersection{wxMenuItem::IsCheckable}\label{wxmenuitemischeckable}
\constfunc{bool}{IsCheckable}{\void}
-Returns TRUE if the item is checkable.
+Returns true if the item is checkable.
+
\membersection{wxMenuItem::IsChecked}\label{wxmenuitemischecked}
\constfunc{bool}{IsChecked}{\void}
-Returns TRUE if the item is checked.
+Returns true if the item is checked.
+
\membersection{wxMenuItem::IsEnabled}\label{wxmenuitemisenabled}
\constfunc{bool}{IsEnabled}{\void}
-Returns TRUE if the item is enabled.
+Returns true if the item is enabled.
+
\membersection{wxMenuItem::IsSeparator}\label{wxmenuitemisseparator}
\constfunc{bool}{IsSeparator}{\void}
-Returns TRUE if the item is a separator.
+Returns true if the item is a separator.
+
+
+\membersection{wxMenuItem::IsSubMenu}\label{wxmenuitemissubmenu}
+
+\constfunc{bool}{IsSubMenu}{\void}
+
+Returns true if the item is a submenu.
+
\membersection{wxMenuItem::SetBackgroundColour}\label{wxmenuitemsetbackgroundcolour}
-\constfunc{void}{SetBackgroundColour}{\param{const wxColour& }{colour}}
+\constfunc{void}{SetBackgroundColour}{\param{const wxColour\& }{colour}}
Sets the background colour associated with the menu item (Windows only).
+
+\membersection{wxMenuItem::SetBitmap}\label{wxmenuitemsetbitmap}
+
+\func{void}{SetBitmap}{\param{const wxBitmap\& }{bmp}}
+
+Sets the bitmap for the menu item (Windows and GTK+ only). It is
+equivalent to \helpref{SetBitmaps}{wxmenuitemsetbitmaps}(bmp, wxNullBitmap).
+
+
\membersection{wxMenuItem::SetBitmaps}\label{wxmenuitemsetbitmaps}
-\constfunc{void}{SetBitmaps}{\param{const wxBitmap& }{checked},
- \param{const wxBitmap& }{unchecked = wxNullBitmap}}
+\func{void}{SetBitmaps}{\param{const wxBitmap\& }{checked},
+ \param{const wxBitmap\& }{unchecked = wxNullBitmap}}
Sets the checked/unchecked bitmaps for the menu item (Windows only). The first bitmap
is also used as the single bitmap for uncheckable menu items.
+
\membersection{wxMenuItem::SetFont}\label{wxmenuitemsetfont}
-\constfunc{void}{SetFont}{\param{const wxFont& }{font}}
+\func{void}{SetFont}{\param{const wxFont\& }{font}}
Sets the font associated with the menu item (Windows only).
+
\membersection{wxMenuItem::SetHelp}\label{wxmenuitemsethelp}
-\constfunc{void}{SetHelp}{\param{const wxString& }{helpString}}
+\func{void}{SetHelp}{\param{const wxString\& }{helpString}}
Sets the help string.
+
\membersection{wxMenuItem::SetMarginWidth}\label{wxmenuitemsetmarginwidth}
\constfunc{void}{SetMarginWidth}{\param{int}{ width}}
Sets the width of the menu item checkmark bitmap (Windows only).
-\membersection{wxMenuItem::SetName}\label{wxmenuitemsetname}
-\constfunc{void}{SetName}{\param{const wxString& }{text}}
+\membersection{wxMenuItem::SetMenu}\label{wxmenuitemsetmenu}
+
+\func{void}{SetMenu}{\param{const wxMenu*}{menu}}
+
+Sets the parent menu which will contain this menu item.
+
+
+\membersection{wxMenuItem::SetSubMenu}\label{wxmenuitemsetsubmenu}
+
+\func{void}{SetSubMenu}{\param{const wxMenu*}{menu}}
+
+Sets the submenu of this menu item.
+
+
+\membersection{wxMenuItem::SetText}\label{wxmenuitemsettext}
+
+\func{void}{SetText}{\param{const wxString\& }{text}}
Sets the text associated with the menu item.
+
\membersection{wxMenuItem::SetTextColour}\label{wxmenuitemsettextcolour}
-\constfunc{void}{SetTextColour}{\param{const wxColour& }{colour}}
+\func{void}{SetTextColour}{\param{const wxColour\& }{colour}}
Sets the text colour associated with the menu item (Windows only).
-