]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/tevent.tex
Various wxCollapsiblePane enhancements (re-patch 1577412):
[wxWidgets.git] / docs / latex / wx / tevent.tex
index 1e4e37c13c289a007db7489e7a77463c49f81b51..e615864ac3c1d08938c929cad229c8b260c4856e 100644 (file)
@@ -219,6 +219,30 @@ used by, the native controls in a dialog. In this case, a special event handler
 will have to be written that will override ProcessEvent() in order to pass
 all events (or any selection of them) to the parent window.
 
+
+\subsection{Events generated by the user vs programmatically generated events}\label{progevent}
+
+While generically \helpref{wxEvents}{wxevent} can be generated both by user
+actions (e.g. resize of a \helpref{wxWindow}{wxwindow}) and by calls to functions
+(e.g. \helpref{wxWindow::SetSize}{wxwindowsetsize}), wxWidgets controls
+normally send \helpref{wxCommandEvent}{wxcommandevent}-derived events only for
+the user-generated events. The only {\bf exceptions} to this rule are:
+
+\begin{twocollist}\itemsep=0pt
+\twocolitem{\helpref{wxNotebook::AddPage}{wxnotebookaddpage}}{No event-free alternatives}
+\twocolitem{\helpref{wxNotebook::AdvanceSelection}{wxnotebookadvanceselection}}{No event-free alternatives}
+\twocolitem{\helpref{wxNotebook::DeletePage}{wxnotebookdeletepage}}{No event-free alternatives}
+\twocolitem{\helpref{wxNotebook::SetSelection}{wxnotebooksetselection}}{Use \helpref{wxNotebook::ChangeSelection}{wxnotebookchangeselection} instead, as \helpref{wxNotebook::SetSelection}{wxnotebooksetselection} is deprecated}
+\twocolitem{\helpref{wxTreeCtrl::Delete}{wxtreectrldelete}}{No event-free alternatives}
+\twocolitem{\helpref{wxTreeCtrl::DeleteAllItems}{wxtreectrldeleteallitems}}{No event-free alternatives}
+\twocolitem{\helpref{wxTreeCtrl::EditLabel}{wxtreectrleditlabel}}{No event-free alternatives}
+\twocolitem{All \helpref{wxTextCtrl}{wxtextctrl} methods}{\helpref{wxTextCtrl::ChangeValue}{wxtextctrlchangevalue} can be used instead
+of \helpref{wxTextCtrl::SetValue}{wxtextctrlsetvalue} but the other functions,
+such as \helpref{Replace}{wxtextctrlreplace} or \helpref{WriteText}{wxtextctrlwritetext} 
+don't have event-free equivalents}
+\end{twocollist}
+
+
 % VZ: it doesn't work like this, but just in case we ever reenable this
 %     behaviour, I leave it here
 %
@@ -416,7 +440,9 @@ and this is done using the following macros:
 
 \begin{verbatim}
 // in the header of the source file
+BEGIN_DECLARE_EVENT_TYPES()
 DECLARE_EVENT_TYPE(name, value)
+END_DECLARE_EVENT_TYPES()
 
 // in the implementation
 DEFINE_EVENT_TYPE(name)
@@ -426,6 +452,9 @@ You can ignore the {\it value} parameter of the DECLARE\_EVENT\_TYPE macro
 since it used only for backwards compatibility with wxWidgets 2.0.x based
 applications where you have to give the event type ID an explicit value.
 
+See also the \helpref{event sample}{sampleevent} for an example of code
+defining and working with the custom event types.
+
 \wxheading{Using existing event classes}
 
 If you just want to use a \helpref{wxCommandEvent}{wxcommandevent} with
@@ -484,9 +513,9 @@ but responds to a range of window identifiers.}
 expects a member function with a wxCommandEvent argument.}
 \twocolitem{\windowstyle{EVT\_COMMAND\_RANGE(id1, id2, event, func)}}{The same as EVT\_CUSTOM\_RANGE, but
 expects a member function with a wxCommandEvent argument.}
-\twocolitem{\windowstyle{EVT\_NOTIFY(id, event, func)}}{The same as EVT\_CUSTOM, but
+\twocolitem{\windowstyle{EVT\_NOTIFY(event, id, func)}}{The same as EVT\_CUSTOM, but
 expects a member function with a wxNotifyEvent argument.}
-\twocolitem{\windowstyle{EVT\_NOTIFY\_RANGE(id1, id2, event, func)}}{The same as EVT\_CUSTOM\_RANGE, but
+\twocolitem{\windowstyle{EVT\_NOTIFY\_RANGE(event, id1, id2, func)}}{The same as EVT\_CUSTOM\_RANGE, but
 expects a member function with a wxNotifyEvent argument.}
 \end{twocollist}