X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/eaaa6a06a25774c18d10bb8182cc1934ed0ed9aa..bbfa03228a5fc1f23565cf59ee29629bc4336d65:/docs/latex/wx/menu.tex diff --git a/docs/latex/wx/menu.tex b/docs/latex/wx/menu.tex index 89d8105f6a..62e1684990 100644 --- a/docs/latex/wx/menu.tex +++ b/docs/latex/wx/menu.tex @@ -12,6 +12,10 @@ identify the selection, or to change the menu item in some way. \helpref{wxEvtHandler}{wxevthandler}\\ \helpref{wxObject}{wxobject} +\wxheading{Include files} + + + \wxheading{Event handling} If the menu is part of a menubar, then \helpref{wxMenuBar}{wxmenubar} event processing is used. @@ -21,7 +25,7 @@ With a popup menu, there is a variety of ways to handle a menu selection event \begin{enumerate}\itemsep=0pt \item Define a callback of type wxFunction, which you pass to the wxMenu constructor. -The callback takes a reference to a window, and a reference to a \helpref{wxCommandEvent}{wxcommandevent}. +The callback takes a reference to the menu, and a reference to a \helpref{wxCommandEvent}{wxcommandevent}. \item Derive a new class from wxMenu and define event table entries using the EVT\_MENU macro. \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 @@ -37,7 +41,8 @@ this window. \membersection{wxMenu::wxMenu}\label{wxmenuconstr} -\func{}{wxMenu}{\param{const wxString\& }{title = ""}, \param{const wxFunction}{ func = NULL}} +\func{}{wxMenu}{\param{const wxString\& }{title = ""}, + \param{const wxFunction}{ func = NULL}\param{long}{ style = 0}} Constructs a wxMenu object. @@ -47,12 +52,37 @@ Constructs a wxMenu object. \docparam{func}{A callback function if the menu is used as a popup using \helpref{wxWindow::PopupMenu}{wxwindowpopupmenu}.} +\docparam{style}{If set to \tt{wxMENU_TEAROFF}, the menu will be detachable.} + +\pythonnote{The wxPython version of the \tt{wxMenu} constructor +doesn't accept the callback argument because of reference counting +issues. There is a specialized wxMenu constructor called +\tt{wxPyMenu} which does and can be used for PopupMenus when callbacks +are needed. You must retain a reference to the menu while useing it +otherwise your callback function will get dereferenced when the menu +does. +} + +\func{}{wxMenu}{\param{long}{ style }} + +Constructs a wxMenu object. + +\wxheading{Parameters} +\docparam{style}{If set to \tt{wxMENU_TEAROFF}, the menu will be detachable.} + \membersection{wxMenu::\destruct{wxMenu}} \func{}{\destruct{wxMenu}}{\void} Destructor, destroying the menu. +Note: under Motif, a popup menu must have a valid parent (the window +it was last popped up on) when being destroyed. Therefore, make sure +you delete or re-use the popup menu {\it before} destroying the +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{void}{Append}{\param{int}{ id}, \param{const wxString\& }{ item}, \param{const wxString\& }{helpString = ""},\rtfsp @@ -97,6 +127,17 @@ creation of a menu or menubar. \helpref{wxMenu::AppendSeparator}{wxmenuappendseparator}, \helpref{wxMenu::SetLabel}{wxmenusetlabel}, \helpref{wxMenu::GetHelpString}{wxmenugethelpstring},\rtfsp \helpref{wxMenu::SetHelpString}{wxmenusethelpstring}, \helpref{wxMenuItem}{wxmenuitem} + +\pythonnote{In place of a single overloaded method name, wxPython +implements the following methods:\par +\indented{2cm}{\begin{twocollist} +\twocolitem{\bf{Append(id, string, helpStr="", checkable=FALSE)}}{} +\twocolitem{\bf{AppendMenu(id, string, aMenu, helpStr="")}}{} +\twocolitem{\bf{AppendItem(aMenuItem)}}{} +\end{twocollist}} +} + + \membersection{wxMenu::AppendSeparator}\label{wxmenuappendseparator} \func{void}{AppendSeparator}{\void} @@ -170,13 +211,14 @@ before matching. \membersection{wxMenu::FindItemForId}\label{wxmenufinditemforid} -\constfunc{wxMenuItem*}{FindItemForId}{\param{int}{ id}} +\constfunc{wxMenuItem*}{FindItemForId}{\param{int}{ id}, \param{wxMenu **}{ menuForItem = NULL}} Finds the menu item object associated with the given menu item identifier. \wxheading{Parameters} \docparam{id}{Menu item identifier.} +\docparam{menuForItem}{will be filled with the menu for this item if not NULL.} \wxheading{Return value} @@ -323,6 +365,18 @@ This is relevant only to popup menus. \helpref{wxMenu::SetTitle}{wxmenusettitle} +\membersection{wxMenu::UpdateUI}\label{wxmenuupdateui} + +\constfunc{void}{UpdateUI}{\param{wxEvtHandler*}{ source = NULL}} + +Sends events to {\it source} (or owning window if NULL) to update the +menu UI. This is called just before the menu is popped up with \helpref{wxWindow::PopupMenu}{wxwindowpopupmenu}, but +the application may call it at other times if required. + +\wxheading{See also} + +\helpref{wxUpdateUIEvent}{wxupdateuievent} + \section{\class{wxMenuBar}}\label{wxmenubar} A menu bar is a series of menus accessible from the top of a frame. @@ -332,10 +386,22 @@ A menu bar is a series of menus accessible from the top of a frame. \helpref{wxEvtHandler}{wxevthandler}\\ \helpref{wxObject}{wxobject} +\wxheading{Include files} + + + \wxheading{Event handling} To respond to a menu selection, provide a handler for EVT\_MENU, in the frame -that contains the menu bar. +that contains the menu bar. If you have a toolbar which uses the same identifiers +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. \wxheading{See also} @@ -362,6 +428,10 @@ menu bar.} \docparam{titles}{An array of title strings. Deallocate this array after creating the menu bar.} +\pythonnote{Only the default constructor is supported in wxPython. +Use wxMenuBar.Append instead.} + + \membersection{wxMenuBar::\destruct{wxMenuBar}} \func{void}{\destruct{wxMenuBar}}{\void} @@ -452,9 +522,9 @@ The menu item identifier, or -1 if none was found. Any special menu codes are stripped out of source and target strings before matching. -\membersection{wxMenuBar::FindItemById}\label{wxmenubarfinditembyid} +\membersection{wxMenuBar::FindItemForId}\label{wxmenubarfinditemforid} -\constfunc{wxMenuItem *}{FindItemById}{\param{int}{ id}} +\constfunc{wxMenuItem *}{FindItemForId}{\param{int}{ id}} Finds the menu item object associated with the given menu item identifier, @@ -525,6 +595,18 @@ 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::IsChecked}\label{wxmenubarischecked} \constfunc{bool}{IsChecked}{\param{int}{ id}} @@ -553,6 +635,12 @@ 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::SetHelpString}\label{wxmenubarsethelpstring} \func{void}{SetHelpString}{\param{int}{ id}, \param{const wxString\& }{helpString}} @@ -609,3 +697,8 @@ Use only after the menubar has been associated with a frame. \helpref{wxMenuBar::GetLabelTop}{wxmenubargetlabeltop} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: