+ // typically, wxBookCtrl-derived classes will use DoSetSelection() function
+ // to implement SetSelection() and ChangeSelection() functions.
+ // these flags make DoSetSelection() more readable
+ enum
+ {
+ SetSelection_SendEvent = 1
+ };
+
+ // if using DoSetSelection() for implementing [Set|Change]Selection,
+ // then override UpdateSelectedPage() and MakeChangedEvent()
+ virtual int DoSetSelection(size_t nPage, int flags, wxBookCtrlBaseEvent &event);
+ virtual void UpdateSelectedPage(size_t WXUNUSED(newsel))
+ { wxFAIL_MSG(wxT("Override this function!")); }
+ virtual void MakeChangedEvent(wxBookCtrlBaseEvent &WXUNUSED(event))
+ { wxFAIL_MSG(wxT("Override this function!")); }
+
+ // Should we accept NULL page pointers in Add/InsertPage()?
+ //
+ // Default is no but derived classes may override it if they can treat NULL
+ // pages in some sensible way (e.g. wxTreebook overrides this to allow
+ // having nodes without any associated page)
+ virtual bool AllowNullPage() const { return false; }
+