]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/evthand.tex
applied wxTR_HIDE_ROOT patch for wxMSW
[wxWidgets.git] / docs / latex / wx / evthand.tex
index a922333c501b000a2b4d99a86a1a105e9d57833c..3b543f1a72bf6a49027685e03137a752dda5bc24 100644 (file)
@@ -36,9 +36,7 @@ each other.
 
 \func{virtual void}{AddPendingEvent}{\param{wxEvent\& }{event}}
 
 
 \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}
 
 
 \wxheading{Parameters}
 
@@ -46,24 +44,27 @@ method.
 
 \wxheading{Remarks}
 
 
 \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}
 
 
 \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},
 \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{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
  \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
 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}
 
 
 \wxheading{Parameters}
 
@@ -124,19 +125,18 @@ to disconnect from events used in the (static) event tables.
 
 \docparam{function}{The event handler function.}
 
 
 \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}
 
 
 \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
 
 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}
 
 
 \wxheading{See also}
 
@@ -270,7 +270,7 @@ fail, and searching will continue.
 
 \membersection{wxEvtHandler::SetClientData}\label{wxevthandlersetclientdata}
 
 
 \membersection{wxEvtHandler::SetClientData}\label{wxevthandlersetclientdata}
 
-\func{void}{SetClientData}{\param{char* }{data}}
+\func{void}{SetClientData}{\param{void* }{data}}
 
 Sets user-supplied client data.
 
 
 Sets user-supplied client data.
 
@@ -280,10 +280,9 @@ Sets user-supplied client data.
 
 \wxheading{Remarks}
 
 
 \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.
 with new data members.
-%TODO: make this void*, char* only in compatibility mode.
 
 \wxheading{See also}
 
 
 \wxheading{See also}