#include "wx/dynarray.h"
#include "wx/imaglist.h"
+// ----------------------------------------------------------------------------
+// constants
+// ----------------------------------------------------------------------------
+
+// wxNotebook hit results
+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
+};
+
// ----------------------------------------------------------------------------
// types
// ----------------------------------------------------------------------------
// array of notebook pages
typedef wxWindow wxNotebookPage; // so far, any window can be a page
-WX_DEFINE_EXPORTED_ARRAY(wxNotebookPage *, wxArrayPages);
+WX_DEFINE_EXPORTED_ARRAY_NO_PTR(wxNotebookPage *, wxArrayPages);
#define wxNOTEBOOK_NAME _T("notebook")
// NB: this function will _not_ generate wxEVT_NOTEBOOK_PAGE_xxx events
virtual int SetSelection(int nPage) = 0;
+ // 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
+ {
+ return wxNOT_FOUND;
+ }
+
// cycle thru the tabs
void AdvanceSelection(bool forward = TRUE)
{
int m_nSel, // currently selected page
m_nOldSel; // previously selected page
- DECLARE_DYNAMIC_CLASS(wxNotebookEvent)
+ DECLARE_DYNAMIC_CLASS_NO_COPY(wxNotebookEvent)
};
// ----------------------------------------------------------------------------