]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/bookctrl.h
Introduced invalidation of ranges for later optimization code
[wxWidgets.git] / include / wx / bookctrl.h
index 95e79de2abfb4a5f29ce7e40d6068a3c5ccf5271..dcfb8ae81be1de0a72cb4d374dc78f6e21061b20 100644 (file)
@@ -118,6 +118,15 @@ public:
     // calculate the size of the control from the size of its page
     virtual wxSize CalcSizeFromPage(const wxSize& sizePage) const = 0;
 
+    // get/set size of area between book control area and page area
+    inline unsigned int GetInternalBorder() const
+    {
+        return m_internalBorder;
+    }
+    void SetInternalBorder(unsigned int internalBorder)
+    {
+        m_internalBorder = internalBorder;
+    }
 
     // operations
     // ----------
@@ -176,6 +185,13 @@ public:
     }
 
 protected:
+    // 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; }
+
     // remove the page and return a pointer to it
     virtual wxWindow *DoRemovePage(size_t page) = 0;
 
@@ -185,13 +201,9 @@ protected:
     // helper: get the next page wrapping if we reached the end
     int GetNextPage(bool forward) const;
 
-    // common part of all ctors
-    void Init();
-
     // Always rely on GetBestSize, which will look at all the pages
     virtual void SetInitialBestSize(const wxSize& WXUNUSED(size)) { }
 
-
     // the array of all pages of this control
     wxArrayPages m_pages;
 
@@ -201,6 +213,13 @@ protected:
     // true if we must delete m_imageList
     bool m_ownsImageList;
 
+private:
+
+    // common part of all ctors
+    void Init();
+
+    // internal border
+    unsigned int m_internalBorder;
 
     DECLARE_NO_COPY_CLASS(wxBookCtrlBase)
 };