]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/evthand.tex
GetSelection --> GetStringSelection
[wxWidgets.git] / docs / latex / wx / evthand.tex
index eff1e2aeeb0dbc1223074e4fef036a525e479464..cc269395f3c522414ddde35ea326fc9e8bdd2881 100644 (file)
@@ -8,6 +8,10 @@ this class.
 
 \helpref{wxObject}{wxobject}
 
 
 \helpref{wxObject}{wxobject}
 
+\wxheading{Include files}
+
+<wx/event.h>
+
 \wxheading{See also}
 
 \overview{Event handling overview}{eventhandlingoverview}
 \wxheading{See also}
 
 \overview{Event handling overview}{eventhandlingoverview}
@@ -28,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.
 
 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},
 \membersection{wxEvtHandler::Connect}\label{wxevthandlerconnect}
 
 \func{void}{Connect}{\param{int}{ id},
@@ -61,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}
 
     (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) MyFrame::OnQuit );
 \end{verbatim}
 
-\membersection{wxEvtHandler::Default}\label{wxevthandlerdefault}
+\membersection{wxEvtHandler::Disconnect}\label{wxevthandlerdisconnect}
+
+\func{bool}{Disconnect}{\param{int}{ id},
+ \param{wxEventType }{eventType = wxEVT\_NULL}, \param{wxObjectEventFunction}{ function = NULL},
+ \param{wxObject*}{ userData = NULL}}
 
 
-\func{virtual long}{Default}{\void}
+\func{bool}{Disconnect}{\param{int}{ id}, \param{int}{ lastId = -1},
+ \param{wxEventType }{eventType = wxEVT\_NULL}, \param{wxObjectEventFunction}{ function = NULL},
+ \param{wxObject*}{ userData = NULL}}
 
 
-Invokes default processing if this event handler is a window.
+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{Return value}
+\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.}
+
+\docparam{eventType}{The event type associated with this event handler.}
 
 
-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{function}{The event handler function.}
 
 
-Normally the application should call a base member, such as \helpref{wxWindow::OnChar}{wxwindowonchar}, which itself
-may call {\bf Default}.
+\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}
 
@@ -114,9 +161,9 @@ Gets the pointer to the next handler in the chain.
 
 \wxheading{See also}
 
 
 \wxheading{See also}
 
+\helpref{wxEvtHandler::SetNextHandler}{wxevthandlersetnexthandler},\rtfsp
 \helpref{wxEvtHandler::GetPreviousHandler}{wxevthandlergetprevioushandler},\rtfsp
 \helpref{wxEvtHandler::SetPreviousHandler}{wxevthandlersetprevioushandler},\rtfsp
 \helpref{wxEvtHandler::GetPreviousHandler}{wxevthandlergetprevioushandler},\rtfsp
 \helpref{wxEvtHandler::SetPreviousHandler}{wxevthandlersetprevioushandler},\rtfsp
-\helpref{wxEvtHandler::SetNextHandler}{wxevthandlersetnexthandler},\rtfsp
 \helpref{wxWindow::PushEventHandler}{wxwindowpusheventhandler},\rtfsp
 \helpref{wxWindow::PopEventHandler}{wxwindowpopeventhandler}
 
 \helpref{wxWindow::PushEventHandler}{wxwindowpusheventhandler},\rtfsp
 \helpref{wxWindow::PopEventHandler}{wxwindowpopeventhandler}
 
@@ -128,9 +175,9 @@ Gets the pointer to the previous handler in the chain.
 
 \wxheading{See also}
 
 
 \wxheading{See also}
 
-\helpref{wxEvtHandler::GetPreviousHandler}{wxevthandlergetprevioushandler},\rtfsp
-\helpref{wxEvtHandler::SetPreviousHandler}{wxevthandlersetprevioushandler},\rtfsp
 \helpref{wxEvtHandler::SetPreviousHandler}{wxevthandlersetprevioushandler},\rtfsp
 \helpref{wxEvtHandler::SetPreviousHandler}{wxevthandlersetprevioushandler},\rtfsp
+\helpref{wxEvtHandler::GetNextHandler}{wxevthandlergetnexthandler},\rtfsp
+\helpref{wxEvtHandler::SetNextHandler}{wxevthandlersetnexthandler},\rtfsp
 \helpref{wxWindow::PushEventHandler}{wxwindowpusheventhandler},\rtfsp
 \helpref{wxWindow::PopEventHandler}{wxwindowpopeventhandler}
 
 \helpref{wxWindow::PushEventHandler}{wxwindowpusheventhandler},\rtfsp
 \helpref{wxWindow::PopEventHandler}{wxwindowpopeventhandler}
 
@@ -224,7 +271,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.
 
@@ -234,12 +281,10 @@ 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}
 
 \helpref{wxEvtHandler::GetClientData}{wxevthandlergetclientdata}
 \wxheading{See also}
 
 \helpref{wxEvtHandler::GetClientData}{wxevthandlergetclientdata}