X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/97e1d37c96655119ea25c3a099f3189885864c0c..42e88ddb611d43fe79e1d0c17a764b0848322f1d:/docs/latex/wx/evthand.tex?ds=sidebyside diff --git a/docs/latex/wx/evthand.tex b/docs/latex/wx/evthand.tex index e891d4f826..6586d3a641 100644 --- a/docs/latex/wx/evthand.tex +++ b/docs/latex/wx/evthand.tex @@ -4,6 +4,12 @@ A class that can handle events from the windowing system. wxWindow (and therefore all window classes) are derived from this class. +When events are received, wxEvtHandler invokes the method listed in the +event table using itself as the object. When using multiple inheritance +it is imperative that the wxEvtHandler(-derived) class be the first +class inherited such that the "this" pointer for the overall object +will be identical to the "this" pointer for the wxEvtHandler portion. + \wxheading{Derived from} \helpref{wxObject}{wxobject} @@ -18,13 +24,13 @@ this class. \latexignore{\rtfignore{\wxheading{Members}}} -\membersection{wxEvtHandler::wxEvtHandler} +\membersection{wxEvtHandler::wxEvtHandler}\label{wxevthandlerctor} \func{}{wxEvtHandler}{\void} Constructor. -\membersection{wxEvtHandler::\destruct{wxEvtHandler}} +\membersection{wxEvtHandler::\destruct{wxEvtHandler}}\label{wxevthandlerdtor} \func{}{\destruct{wxEvtHandler}}{\void} @@ -34,7 +40,7 @@ each other. \membersection{wxEvtHandler::AddPendingEvent}\label{wxevthandleraddpendingevent} -\func{virtual void}{AddPendingEvent}{\param{wxEvent\& }{event}} +\func{void}{AddPendingEvent}{\param{wxEvent\& }{event}} This function posts an event to be processed later. @@ -77,7 +83,7 @@ up idle handling is done calling \helpref{::wxWakeUpIdle}{wxwakeupidle}.) \param{wxObject*}{ userData = NULL}, \param{wxEvtHandler*}{ eventSink = NULL}} Connects the given function dynamically with the event handler, id and event type. This -is an alternative to the use of static event tables. See the 'dynamic' sample for usage. +is an alternative to the use of static event tables. See the 'event' or the old 'dynamic' sample for usage. \wxheading{Parameters} @@ -99,9 +105,13 @@ is an alternative to the use of static event tables. See the 'dynamic' sample fo \begin{verbatim} frame->Connect( wxID_EXIT, wxEVT_COMMAND_MENU_SELECTED, - (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) MyFrame::OnQuit ); + (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) &MyFrame::OnQuit ); \end{verbatim} +\perlnote{In wxPerl this function takes 4 arguments: \texttt{id, +lastid, type, method}; if \texttt{method} is \texttt{undef}, the +handler is disconnected.} + \membersection{wxEvtHandler::Disconnect}\label{wxevthandlerdisconnect} \func{bool}{Disconnect}{\param{int}{ id}, @@ -132,6 +142,9 @@ to disconnect functions connected using the (static) event tables. \docparam{eventSink}{Object whose member function should be called.} +\perlnote{In wxPerl this function takes 3 arguments: \texttt{id, +lastid, type}.} + \membersection{wxEvtHandler::GetClientData}\label{wxevthandlergetclientdata} \func{void* }{GetClientData}{\void} @@ -213,14 +226,14 @@ call \helpref{wxEvent::Skip}{wxeventskip}. \wxheading{Remarks} -Normally, your application would not call this function: it is called in the wxWindows +Normally, your application would not call this function: it is called in the wxWidgets implementation to dispatch incoming user interface events to the framework (and application). However, you might need to call it if implementing new functionality (such as a new control) where you define new event types, as opposed to allowing the user to override virtual functions. An instance where you might actually override the {\bf ProcessEvent} function is where you want -to direct event processing to event handlers not normally noticed by wxWindows. For example, +to direct event processing to event handlers not normally noticed by wxWidgets. For example, in the document/view architecture, documents and views are potential event handlers. When an event reaches a frame, {\bf ProcessEvent} will need to be called on the associated document and view in case event handler functions are associated with these objects. @@ -249,7 +262,7 @@ recursively applied to the parent window's event handler. If this returns true, \membersection{wxEvtHandler::SearchEventTable}\label{wxevthandlersearcheventtable} -\func{bool}{SearchEventTable}{\param{wxEventTable\& }{table}, \param{wxEvent\& }{event}} +\func{virtual bool}{SearchEventTable}{\param{wxEventTable\& }{table}, \param{wxEvent\& }{event}} Searches the event table, executing an event handler function if an appropriate one is found.