+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% 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 menu. Note that you usually don't have to
object of this class for you.
Also please note that the methods related to fonts and bitmaps are currently
-only implemented for Windows.
+only implemented for Windows and GTK+.
\wxheading{Derived from}
-wxOwnerDrawn (Windows only)\\
+% add wxOwnerDrawn once it is documented
\helpref{wxObject}{wxobject}
\wxheading{Include files}
\latexignore{\rtfignore{\wxheading{Members}}}
-\membersection{wxMenuItem::wxMenuItem}\label{wxmenuitemconstr}
+\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{wxItemKind }{kind = wxITEM\_NORMAL}, \param{wxMenu*}{ subMenu = NULL}, }
+ \param{wxItemKind }{kind = wxITEM\_NORMAL}, \param{wxMenu*}{ subMenu = NULL}}
Constructs a wxMenuItem object.
+Menu items can be standard, or ``stock menu items'', or custom. For the
+standard menu items (such as commands to open a file, exit the program and so
+on, see \helpref{stock items}{stockitems} for the full list) it is enough to
+specify just the stock ID and leave \arg{text} and \arg{helpString} empty. In
+fact, leaving at least \arg{text} empty for the stock menu items is strongly
+recommended as they will have appearance and keyboard interface (including
+standard accelerators) familiar to the user.
+
+For the custom (non-stock) menu items, \arg{text} must be specified and while
+\arg{helpString} may be left empty, it's recommended to pass the item
+description (which is automatically shown by the library in the status bar when
+the menu item is selected) in this parameter.
+
+Finally note that you can e.g. use a stock menu label without using its stock
+help string:
+
+\begin{verbatim}
+// use all stock properties:
+helpMenu->Append(wxID_ABOUT);
+
+// use the stock label and the stock accelerator but not the stock help string:
+helpMenu->Append(wxID_ABOUT, wxEmptyString, wxT("My custom help string"));
+
+// use all stock properties except for the bitmap:
+wxMenuItem *mymenu = new wxMenuItem(helpMenu, wxID_ABOUT);
+mymenu->SetBitmap(wxArtProvider::GetBitmap(wxART_WARNING));
+helpMenu->Append(mymenu);
+\end{verbatim}
+
+that is, stock properties are set independently one from the other.
+
\wxheading{Parameters}
\docparam{parentMenu}{Menu that the menu item belongs to.}
\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}
\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::Enable}\label{wxmenuitemenable}
-\func{void}{Enable}{\param{bool}{ enable}}
+\func{void}{Enable}{\param{bool}{ enable = true}}
Enables or disables the menu item.
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 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}}
\membersection{wxMenuItem::SetBitmap}\label{wxmenuitemsetbitmap}
-\constfunc{void}{SetBitmap}{\param{const wxBitmap\& }{bmp}}
+\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},
+\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
\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.
Sets the width of the menu item checkmark bitmap (Windows only).
+\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}
-\constfunc{void}{SetText}{\param{const wxString\& }{text}}
+\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).