X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8a29359071eaf4f91cd3d15c65f31691baa2b1b9..f6ed38239c20927281363f3828323e05b4917c0e:/docs/latex/wx/evthand.tex?ds=inline diff --git a/docs/latex/wx/evthand.tex b/docs/latex/wx/evthand.tex index a922333c50..3b543f1a72 100644 --- a/docs/latex/wx/evthand.tex +++ b/docs/latex/wx/evthand.tex @@ -36,9 +36,7 @@ each other. \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. +This function posts an event to be processed later. \wxheading{Parameters} @@ -46,24 +44,27 @@ method. \wxheading{Remarks} -Note that this requires that the event has a fully implemented Clone() -methods so that the event can be duplicated and stored until later processing. -Not all events in wxWindows currently have a fully implemented Clone() method, -you may have to look at the source to verify this. +The difference between sending an event (using the +\helpref{ProcessEvent}{wxevthandlerprocessevent} method) and posting it is +that in the first case the event is processed before the function returns, +while in the second case, the function returns immediately and the event will +be processed sometime later (usually during the next event loop iteration). -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}.) +A copy of {\it event} is made by the function, so the original can be deleted +as soon as function returns (it is common that the original is created on the +stack). This requires that the \helpref{wxEvent::Clone}{wxeventclone} method +be implemented by {\it event} so that it can be duplicated and stored until +it gets processed. -This is also the method to call for inter-thread communication. When using -a multi-threading 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. +This is also the method to call for inter-thread communication---it will +post events safely between different threads which means that this method is +thread-safe by using critical sections where needed. In a multi-threaded +program, you often need to inform the main GUI thread about the status of +other working threads and such notification should be done using this method. -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. +This method automatically wakes up idle handling if the underlying window +system is currently idle and thus would not send any idle events. (Waking +up idle handling is done calling \helpref{::wxWakeUpIdle}{wxwakeupidle}.) \membersection{wxEvtHandler::Connect}\label{wxevthandlerconnect} @@ -101,18 +102,18 @@ is an alternative to the use of static event tables. See the 'dynamic' sample fo \membersection{wxEvtHandler::Disconnect}\label{wxevthandlerdisconnect} \func{bool}{Disconnect}{\param{int}{ id}, - \param{wxEventType }{eventType = wxEVT_NULL}, \param{wxObjectEventFunction}{ function = NULL}, + \param{wxEventType }{eventType = wxEVT\_NULL}, \param{wxObjectEventFunction}{ function = NULL}, \param{wxObject*}{ userData = NULL}} \func{bool}{Disconnect}{\param{int}{ id}, \param{int}{ lastId = -1}, - \param{wxEventType }{eventType = wxEVT_NULL}, \param{wxObjectEventFunction}{ function = NULL}, + \param{wxEventType }{eventType = wxEVT\_NULL}, \param{wxObjectEventFunction}{ function = NULL}, \param{wxObject*}{ userData = NULL}} Disconnects the given function dynamically from the event handler, using the specified -parameters as search criteria and returning TRUE if a matching event handler has been -found and removed. This method can only disconnect from functions which have been added +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 from events used in the (static) event tables. +to disconnect functions connected using the (static) event tables. \wxheading{Parameters} @@ -124,19 +125,18 @@ to disconnect from events used in the (static) event tables. \docparam{function}{The event handler function.} -\docparam{userData}{Data to be associated with the event table entry.} +\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} @@ -270,7 +270,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. @@ -280,10 +280,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}