]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/notebook.h
MOre fixes for DLL builds
[wxWidgets.git] / include / wx / notebook.h
index 03fb928e887d1667c1833e300356052ba5bedee8..aac71c2032df61d305fef02ff61ef24e4b1b4944 100644 (file)
 #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
 // ----------------------------------------------------------------------------
@@ -35,7 +48,7 @@
 // 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")
 
@@ -144,6 +157,14 @@ public:
     // 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)
     {
@@ -198,7 +219,7 @@ private:
     int m_nSel,     // currently selected page
         m_nOldSel;  // previously selected page
 
-    DECLARE_DYNAMIC_CLASS(wxNotebookEvent)
+    DECLARE_DYNAMIC_CLASS_NO_COPY(wxNotebookEvent)
 };
 
 // ----------------------------------------------------------------------------