X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b4a2ab728bf4627ab2b41385b69e31f10c1fd3b1..eef97940e8b59bebfbff8333a4dd1763d4b66dbf:/docs/latex/wx/evthand.tex diff --git a/docs/latex/wx/evthand.tex b/docs/latex/wx/evthand.tex index 73322665b8..cc269395f3 100644 --- a/docs/latex/wx/evthand.tex +++ b/docs/latex/wx/evthand.tex @@ -32,6 +32,41 @@ Destructor. If the handler is part of a chain, the destructor will unlink itself and restore the previous and next handlers so that they point to each other. +\membersection{wxEvtHandler::AddPendingEvent}\label{wxevthandleraddpendingevent} + +\func{virtual void}{AddPendingEvent}{\param{wxEvent\& }{event}} + +Adds an event to be processed later. The function will return immediately and the +event will get processed in idle time using the \helpref{wxEvtHandler::ProcessEvent}{wxevthandlerprocessevent} +method. + +\wxheading{Parameters} + +\docparam{event}{Event to add to process queue.} + +\wxheading{Remarks} + +Note that this requires that the event implements +\helpref{CopyObject}{wxobjectcopyobject} +method so that the event can be duplicated and stored until it gets processed later. +Not all events in wxWindows currently fully implement this method, +so you may have to look at the source to verify this. + +This methods automatically wakes up idle handling even if the underlying window +system is currently idle anyway and thus would not send any idle events. (Waking +up the idle handling is done calling \helpref{::wxWakeUpIdle}{wxwakeupidle}.) + +This is also the method to call for inter-thread communication. In +a multi-threaded program, you will often have to inform the main GUI thread +about the status of other working threads and this has to be done using this +method - which also means that this method is thread safe by means of using +crtical sections where needed. + +% VZ: bad idea IMHO - we're going to have a lot of problems with this +Furthermore, it may be noted that some ports of wxWindows will probably move +to using this method more and more in preference over calling ProcessEvent() +directly so as to avoid problems with reentrant code. + \membersection{wxEvtHandler::Connect}\label{wxevthandlerconnect} \func{void}{Connect}{\param{int}{ id}, @@ -65,36 +100,44 @@ is an alternative to the use of static event tables. See the 'dynamic' sample fo (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) MyFrame::OnQuit ); \end{verbatim} -\membersection{wxEvtHandler::Default}\label{wxevthandlerdefault} +\membersection{wxEvtHandler::Disconnect}\label{wxevthandlerdisconnect} -\func{virtual long}{Default}{\void} +\func{bool}{Disconnect}{\param{int}{ id}, + \param{wxEventType }{eventType = wxEVT\_NULL}, \param{wxObjectEventFunction}{ function = NULL}, + \param{wxObject*}{ userData = NULL}} -Invokes default processing if this event handler is a window. +\func{bool}{Disconnect}{\param{int}{ id}, \param{int}{ lastId = -1}, + \param{wxEventType }{eventType = wxEVT\_NULL}, \param{wxObjectEventFunction}{ function = NULL}, + \param{wxObject*}{ userData = NULL}} -\wxheading{Return value} +Disconnects the given function dynamically from the event handler, using the specified +parameters as search criteria and returning TRUE if a matching function has been +found and removed. This method can only disconnect functions which have been added +using the \helpref{wxEvtHandler::Connect}{wxevthandlerconnect} method. There is no way +to disconnect functions connected using the (static) event tables. + +\wxheading{Parameters} -System dependent. +\docparam{id}{The identifier (or first of the identifier range) associated with the event handler function.} -\wxheading{Remarks} +\docparam{lastId}{The second part of the identifier range associated with the event handler function.} -A generic way of delegating processing to the default system behaviour. It calls a platform-dependent -default function, with parameters dependent on the event or message parameters -originally sent from the windowing system. +\docparam{eventType}{The event type associated with this event handler.} -Normally the application should call a base member, such as \helpref{wxWindow::OnChar}{wxwindowonchar}, which itself -may call {\bf Default}. +\docparam{function}{The event handler function.} + +\docparam{userData}{Data associated with the event table entry.} \membersection{wxEvtHandler::GetClientData}\label{wxevthandlergetclientdata} -\func{char* }{GetClientData}{\void} +\func{void* }{GetClientData}{\void} Gets user-supplied client data. \wxheading{Remarks} Normally, any extra data the programmer wishes to associate with the object -should be made available by deriving a new class -with new data members. +should be made available by deriving a new class with new data members. \wxheading{See also} @@ -228,7 +271,7 @@ fail, and searching will continue. \membersection{wxEvtHandler::SetClientData}\label{wxevthandlersetclientdata} -\func{void}{SetClientData}{\param{char* }{data}} +\func{void}{SetClientData}{\param{void* }{data}} Sets user-supplied client data. @@ -238,10 +281,9 @@ Sets user-supplied client data. \wxheading{Remarks} -Normally, any extra data the programmer wishes -to associate with the object should be made available by deriving a new class +Normally, any extra data the programmer wishes to associate with +the object should be made available by deriving a new class with new data members. -%TODO: make this void*, char* only in compatibility mode. \wxheading{See also}