]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/menu.tex
added hyperlink.tex
[wxWidgets.git] / docs / latex / wx / menu.tex
index 074289b494267a4b8d7c9c692ac690f8e285572c..d2b4fe2e35ac81c7a76a747e188a12836c304d5b 100644 (file)
@@ -1,3 +1,14 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Name:        menu.tex
+%% Purpose:     wxMenu documentation
+%% Author:      wxWidgets Team
+%% Modified by:
+%% Created:     
+%% RCS-ID:      $Id$
+%% Copyright:   (c) wxWidgets Team
+%% License:     wxWindows license
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
 \section{\class{wxMenu}}\label{wxmenu}
 
 A menu is a popup (or pull down) list of items, one of which may be
@@ -9,11 +20,12 @@ 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.
 
-{\bf NB:} Please note that {\it wxID_ABOUT} and {\it wxID_EXIT} are
+{\bf NB:} Please note that {\it wxID\_ABOUT} and {\it wxID\_EXIT} are
 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).
+MacOS X interface guideline). On PalmOS {\it wxID\_EXIT} is disabled according
+to Palm OS Companion guidelines.
 
 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
@@ -30,8 +42,8 @@ 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 the radio items
-are only supported under Windows and GTK+ currently.
+the radio items risks to not work correctly. Finally note that radio items
+are not supported under Motif.
 
 \wxheading{Allocation strategy}
 
@@ -70,10 +82,14 @@ not be used in the new code, it is provided for backwards compatibility only.
 \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}}
@@ -94,6 +110,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}
@@ -107,6 +124,7 @@ 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
@@ -183,6 +201,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}
@@ -197,6 +216,7 @@ implements the following methods:
 \end{twocollist}}
 }
 
+
 \membersection{wxMenu::AppendCheckItem}\label{wxmenuappendcheckitem}
 
 \func{wxMenuItem*}{AppendCheckItem}{\param{int}{ id},\rtfsp
@@ -209,6 +229,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
@@ -226,6 +247,7 @@ automatically unchecked.
 \helpref{wxMenu::Append}{wxmenuappend},\rtfsp
 \helpref{wxMenu::InsertRadioItem}{wxmenuinsertradioitem}
 
+
 \membersection{wxMenu::AppendSeparator}\label{wxmenuappendseparator}
 
 \func{wxMenuItem*}{AppendSeparator}{\void}
@@ -237,12 +259,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}}
@@ -259,6 +292,7 @@ Checks or unchecks the menu item.
 
 \helpref{wxMenu::IsChecked}{wxmenuischecked}
 
+
 \membersection{wxMenu::Delete}\label{wxmenudelete}
 
 \func{void}{Delete}{\param{int }{id}}
@@ -281,6 +315,7 @@ delete a submenu.
 \helpref{wxMenu::Destroy}{wxmenudestroy},\rtfsp
 \helpref{wxMenu::Remove}{wxmenuremove}
 
+
 \membersection{wxMenu::Destroy}\label{wxmenudestroy}
 
 \func{void}{Destroy}{\param{int }{id}}
@@ -303,6 +338,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}}
@@ -319,6 +355,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}}
@@ -357,12 +394,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}}
@@ -382,6 +421,7 @@ item was not found.
 
 \helpref{wxMenu::SetHelpString}{wxmenusethelpstring}, \helpref{wxMenu::Append}{wxmenuappend}
 
+
 \membersection{wxMenu::GetLabel}\label{wxmenugetlabel}
 
 \constfunc{wxString}{GetLabel}{\param{int}{ id}}
@@ -400,12 +440,14 @@ 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}
@@ -413,6 +455,7 @@ Returns the number of items in the menu.
 Returns the list of items in the menu. wxMenuItemList is a pseudo-template
 list class containing wxMenuItem pointers.
 
+
 \membersection{wxMenu::GetTitle}\label{wxmenugettitle}
 
 \constfunc{wxString}{GetTitle}{\void}
@@ -429,6 +472,7 @@ menubar.
 
 \helpref{wxMenu::SetTitle}{wxmenusettitle}
 
+
 \membersection{wxMenu::Insert}\label{wxmenuinsert}
 
 \func{wxMenuItem*}{Insert}{\param{size\_t }{pos}, \param{wxMenuItem *}{item}}
@@ -446,6 +490,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
@@ -458,6 +503,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
@@ -470,6 +516,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}}
@@ -481,6 +528,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}}
@@ -499,6 +547,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}}
@@ -517,6 +566,7 @@ true if the menu item is enabled, false otherwise.
 
 \helpref{wxMenu::Enable}{wxmenuenable}
 
+
 \membersection{wxMenu::Prepend}\label{wxmenuprepend}
 
 \func{wxMenuItem*}{Prepend}{\param{wxMenuItem *}{item}}
@@ -533,6 +583,7 @@ existing items.
 \helpref{wxMenu::Append}{wxmenuappend},\rtfsp
 \helpref{wxMenu::Insert}{wxmenuinsert}
 
+
 \membersection{wxMenu::PrependCheckItem}\label{wxmenuprependcheckitem}
 
 \func{wxMenuItem*}{PrependCheckItem}{\param{int}{ id},\rtfsp
@@ -545,6 +596,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
@@ -557,9 +609,10 @@ Inserts a radio item at position $0$.
 \helpref{wxMenu::Prepend}{wxmenuprepend},\rtfsp
 \helpref{wxMenu::AppendRadioItem}{wxmenuappendradioitem}
 
+
 \membersection{wxMenu::PrependSeparator}\label{wxmenuprependseparator}
 
-\func{wxMenuItem*}{PrependSeparator}{\param{size\_t }{pos}}
+\func{wxMenuItem*}{PrependSeparator}{\void}
 
 Inserts a separator at position $0$.
 
@@ -568,6 +621,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}}
@@ -588,6 +642,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}}
@@ -604,6 +659,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}}
@@ -620,6 +676,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}}
@@ -640,6 +697,7 @@ menubar.
 
 \helpref{wxMenu::GetTitle}{wxmenugettitle}
 
+
 \membersection{wxMenu::UpdateUI}\label{wxmenuupdateui}
 
 \constfunc{void}{UpdateUI}{\param{wxEvtHandler*}{ source = NULL}}
@@ -684,13 +742,14 @@ menu shortcuts may cease to work.
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
+
 \membersection{wxMenuBar::wxMenuBar}\label{wxmenubarctor}
 
-\func{void}{wxMenuBar}{\param{long }{style = 0}}
+\func{}{wxMenuBar}{\param{long }{style = 0}}
 
 Default constructor.
 
-\func{void}{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.
 
@@ -706,10 +765,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}
 
@@ -717,6 +777,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}}
@@ -737,6 +798,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}}
@@ -754,6 +816,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}}
@@ -771,6 +834,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}}
@@ -788,6 +852,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}}
@@ -797,6 +862,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}}
@@ -818,6 +884,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}}
@@ -834,6 +901,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}}
@@ -853,6 +921,7 @@ was not found.
 
 \helpref{wxMenuBar::SetHelpString}{wxmenubarsethelpstring}
 
+
 \membersection{wxMenuBar::GetLabel}\label{wxmenubargetlabel}
 
 \constfunc{wxString}{GetLabel}{\param{int}{ id}}
@@ -871,6 +940,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}}
@@ -895,18 +965,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}
 
 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}}
@@ -932,6 +1005,7 @@ true on success, false if an error occurred.
 
 \helpref{wxMenuBar::Append}{wxmenubarappend}
 
+
 \membersection{wxMenuBar::IsChecked}\label{wxmenubarischecked}
 
 \constfunc{bool}{IsChecked}{\param{int}{ id}}
@@ -946,6 +1020,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}}
@@ -960,12 +1035,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}}
@@ -979,6 +1056,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}}
@@ -1003,6 +1081,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}}
@@ -1019,6 +1098,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}}
@@ -1039,6 +1119,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}}