X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cc81d32f2bf8c159f3b1bf6ddaf62e6d77720209..7021360ad735eca88fac897b9fd43443184773fd:/docs/latex/wx/menu.tex diff --git a/docs/latex/wx/menu.tex b/docs/latex/wx/menu.tex index cf33986ac3..e95ae3db05 100644 --- a/docs/latex/wx/menu.tex +++ b/docs/latex/wx/menu.tex @@ -12,7 +12,7 @@ associated command but just makes a separator line appear in the menu. 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 associated to them and they show a checkmark in the menu when the flag is set. -wxWindows automatically toggles the flag value when the item is clicked and its +wxWidgets automatically toggles the flag value when the item is clicked and its value may be retrieved using either \helpref{IsChecked}{wxmenuischecked} method of wxMenu or wxMenuBar itself or by using \helpref{wxEvent::IsChecked}{wxcommandeventischecked} when you get the menu @@ -103,19 +103,19 @@ and recreation of internal data structures. \membersection{wxMenu::Append}\label{wxmenuappend} -\func{void}{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. -\func{void}{Append}{\param{int}{ id}, \param{const wxString\& }{ item}, \param{wxMenu *}{subMenu},\rtfsp +\func{wxMenuItem*}{Append}{\param{int}{ id}, \param{const wxString\& }{ item}, \param{wxMenu *}{subMenu},\rtfsp \param{const wxString\& }{helpString = ""}} Adds a pull-right submenu to the end of the menu. Append the submenu to the parent menu {\it after} you have added your menu items, or accelerators may not be registered properly. -\func{void}{Append}{\param{wxMenuItem*}{ menuItem}} +\func{wxMenuItem*}{Append}{\param{wxMenuItem*}{ menuItem}} Adds a menu item object. This is the most generic variant of Append() method because it may be used for both items (including separators) and submenus and @@ -134,7 +134,7 @@ such as bitmaps and fonts. {\tt wxITEM\_CHECK} or {\tt wxITEM\_RADIO}} \docparam{helpString}{An optional help string associated with the item. -By default, \helpref{wxFrame::OnMenuHighlight}{wxframeonmenuhighlight} displays +By default, the handler for the wxEVT\_MENU\_HIGHLIGHT event displays this string in the status line.} \docparam{menuItem}{A menuitem object. It will be owned by the wxMenu object after this function @@ -145,6 +145,33 @@ is called, so do not delete it yourself.} This command can be used after the menu has been shown, as well as on initial creation of a menu or menubar. +The {\it item} string for the normal menu items (not submenus or separators) +may include the accelerator which can be used to activate the menu item +from keyboard. The accelerator string follows the item label and is separated +from it by a {\tt TAB} character ({\tt '$\backslash$t'}). Its general syntax is +any combination of {\tt "CTRL"}, {\tt "ALT"} and {\tt "SHIFT"} strings (case +doesn't matter) separated by either {\tt '-'} or {\tt '+'} characters and +followed by the accelerator itself. The accelerator may be any alphanumeric +character, any function key (from {\tt F1} to {\tt F12}) or one of the special +characters listed in the table below (again, case doesn't matter): + +\begin{twocollist}\itemsep=0pt +\twocolitem{{\tt DEL} or {\tt DELETE}}{Delete key} +\twocolitem{{\tt INS} or {\tt INSERT}}{Insert key} +\twocolitem{{\tt ENTER} or {\tt RETURN}}{Enter key} +\twocolitem{{\tt PGUP}}{PageUp key} +\twocolitem{{\tt PGDN}}{PageDown key} +\twocolitem{{\tt LEFT}}{Left cursor arrow key} +\twocolitem{{\tt RIGHT}}{Right cursor arrow key} +\twocolitem{{\tt UP}}{Up cursor arrow key} +\twocolitem{{\tt DOWN}}{Down cursor arrow key} +\twocolitem{{\tt HOME}}{Home key} +\twocolitem{{\tt END}}{End key} +\twocolitem{{\tt SPACE}}{Space} +\twocolitem{{\tt TAB}}{Tab key} +\twocolitem{{\tt ESC} or {\tt ESCAPE}}{Escape key (Windows only)} +\end{twocollist} + \wxheading{See also} \helpref{wxMenu::AppendSeparator}{wxmenuappendseparator},\rtfsp @@ -155,7 +182,8 @@ creation of a menu or menubar. \helpref{wxMenu::SetHelpString}{wxmenusethelpstring}, \helpref{wxMenuItem}{wxmenuitem} \pythonnote{In place of a single overloaded method name, wxPython -implements the following methods:\par +implements the following methods: + \indented{2cm}{\begin{twocollist} \twocolitem{{\bf Append(id, string, helpStr="", checkable=false)}}{} \twocolitem{{\bf AppendMenu(id, string, aMenu, helpStr="")}}{} @@ -165,7 +193,7 @@ implements the following methods:\par \membersection{wxMenu::AppendCheckItem}\label{wxmenuappendcheckitem} -\func{void}{AppendCheckItem}{\param{int}{ id},\rtfsp +\func{wxMenuItem*}{AppendCheckItem}{\param{int}{ id},\rtfsp \param{const wxString\& }{ item}, \param{const wxString\& }{helpString = ""}} Adds a checkable item to the end of the menu. @@ -177,7 +205,7 @@ Adds a checkable item to the end of the menu. \membersection{wxMenu::AppendRadioItem}\label{wxmenuappendradioitem} -\func{void}{AppendRadioItem}{\param{int}{ id},\rtfsp +\func{wxMenuItem*}{AppendRadioItem}{\param{int}{ id},\rtfsp \param{const wxString\& }{ item}, \param{const wxString\& }{helpString = ""}} Adds a radio item to the end of the menu. All consequent radio items form a @@ -194,7 +222,7 @@ automatically unchecked. \membersection{wxMenu::AppendSeparator}\label{wxmenuappendseparator} -\func{void}{AppendSeparator}{\void} +\func{wxMenuItem*}{AppendSeparator}{\void} Adds a separator to the end of the menu. @@ -323,6 +351,12 @@ 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}} @@ -391,9 +425,9 @@ menubar. \membersection{wxMenu::Insert}\label{wxmenuinsert} -\func{bool}{Insert}{\param{size\_t }{pos}, \param{wxMenuItem *}{item}} +\func{wxMenuItem*}{Insert}{\param{size\_t }{pos}, \param{wxMenuItem *}{item}} -\func{void}{Insert}{\param{size\_t }{pos}, \param{int}{ id},\rtfsp +\func{wxMenuItem*}{Insert}{\param{size\_t }{pos}, \param{int}{ id},\rtfsp \param{const wxString\& }{ item}, \param{const wxString\& }{helpString = ""},\rtfsp \param{wxItemKind}{ kind = wxITEM\_NORMAL}} @@ -408,7 +442,7 @@ as appending it. \membersection{wxMenu::InsertCheckItem}\label{wxmenuinsertcheckitem} -\func{void}{InsertCheckItem}{\param{size\_t }{pos}, \param{int}{ id},\rtfsp +\func{wxMenuItem*}{InsertCheckItem}{\param{size\_t }{pos}, \param{int}{ id},\rtfsp \param{const wxString\& }{ item}, \param{const wxString\& }{helpString = ""}} Inserts a checkable item at the given position. @@ -420,7 +454,7 @@ Inserts a checkable item at the given position. \membersection{wxMenu::InsertRadioItem}\label{wxmenuinsertradioitem} -\func{void}{InsertRadioItem}{\param{size\_t }{pos}, \param{int}{ id},\rtfsp +\func{wxMenuItem*}{InsertRadioItem}{\param{size\_t }{pos}, \param{int}{ id},\rtfsp \param{const wxString\& }{ item}, \param{const wxString\& }{helpString = ""}} Inserts a radio item at the given position. @@ -432,7 +466,7 @@ Inserts a radio item at the given position. \membersection{wxMenu::InsertSeparator}\label{wxmenuinsertseparator} -\func{void}{InsertSeparator}{\param{size\_t }{pos}} +\func{wxMenuItem*}{InsertSeparator}{\param{size\_t }{pos}} Inserts a separator at the given position. @@ -479,9 +513,9 @@ true if the menu item is enabled, false otherwise. \membersection{wxMenu::Prepend}\label{wxmenuprepend} -\func{bool}{Prepend}{\param{wxMenuItem *}{item}} +\func{wxMenuItem*}{Prepend}{\param{wxMenuItem *}{item}} -\func{void}{Prepend}{\param{int}{ id},\rtfsp +\func{wxMenuItem*}{Prepend}{\param{int}{ id},\rtfsp \param{const wxString\& }{ item}, \param{const wxString\& }{helpString = ""},\rtfsp \param{wxItemKind}{ kind = wxITEM\_NORMAL}} @@ -495,7 +529,7 @@ existing items. \membersection{wxMenu::PrependCheckItem}\label{wxmenuprependcheckitem} -\func{void}{PrependCheckItem}{\param{int}{ id},\rtfsp +\func{wxMenuItem*}{PrependCheckItem}{\param{int}{ id},\rtfsp \param{const wxString\& }{ item}, \param{const wxString\& }{helpString = ""}} Inserts a checkable item at the position $0$. @@ -507,7 +541,7 @@ Inserts a checkable item at the position $0$. \membersection{wxMenu::PrependRadioItem}\label{wxmenuprependradioitem} -\func{void}{PrependRadioItem}{\param{int}{ id},\rtfsp +\func{wxMenuItem*}{PrependRadioItem}{\param{int}{ id},\rtfsp \param{const wxString\& }{ item}, \param{const wxString\& }{helpString = ""}} Inserts a radio item at the position $0$. @@ -519,7 +553,7 @@ Inserts a radio item at the position $0$. \membersection{wxMenu::PrependSeparator}\label{wxmenuprependseparator} -\func{void}{PrependSeparator}{\param{size\_t }{pos}} +\func{wxMenuItem*}{PrependSeparator}{\param{size\_t }{pos}} Inserts a separator at the position $0$. @@ -618,6 +652,7 @@ A menu bar is a series of menus accessible from the top of a frame. \wxheading{Derived from} +\helpref{wxWindow}{wxwindow}\\ \helpref{wxEvtHandler}{wxevthandler}\\ \helpref{wxObject}{wxobject} @@ -632,12 +667,6 @@ that contains the menu bar. If you have a toolbar which uses the same identifier as your EVT\_MENU entries, events from the toolbar will also be processed by your EVT\_MENU event handlers. -Note that menu commands (and UI update events for menus) are first sent to -the focus window within the frame. If no window within the frame has the focus, -then the events are sent directly to the frame. This allows command and UI update -handling to be processed by specific windows and controls, and not necessarily -by the application frame. - {\bf Tip:} under Windows, if you discover that menu shortcuts (for example, Alt-F to show the file menu) are not working, check any EVT\_CHAR events you are handling in child windows. If you are not calling {\tt event.Skip()} for events that you don't process in these event handlers,