]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/noteevt.tex
fixed crash in OnSize() handler
[wxWidgets.git] / docs / latex / wx / noteevt.tex
index a8602c56886445a70a4fd5cd42d743874288349b..92d84b60a76b9f9080bfa050db88b3b68aaa4804 100644 (file)
@@ -1,14 +1,37 @@
 \section{\class{wxNotebookEvent}}\label{wxnotebookevent}
 
-This class represents the events generated by a notebook control.
+This class represents the events generated by a notebook control: currently,
+there are two of them. The PAGE\_CHANGING event is sent before the current
+page is changed. It allows to the program to examine the current page (which
+can be retrieved with 
+\helpref{GetOldSelection()}{wxnotebookeventgetoldselection}) and to veto the page
+change by calling \helpref{Veto()}{wxnotifyeventveto} if, for example, the
+current values in the controls of the old page are invalid.
+
+The second event - PAGE\_CHANGED - is sent after the page has been changed and
+the program cannot veto it any more, it just informs it about the page change.
+
+To summarize, if the program is interested in validating the page values
+before allowing the user to change it, it should process the PAGE\_CHANGING
+event, otherwise PAGE\_CHANGED is probably enough. In any case, it is probably
+unnecessary to process both events at once.
+
+{\bf NB:} under Windows, GetSelection() will return the same value as
+GetOldSelection() when called from PAGE\_CHANGING handler and not the page
+which is going to be selected if the handler doesn't call Veto().
 
 \wxheading{Derived from}
 
+\helpref{wxNotifyEvent}{wxnotifyevent}\\
 \helpref{wxCommandEvent}{wxcommandevent}\\
 \helpref{wxEvent}{wxevent}\\
 \helpref{wxEvtHandler}{wxevthandler}\\
 \helpref{wxObject}{wxobject}
 
+\wxheading{Include files}
+
+<wx/notebook.h>
+
 \wxheading{Event table macros}
 
 To process a notebook event, use these event handler macros to direct input to member
@@ -16,10 +39,10 @@ functions that take a wxNotebookEvent argument.
 
 \twocolwidtha{7cm}
 \begin{twocollist}\itemsep=0pt
-\twocolitem{{\bf EVT\_NOTEBOOK_PAGE_CHANGED(id, func)}}{The page selection was changed. Processes a
+\twocolitem{{\bf EVT\_NOTEBOOK\_PAGE\_CHANGED(id, func)}}{The page selection was changed. Processes a
 wxEVT\_COMMAND\_NOTEBOOK\_PAGE\_CHANGED event.}
-\twocolitem{{\bf EVT\_NOTEBOOK_PAGE_CHANGING(id, func)}}{The page selection is about to be changed.
-Processes a wxEVT\_COMMAND\_NOTEBOOK\_PAGE\_CHANGING event.}
+\twocolitem{{\bf EVT\_NOTEBOOK\_PAGE\_CHANGING(id, func)}}{The page selection is about to be changed.
+Processes a wxEVT\_COMMAND\_NOTEBOOK\_PAGE\_CHANGING event. This event can be \helpref{vetoed}{wxnotifyeventveto}.}
 \end{twocollist}%
 
 \wxheading{See also}
@@ -33,7 +56,7 @@ Processes a wxEVT\_COMMAND\_NOTEBOOK\_PAGE\_CHANGING event.}
 \func{}{wxNotebookEvent}{\param{wxEventType}{ eventType = wxEVT\_NULL},
  \param{int}{ id = 0}, \param{int}{ sel = -1}, \param{int}{ oldSel = -1}}
 
-Constructor.
+Constructor (used internally by wxWindows only).
 
 \membersection{wxNotebookEvent::GetOldSelection}\label{wxnotebookeventgetoldselection}