X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a660d684eda27638bca0384b2058911a31c8e845..c63312c472c83be6d3b935f0ceeef484a7d611ce:/docs/latex/wx/menuitem.tex diff --git a/docs/latex/wx/menuitem.tex b/docs/latex/wx/menuitem.tex index 35204ef6cf..d5cc838779 100644 --- a/docs/latex/wx/menuitem.tex +++ b/docs/latex/wx/menuitem.tex @@ -1,186 +1,350 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% 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)\\ +% add wxOwnerDrawn once it is documented \helpref{wxObject}{wxobject} +\wxheading{Include files} + + + \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. +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{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} +Note that this only works when the item is already appended to a menu. -\func{void}{DeleteSubMenu}{\void} - -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). -