X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3276179da6b3b1e5a21238567da7e59a480c315b..f6f0ef852ce8a020ad89bec5d67f42780a42230c:/include/wx/notebook.h diff --git a/include/wx/notebook.h b/include/wx/notebook.h index ec2065c5e3..5a806798a4 100644 --- a/include/wx/notebook.h +++ b/include/wx/notebook.h @@ -26,22 +26,35 @@ // constants // ---------------------------------------------------------------------------- -// wxNotebook hit results +// wxNotebook hit results, use wxBK_HITTEST so other book controls can share them +// if wxUSE_NOTEBOOK is disabled enum { - wxNB_HITTEST_NOWHERE = 1, // not on tab - wxNB_HITTEST_ONICON = 2, // on icon - wxNB_HITTEST_ONLABEL = 4, // on label - wxNB_HITTEST_ONITEM = wxNB_HITTEST_ONICON | wxNB_HITTEST_ONLABEL + wxNB_HITTEST_NOWHERE = wxBK_HITTEST_NOWHERE, + wxNB_HITTEST_ONICON = wxBK_HITTEST_ONICON, + wxNB_HITTEST_ONLABEL = wxBK_HITTEST_ONLABEL, + wxNB_HITTEST_ONITEM = wxBK_HITTEST_ONITEM, + wxNB_HITTEST_ONPAGE = wxBK_HITTEST_ONPAGE }; -typedef wxWindow wxNotebookPage; // so far, any window can be a page +// wxNotebook flags -extern WXDLLEXPORT_DATA(const wxChar) wxNotebookNameStr[]; +// use common book wxBK_* flags for describing alignment +#define wxNB_DEFAULT wxBK_DEFAULT +#define wxNB_TOP wxBK_TOP +#define wxNB_BOTTOM wxBK_BOTTOM +#define wxNB_LEFT wxBK_LEFT +#define wxNB_RIGHT wxBK_RIGHT -#if WXWIN_COMPATIBILITY_2_4 - #define wxNOTEBOOK_NAME wxNotebookNameStr -#endif +#define wxNB_FIXEDWIDTH 0x0100 +#define wxNB_MULTILINE 0x0200 +#define wxNB_NOPAGETHEME 0x0400 +#define wxNB_FLAT 0x0800 + + +typedef wxWindow wxNotebookPage; // so far, any window can be a page + +extern WXDLLEXPORT_DATA(const char) wxNotebookNameStr[]; // ---------------------------------------------------------------------------- // wxNotebookBase: define wxNotebook interface @@ -83,6 +96,20 @@ public: // On platforms that support it, get the theme page background colour, else invalid colour virtual wxColour GetThemeBackgroundColour() const { return wxNullColour; } + + // send wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING/ED events + + // returns false if the change to nPage is vetoed by the program + bool SendPageChangingEvent(int nPage); + + // sends the event about page change from old to new (or GetSelection() if + // new is -1) + void SendPageChangedEvent(int nPageOld, int nPageNew = -1); + + // wxBookCtrlBase overrides this method to return false but we do need + // focus because we have tabs + virtual bool AcceptsFocus() const { return wxControl::AcceptsFocus(); } + protected: DECLARE_NO_COPY_CLASS(wxNotebookBase) };