]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/doxygen/overviews/eventhandling.h
having menu classinfo at one place
[wxWidgets.git] / docs / doxygen / overviews / eventhandling.h
index 05ad03f49ad1a75de4714f4db07359eae8831459..0915d46ce5609fb4dcd28b0f9fa495e80aff686a 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     topic overview
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
@@ -110,7 +110,7 @@ return information is passed via the argument, which is why it is non-const).
 You also need to insert a macro
 
 @code
-DECLARE_EVENT_TABLE()
+wxDECLARE_EVENT_TABLE()
 @endcode
 
 somewhere in the class declaration. It doesn't matter where it appears but
@@ -150,12 +150,12 @@ placed in an implementation file. The event table tells wxWidgets how to map
 events to member functions and in our example it could look like this:
 
 @code
-BEGIN_EVENT_TABLE(MyFrame, wxFrame)
+wxBEGIN_EVENT_TABLE(MyFrame, wxFrame)
     EVT_MENU(wxID_EXIT, MyFrame::OnExit)
     EVT_MENU(DO_TEST, MyFrame::DoTest)
     EVT_SIZE(MyFrame::OnSize)
     EVT_BUTTON(BUTTON1, MyFrame::OnButton1)
-END_EVENT_TABLE()
+wxEND_EVENT_TABLE()
 @endcode
 
 Notice that you must mention a method you want to use for the event handling in
@@ -221,6 +221,8 @@ events.
 
 @subsection overview_events_bind Dynamic Event Handling
 
+@see @ref overview_cpp_rtti_disabled
+
 The possibilities of handling events in this way are rather different.
 Let us start by looking at the syntax: the first obvious difference is that you
 need not use DECLARE_EVENT_TABLE() nor BEGIN_EVENT_TABLE() and the
@@ -535,7 +537,7 @@ and their parent-child relation are well understood by the programmer while it
 may be difficult, if not impossible, to track down all the dialogs that
 may be popped up in a complex program (remember that some are created
 automatically by wxWidgets). If you need to specify a different behaviour for
-some reason, you can use wxWindow::SetExtraStyle(wxWS_EX_BLOCK_EVENTS)
+some reason, you can use <tt>wxWindow::SetExtraStyle(wxWS_EX_BLOCK_EVENTS)</tt>
 explicitly to prevent the events from being propagated beyond the given window
 or unset this flag for the dialogs that have it on by default.
 
@@ -592,6 +594,16 @@ Both strategies are described in details below. See also the @ref
 page_samples_event for a complete example of code defining and working with the
 custom event types.
 
+Finally, you will need to generate and post your custom events.
+Generation is as simple as instancing your custom event class and initializing
+its internal fields.
+For posting events to a certain event handler there are two possibilities: 
+using wxEvtHandler::AddPendingEvent or using wxEvtHandler::QueueEvent.
+Basically you will need to use the latter when doing inter-thread communication;
+when you use only the main thread you can also safely use the former.
+Last, note that there are also two simple global wrapper functions associated
+to the two wxEvtHandler mentioned functions: wxPostEvent() and wxQueueEvent().
+
 
 @subsection overview_events_custom_existing Using Existing Event Classes