]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/menu.tex
don't make read-only text controls editable when enabled
[wxWidgets.git] / docs / latex / wx / menu.tex
index 6e0f65b9a97369f13a26eb100867751862468044..c4882893b7f3b0041dc2dae19e63bb3ae7f5e3ac 100644 (file)
@@ -73,19 +73,19 @@ With a popup menu, there is a variety of ways to handle a menu selection event
 \item Set a new event handler for wxMenu, using an object whose class has EVT\_MENU entries.
 \item Provide EVT\_MENU handlers in the window which pops up the menu, or in an ancestor of
 this window.
-\item Define a callback of type wxFunction, which you pass to the wxMenu constructor.
-The callback takes a reference to the menu, and a reference to a
-\helpref{wxCommandEvent}{wxcommandevent}. This method is deprecated and should
-not be used in the new code, it is provided for backwards compatibility only.
 \end{enumerate}
 
 \wxheading{See also}
 
 \helpref{wxMenuBar}{wxmenubar}, \helpref{wxWindow::PopupMenu}{wxwindowpopupmenu},\rtfsp
-\helpref{Event handling overview}{eventhandlingoverview}
+\helpref{Event handling overview}{eventhandlingoverview},\rtfsp
+\helpref{wxFileHistory (most recently used files menu)}{wxfilehistory}
+
+
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
+
 \membersection{wxMenu::wxMenu}\label{wxmenuctor}
 
 \func{}{wxMenu}{\param{const wxString\& }{title = ""}, \param{long}{ style = 0}}
@@ -106,6 +106,7 @@ Constructs a wxMenu object.
 
 \docparam{style}{If set to {\tt wxMENU\_TEAROFF}, the menu will be detachable (wxGTK only).}
 
+
 \membersection{wxMenu::\destruct{wxMenu}}\label{wxmenudtor}
 
 \func{}{\destruct{wxMenu}}{\void}
@@ -119,9 +120,10 @@ 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.
 
+
 \membersection{wxMenu::Append}\label{wxmenuappend}
 
-\func{wxMenuItem*}{Append}{\param{int}{ id}, \param{const wxString\& }{ item}, \param{const wxString\& }{helpString = ""},\rtfsp
+\func{wxMenuItem*}{Append}{\param{int}{ id}, \param{const wxString\& }{ item = ""}, \param{const wxString\& }{helpString = ""},\rtfsp
 \param{wxItemKind}{ kind = wxITEM\_NORMAL}}
 
 Adds a string item to the end of the menu.
@@ -195,6 +197,7 @@ characters listed in the table below (again, case doesn't matter):
 \helpref{wxMenu::AppendSeparator}{wxmenuappendseparator},\rtfsp
 \helpref{wxMenu::AppendCheckItem}{wxmenuappendcheckitem},\rtfsp
 \helpref{wxMenu::AppendRadioItem}{wxmenuappendradioitem},\rtfsp
+\helpref{wxMenu::AppendSubMenu}{wxmenuappendsubmenu},\rtfsp
 \helpref{wxMenu::Insert}{wxmenuinsert},\rtfsp
 \helpref{wxMenu::SetLabel}{wxmenusetlabel}, \helpref{wxMenu::GetHelpString}{wxmenugethelpstring},\rtfsp
 \helpref{wxMenu::SetHelpString}{wxmenusethelpstring}, \helpref{wxMenuItem}{wxmenuitem}
@@ -209,6 +212,7 @@ implements the following methods:
 \end{twocollist}}
 }
 
+
 \membersection{wxMenu::AppendCheckItem}\label{wxmenuappendcheckitem}
 
 \func{wxMenuItem*}{AppendCheckItem}{\param{int}{ id},\rtfsp
@@ -221,6 +225,7 @@ Adds a checkable item to the end of the menu.
 \helpref{wxMenu::Append}{wxmenuappend},\rtfsp
 \helpref{wxMenu::InsertCheckItem}{wxmenuinsertcheckitem}
 
+
 \membersection{wxMenu::AppendRadioItem}\label{wxmenuappendradioitem}
 
 \func{wxMenuItem*}{AppendRadioItem}{\param{int}{ id},\rtfsp
@@ -230,14 +235,12 @@ 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.
 
-{\bf NB:} Currently only implemented under Windows and GTK, use
-{\tt\#if wxHAS\_RADIO\_MENU\_ITEMS} to test for availability of this feature.
-
 \wxheading{See also}
 
 \helpref{wxMenu::Append}{wxmenuappend},\rtfsp
 \helpref{wxMenu::InsertRadioItem}{wxmenuinsertradioitem}
 
+
 \membersection{wxMenu::AppendSeparator}\label{wxmenuappendseparator}
 
 \func{wxMenuItem*}{AppendSeparator}{\void}
@@ -249,12 +252,23 @@ Adds a separator to the end of the menu.
 \helpref{wxMenu::Append}{wxmenuappend},\rtfsp
 \helpref{wxMenu::InsertSeparator}{wxmenuinsertseparator}
 
+
+\membersection{wxMenu::AppendSubMenu}\label{wxmenuappendsubmenu}
+
+\func{wxMenuItem *}{AppendSubMenu}{\param{wxMenu *}{submenu}, \param{const wxString\& }{text}, \param{const wxString\& }{help = wxEmptyString}}
+
+Adds the given \arg{submenu} to this menu. \arg{text} is the text shown in the
+menu for it and \arg{help} is the help string shown in the status bar when the
+submenu item is selected.
+
+
 \membersection{wxMenu::Break}\label{wxmenubreak}
 
 \func{void}{Break}{\void}
 
 Inserts a break in a menu, causing the next appended item to appear in a new column.
 
+
 \membersection{wxMenu::Check}\label{wxmenucheck}
 
 \func{void}{Check}{\param{int}{ id}, \param{const bool}{ check}}
@@ -271,6 +285,7 @@ Checks or unchecks the menu item.
 
 \helpref{wxMenu::IsChecked}{wxmenuischecked}
 
+
 \membersection{wxMenu::Delete}\label{wxmenudelete}
 
 \func{void}{Delete}{\param{int }{id}}
@@ -293,6 +308,7 @@ delete a submenu.
 \helpref{wxMenu::Destroy}{wxmenudestroy},\rtfsp
 \helpref{wxMenu::Remove}{wxmenuremove}
 
+
 \membersection{wxMenu::Destroy}\label{wxmenudestroy}
 
 \func{void}{Destroy}{\param{int }{id}}
@@ -315,6 +331,7 @@ be deleted. Use \helpref{Remove}{wxmenuremove} if you want to keep the submenu
 \helpref{wxMenu::Deletes}{wxmenudelete},\rtfsp
 \helpref{wxMenu::Remove}{wxmenuremove}
 
+
 \membersection{wxMenu::Enable}\label{wxmenuenable}
 
 \func{void}{Enable}{\param{int}{ id}, \param{const bool}{ enable}}
@@ -331,6 +348,7 @@ Enables or disables (greys out) a menu item.
 
 \helpref{wxMenu::IsEnabled}{wxmenuisenabled}
 
+
 \membersection{wxMenu::FindItem}\label{wxmenufinditem}
 
 \constfunc{int}{FindItem}{\param{const wxString\& }{itemString}}
@@ -369,12 +387,14 @@ before matching.
 \pythonnote{The name of this method in wxPython is {\tt FindItemById} 
 and it does not support the second parameter.}
 
+
 \membersection{wxMenu::FindItemByPosition}\label{wxmenufinditembyposition}
 
 \constfunc{wxMenuItem*}{FindItemByPosition}{\param{size\_t }{position}}
 
 Returns the wxMenuItem given a position in the menu.
 
+
 \membersection{wxMenu::GetHelpString}\label{wxmenugethelpstring}
 
 \constfunc{wxString}{GetHelpString}{\param{int}{ id}}
@@ -394,6 +414,7 @@ item was not found.
 
 \helpref{wxMenu::SetHelpString}{wxmenusethelpstring}, \helpref{wxMenu::Append}{wxmenuappend}
 
+
 \membersection{wxMenu::GetLabel}\label{wxmenugetlabel}
 
 \constfunc{wxString}{GetLabel}{\param{int}{ id}}
@@ -412,18 +433,21 @@ The item label, or the empty string if the item was not found.
 
 \helpref{wxMenu::SetLabel}{wxmenusetlabel}
 
+
 \membersection{wxMenu::GetMenuItemCount}\label{wxmenugetmenuitemcount}
 
 \constfunc{size\_t}{GetMenuItemCount}{\void}
 
 Returns the number of items in the menu.
 
+
 \membersection{wxMenu::GetMenuItems}\label{wxmenugetmenuitems}
 
 \constfunc{wxMenuItemList\&}{GetMenuItems}{\void}
 
 Returns the list of items in the menu. wxMenuItemList is a pseudo-template
-list class containing wxMenuItem pointers.
+list class containing wxMenuItem pointers, see \helpref{wxList}{wxlist}.
+
 
 \membersection{wxMenu::GetTitle}\label{wxmenugettitle}
 
@@ -441,12 +465,13 @@ menubar.
 
 \helpref{wxMenu::SetTitle}{wxmenusettitle}
 
+
 \membersection{wxMenu::Insert}\label{wxmenuinsert}
 
 \func{wxMenuItem*}{Insert}{\param{size\_t }{pos}, \param{wxMenuItem *}{item}}
 
 \func{wxMenuItem*}{Insert}{\param{size\_t }{pos}, \param{int}{ id},\rtfsp
-\param{const wxString\& }{ item}, \param{const wxString\& }{helpString = ""},\rtfsp
+\param{const wxString\& }{ item = ""}, \param{const wxString\& }{helpString = ""},\rtfsp
 \param{wxItemKind}{ kind = wxITEM\_NORMAL}}
 
 Inserts the given {\it item} before the position {\it pos}. Inserting the item
@@ -458,6 +483,7 @@ as appending it.
 \helpref{wxMenu::Append}{wxmenuappend},\rtfsp
 \helpref{wxMenu::Prepend}{wxmenuprepend}
 
+
 \membersection{wxMenu::InsertCheckItem}\label{wxmenuinsertcheckitem}
 
 \func{wxMenuItem*}{InsertCheckItem}{\param{size\_t }{pos}, \param{int}{ id},\rtfsp
@@ -470,6 +496,7 @@ Inserts a checkable item at the given position.
 \helpref{wxMenu::Insert}{wxmenuinsert},\rtfsp
 \helpref{wxMenu::AppendCheckItem}{wxmenuappendcheckitem}
 
+
 \membersection{wxMenu::InsertRadioItem}\label{wxmenuinsertradioitem}
 
 \func{wxMenuItem*}{InsertRadioItem}{\param{size\_t }{pos}, \param{int}{ id},\rtfsp
@@ -482,6 +509,7 @@ Inserts a radio item at the given position.
 \helpref{wxMenu::Insert}{wxmenuinsert},\rtfsp
 \helpref{wxMenu::AppendRadioItem}{wxmenuappendradioitem}
 
+
 \membersection{wxMenu::InsertSeparator}\label{wxmenuinsertseparator}
 
 \func{wxMenuItem*}{InsertSeparator}{\param{size\_t }{pos}}
@@ -493,6 +521,7 @@ Inserts a separator at the given position.
 \helpref{wxMenu::Insert}{wxmenuinsert},\rtfsp
 \helpref{wxMenu::AppendSeparator}{wxmenuappendseparator}
 
+
 \membersection{wxMenu::IsChecked}\label{wxmenuischecked}
 
 \constfunc{bool}{IsChecked}{\param{int}{ id}}
@@ -511,6 +540,7 @@ true if the menu item is checked, false otherwise.
 
 \helpref{wxMenu::Check}{wxmenucheck}
 
+
 \membersection{wxMenu::IsEnabled}\label{wxmenuisenabled}
 
 \constfunc{bool}{IsEnabled}{\param{int}{ id}}
@@ -529,12 +559,13 @@ true if the menu item is enabled, false otherwise.
 
 \helpref{wxMenu::Enable}{wxmenuenable}
 
+
 \membersection{wxMenu::Prepend}\label{wxmenuprepend}
 
 \func{wxMenuItem*}{Prepend}{\param{wxMenuItem *}{item}}
 
 \func{wxMenuItem*}{Prepend}{\param{int}{ id},\rtfsp
-\param{const wxString\& }{ item}, \param{const wxString\& }{helpString = ""},\rtfsp
+\param{const wxString\& }{ item = ""}, \param{const wxString\& }{helpString = ""},\rtfsp
 \param{wxItemKind}{ kind = wxITEM\_NORMAL}}
 
 Inserts the given {\it item} at position $0$, i.e. before all the other
@@ -545,6 +576,7 @@ existing items.
 \helpref{wxMenu::Append}{wxmenuappend},\rtfsp
 \helpref{wxMenu::Insert}{wxmenuinsert}
 
+
 \membersection{wxMenu::PrependCheckItem}\label{wxmenuprependcheckitem}
 
 \func{wxMenuItem*}{PrependCheckItem}{\param{int}{ id},\rtfsp
@@ -557,6 +589,7 @@ Inserts a checkable item at position $0$.
 \helpref{wxMenu::Prepend}{wxmenuprepend},\rtfsp
 \helpref{wxMenu::AppendCheckItem}{wxmenuappendcheckitem}
 
+
 \membersection{wxMenu::PrependRadioItem}\label{wxmenuprependradioitem}
 
 \func{wxMenuItem*}{PrependRadioItem}{\param{int}{ id},\rtfsp
@@ -569,6 +602,7 @@ Inserts a radio item at position $0$.
 \helpref{wxMenu::Prepend}{wxmenuprepend},\rtfsp
 \helpref{wxMenu::AppendRadioItem}{wxmenuappendradioitem}
 
+
 \membersection{wxMenu::PrependSeparator}\label{wxmenuprependseparator}
 
 \func{wxMenuItem*}{PrependSeparator}{\void}
@@ -580,6 +614,7 @@ Inserts a separator at position $0$.
 \helpref{wxMenu::Prepend}{wxmenuprepend},\rtfsp
 \helpref{wxMenu::AppendSeparator}{wxmenuappendseparator}
 
+
 \membersection{wxMenu::Remove}\label{wxmenuremove}
 
 \func{wxMenuItem *}{Remove}{\param{int }{id}}
@@ -600,6 +635,7 @@ object. This allows to reuse the same item later by adding it back to the menu
 
 The item which was detached from the menu.
 
+
 \membersection{wxMenu::SetHelpString}\label{wxmenusethelpstring}
 
 \func{void}{SetHelpString}{\param{int}{ id}, \param{const wxString\& }{helpString}}
@@ -616,6 +652,7 @@ Sets an item's help string.
 
 \helpref{wxMenu::GetHelpString}{wxmenugethelpstring}
 
+
 \membersection{wxMenu::SetLabel}\label{wxmenusetlabel}
 
 \func{void}{SetLabel}{\param{int}{ id}, \param{const wxString\& }{label}}
@@ -632,6 +669,7 @@ Sets the label of a menu item.
 
 \helpref{wxMenu::Append}{wxmenuappend}, \helpref{wxMenu::GetLabel}{wxmenugetlabel}
 
+
 \membersection{wxMenu::SetTitle}\label{wxmenusettitle}
 
 \func{void}{SetTitle}{\param{const wxString\& }{title}}
@@ -652,6 +690,7 @@ menubar.
 
 \helpref{wxMenu::GetTitle}{wxmenugettitle}
 
+
 \membersection{wxMenu::UpdateUI}\label{wxmenuupdateui}
 
 \constfunc{void}{UpdateUI}{\param{wxEvtHandler*}{ source = NULL}}
@@ -696,13 +735,14 @@ menu shortcuts may cease to work.
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
+
 \membersection{wxMenuBar::wxMenuBar}\label{wxmenubarctor}
 
 \func{}{wxMenuBar}{\param{long }{style = 0}}
 
 Default constructor.
 
-\func{}{wxMenuBar}{\param{int}{ n}, \param{wxMenu*}{ menus[]}, \param{const wxString }{titles[]}}
+\func{}{wxMenuBar}{\param{size\_t}{ n}, \param{wxMenu*}{ menus[]}, \param{const wxString }{titles[]}, \param{long }{style = 0}}
 
 Construct a menu bar from arrays of menus and titles.
 
@@ -718,10 +758,11 @@ menu bar.}
 \docparam{style}{If {\tt wxMB\_DOCKABLE} the menu bar can be detached (wxGTK only).}
 
 \pythonnote{Only the default constructor is supported in wxPython.
-Use wxMenuBar.Append instead.}
+Use \helpref{wxMenuBar::Append}{wxmenubarappend} instead.}
 
 \perlnote{wxPerl only supports the first constructor: 
-use {\tt Append} instead.}
+use \helpref{wxMenuBar::Append}{wxmenubarappend} instead.}
+
 
 \membersection{wxMenuBar::\destruct{wxMenuBar}}\label{wxmenubardtor}
 
@@ -729,6 +770,7 @@ use {\tt Append} instead.}
 
 Destructor, destroying the menu bar and removing it from the parent frame (if any).
 
+
 \membersection{wxMenuBar::Append}\label{wxmenubarappend}
 
 \func{bool}{Append}{\param{wxMenu *}{menu}, \param{const wxString\& }{title}}
@@ -749,6 +791,7 @@ true on success, false if an error occurred.
 
 \helpref{wxMenuBar::Insert}{wxmenubarinsert}
 
+
 \membersection{wxMenuBar::Check}\label{wxmenubarcheck}
 
 \func{void}{Check}{\param{int}{ id}, \param{const bool}{ check}}
@@ -766,6 +809,7 @@ Checks or unchecks a menu item.
 Only use this when the menu bar has been associated
 with a frame; otherwise, use the wxMenu equivalent call.
 
+
 \membersection{wxMenuBar::Enable}\label{wxmenubarenable}
 
 \func{void}{Enable}{\param{int}{ id}, \param{const bool}{ enable}}
@@ -783,6 +827,7 @@ Enables or disables (greys out) a menu item.
 Only use this when the menu bar has been
 associated with a frame; otherwise, use the wxMenu equivalent call.
 
+
 \membersection{wxMenuBar::EnableTop}\label{wxmenubarenabletop}
 
 \func{void}{EnableTop}{\param{int}{ pos}, \param{const bool}{ enable}}
@@ -800,6 +845,7 @@ Enables or disables a whole menu.
 Only use this when the menu bar has been
 associated with a frame.
 
+
 \membersection{wxMenuBar::FindMenu}\label{wxmenubarfindmenu}
 
 \constfunc{int}{FindMenu}{\param{const wxString\& }{title}}
@@ -809,6 +855,7 @@ such menu exists in this menubar. The {\it title} parameter may specify either
 the menu title (with accelerator characters, i.e. {\tt "\&File"}) or just the
 menu label ({\tt "File"}) indifferently.
 
+
 \membersection{wxMenuBar::FindMenuItem}\label{wxmenubarfindmenuitem}
 
 \constfunc{int}{FindMenuItem}{\param{const wxString\& }{menuString}, \param{const wxString\& }{itemString}}
@@ -830,6 +877,7 @@ The menu item identifier, or {\tt wxNOT\_FOUND} if none was found.
 Any special menu codes are stripped out of source and target strings
 before matching.
 
+
 \membersection{wxMenuBar::FindItem}\label{wxmenubarfinditem}
 
 \constfunc{wxMenuItem *}{FindItem}{\param{int}{ id}, \param{wxMenu}{ **menu = NULL}}
@@ -846,6 +894,7 @@ Finds the menu item object associated with the given menu item identifier.
 
 The found menu item object, or NULL if one was not found.
 
+
 \membersection{wxMenuBar::GetHelpString}\label{wxmenubargethelpstring}
 
 \constfunc{wxString}{GetHelpString}{\param{int}{ id}}
@@ -865,6 +914,7 @@ was not found.
 
 \helpref{wxMenuBar::SetHelpString}{wxmenubarsethelpstring}
 
+
 \membersection{wxMenuBar::GetLabel}\label{wxmenubargetlabel}
 
 \constfunc{wxString}{GetLabel}{\param{int}{ id}}
@@ -883,6 +933,7 @@ The menu item label, or the empty string if the item was not found.
 
 Use only after the menubar has been associated with a frame.
 
+
 \membersection{wxMenuBar::GetLabelTop}\label{wxmenubargetlabeltop}
 
 \constfunc{wxString}{GetLabelTop}{\param{int}{ pos}}
@@ -907,18 +958,21 @@ Use only after the menubar has been associated with a frame.
 
 \helpref{wxMenuBar::SetLabelTop}{wxmenubarsetlabeltop}
 
+
 \membersection{wxMenuBar::GetMenu}\label{wxmenubargetmenu}
 
 \constfunc{wxMenu*}{GetMenu}{\param{int}{ menuIndex}}
 
 Returns the menu at {\it menuIndex} (zero-based).
 
+
 \membersection{wxMenuBar::GetMenuCount}\label{wxmenubargetmenucount}
 
-\constfunc{int}{GetMenuCount}{\void}
+\constfunc{size\_t}{GetMenuCount}{\void}
 
 Returns the number of menus in this menubar.
 
+
 \membersection{wxMenuBar::Insert}\label{wxmenubarinsert}
 
 \func{bool}{Insert}{\param{size\_t }{pos}, \param{wxMenu *}{menu}, \param{const wxString\& }{title}}
@@ -944,6 +998,7 @@ true on success, false if an error occurred.
 
 \helpref{wxMenuBar::Append}{wxmenubarappend}
 
+
 \membersection{wxMenuBar::IsChecked}\label{wxmenubarischecked}
 
 \constfunc{bool}{IsChecked}{\param{int}{ id}}
@@ -958,6 +1013,7 @@ Determines whether an item is checked.
 
 true if the item was found and is checked, false otherwise.
 
+
 \membersection{wxMenuBar::IsEnabled}\label{wxmenubarisenabled}
 
 \constfunc{bool}{IsEnabled}{\param{int}{ id}}
@@ -972,12 +1028,14 @@ Determines whether an item is enabled.
 
 true if the item was found and is enabled, false otherwise.
 
+
 \membersection{wxMenuBar::Refresh}\label{wxmenubarrefresh}
 
 \func{void}{Refresh}{\void}
 
 Redraw the menu bar
 
+
 \membersection{wxMenuBar::Remove}\label{wxmenubarremove}
 
 \func{wxMenu *}{Remove}{\param{size\_t }{pos}}
@@ -991,6 +1049,7 @@ dynamically.
 
 \helpref{wxMenuBar::Replace}{wxmenubarreplace}
 
+
 \membersection{wxMenuBar::Replace}\label{wxmenubarreplace}
 
 \func{wxMenu *}{Replace}{\param{size\_t }{pos}, \param{wxMenu *}{menu}, \param{const wxString\& }{title}}
@@ -1015,6 +1074,7 @@ responsible for deleting it.
 \helpref{wxMenuBar::Insert}{wxmenubarinsert},\rtfsp
 \helpref{wxMenuBar::Remove}{wxmenubarremove}
 
+
 \membersection{wxMenuBar::SetHelpString}\label{wxmenubarsethelpstring}
 
 \func{void}{SetHelpString}{\param{int}{ id}, \param{const wxString\& }{helpString}}
@@ -1031,6 +1091,7 @@ Sets the help string associated with a menu item.
 
 \helpref{wxMenuBar::GetHelpString}{wxmenubargethelpstring}
 
+
 \membersection{wxMenuBar::SetLabel}\label{wxmenubarsetlabel}
 
 \func{void}{SetLabel}{\param{int}{ id}, \param{const wxString\& }{label}}
@@ -1051,6 +1112,7 @@ Use only after the menubar has been associated with a frame.
 
 \helpref{wxMenuBar::GetLabel}{wxmenubargetlabel}
 
+
 \membersection{wxMenuBar::SetLabelTop}\label{wxmenubarsetlabeltop}
 
 \func{void}{SetLabelTop}{\param{int}{ pos}, \param{const wxString\& }{label}}