- // calculate the size of the notebook from the size of its page
- virtual wxSize CalcSizeFromPage(const wxSize& sizePage);
-
- // operations
- // ----------
-
- // remove one page from the notebook and delete it
- virtual bool DeletePage(int nPage);
-
- // remove one page from the notebook, without deleting it
- virtual bool RemovePage(int nPage) { return DoRemovePage(nPage) != NULL; }
-
- // remove all pages and delete them
- virtual bool DeleteAllPages() { WX_CLEAR_ARRAY(m_pages); return TRUE; }
-
- // adds a new page to the notebook (it will be deleted by the notebook,
- // don't delete it yourself) and make it the current one if bSelect
- virtual bool AddPage(wxNotebookPage *pPage,
- const wxString& strText,
- bool bSelect = FALSE,
- int imageId = -1)
- {
- return InsertPage(GetPageCount(), pPage, strText, bSelect, imageId);
- }
-
- // the same as AddPage(), but adds the page at the specified position
- virtual bool InsertPage(int nPage,
- wxNotebookPage *pPage,
- const wxString& strText,
- bool bSelect = FALSE,
- int imageId = -1) = 0;
-
- // set the currently selected page, return the index of the previously
- // selected one (or -1 on error)
- //
- // NB: this function will _not_ generate wxEVT_NOTEBOOK_PAGE_xxx events
- virtual int SetSelection(int nPage) = 0;
-
- // cycle thru the tabs
- void AdvanceSelection(bool forward = TRUE)
+ // hit test, returns which tab is hit and, optionally, where (icon, label)
+ // (not implemented on all platforms)
+ virtual int HitTest(const wxPoint& WXUNUSED(pt),
+ long * WXUNUSED(flags) = NULL) const