]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_notebook.i
Apply parts of patch #1719888 to fix compilation on Mac and with
[wxWidgets.git] / wxPython / src / _notebook.i
index 8f2e0b4846739ab749731c48a186e2e0bd14db81..703c7718c6d0502624a3f11e5978ba493a292205 100644 (file)
@@ -27,7 +27,15 @@ enum {
     wxBK_BOTTOM,
     wxBK_LEFT,
     wxBK_RIGHT,
-    wxBK_ALIGN_MASK
+    wxBK_ALIGN_MASK,
+    wxBK_BUTTONBAR,
+
+    // hittest flags
+    wxBK_HITTEST_NOWHERE = 1,   // not on tab
+    wxBK_HITTEST_ONICON  = 2,   // on icon
+    wxBK_HITTEST_ONLABEL = 4,   // on label
+    wxBK_HITTEST_ONITEM  = wxBK_HITTEST_ONICON | wxBK_HITTEST_ONLABEL,
+    wxBK_HITTEST_ONPAGE  = 8,   // not on tab control, but over the selected page
 };
 
 
@@ -106,9 +114,16 @@ public:
     // returns true if we have wxCHB_TOP or wxCHB_BOTTOM style
     bool IsVertical() const;
 
+    // Sets/gets the margin around the controller
+    void SetControlMargin(int margin);
+    int GetControlMargin() const;
+
     // set/get option to shrink to fit current page
-    void SetShrinkMode(bool shrink);
-    bool GetShrinkMode() const;
+    void SetFitToCurrentPage(bool fit);
+    bool GetFitToCurrentPage() const;
+
+    // returns the sizer containing the control, if any
+    wxSizer* GetControlSizer() const;
 
 
     // remove one page from the control and delete it
@@ -139,12 +154,34 @@ public:
     // NB: this function will _not_ generate PAGE_CHANGING/ED events
     virtual int SetSelection(size_t n)/* = 0*/;
 
+    
+    // acts as SetSelection but does not generate events
+    virtual int ChangeSelection(size_t n)/* = 0*/;
 
     // cycle thru the pages
     void AdvanceSelection(bool forward = true);
 
+    DocDeclAStr(
+        virtual int, HitTest(const wxPoint& pt, long* OUTPUT) const,
+        "HitTest(Point pt) -> (tab, where)",
+        "Returns the page/tab which is hit, and flags indicating where using
+wx.NB_HITTEST flags.", "");
+
     static wxVisualAttributes
     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
+
+    %property(ControlMargin, GetControlMargin, SetControlMargin, doc="See `GetControlMargin` and `SetControlMargin`");
+    %property(ControlSizer, GetControlSizer, doc="See `GetControlSizer`");
+    %property(CurrentPage, GetCurrentPage, doc="See `GetCurrentPage`");
+    %property(FitToCurrentPage, GetFitToCurrentPage, SetFitToCurrentPage, doc="See `GetFitToCurrentPage` and `SetFitToCurrentPage`");
+    %property(ImageList, GetImageList, SetImageList, doc="See `GetImageList` and `SetImageList`");
+    %property(InternalBorder, GetInternalBorder, SetInternalBorder, doc="See `GetInternalBorder` and `SetInternalBorder`");
+    %property(Page, GetPage, doc="See `GetPage`");
+    %property(PageCount, GetPageCount, doc="See `GetPageCount`");
+    %property(PageImage, GetPageImage, SetPageImage, doc="See `GetPageImage` and `SetPageImage`");
+    %property(PageText, GetPageText, SetPageText, doc="See `GetPageText` and `SetPageText`");
+    %property(Selection, GetSelection, SetSelection, doc="See `GetSelection` and `SetSelection`");
+
 };
 
 
@@ -161,6 +198,10 @@ public:
         // the page that was selected before the change (-1 if none)
     int GetOldSelection() const;
     void SetOldSelection(int nOldSel);
+
+    %property(OldSelection, GetOldSelection, SetOldSelection, doc="See `GetOldSelection` and `SetOldSelection`");
+    %property(Selection, GetSelection, SetSelection, doc="See `GetSelection` and `SetSelection`");
+
 };
 
 
@@ -178,12 +219,12 @@ enum {
     wxNB_MULTILINE,
     wxNB_NOPAGETHEME,
 
-    // hittest flags
-    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,
-
+    // for backwards compatibility only
+    wxNB_HITTEST_NOWHERE,
+    wxNB_HITTEST_ONICON,
+    wxNB_HITTEST_ONLABEL,
+    wxNB_HITTEST_ONITEM,
+    wxNB_HITTEST_ONPAGE,
 };
 
 
@@ -225,14 +266,6 @@ public:
     // set the size of the tabs for wxNB_FIXEDWIDTH controls
     virtual void SetTabSize(const wxSize& sz);
 
-    // hit test, returns which tab is hit and, optionally, where (icon, label)
-    // (not implemented on all platforms)
-    DocDeclAStr(
-        virtual int, HitTest(const wxPoint& pt, long* OUTPUT) const,
-        "HitTest(Point pt) -> (tab, where)",
-        "Returns the tab which is hit, and flags indicating where using
-wx.NB_HITTEST flags.", "");
-
     // implement some base class functions
     virtual wxSize CalcSizeFromPage(const wxSize& sizePage) const;
 
@@ -242,6 +275,16 @@ wx.NB_HITTEST flags.", "");
 
     static wxVisualAttributes
     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
+
+    // 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);
+
+    %property(RowCount, GetRowCount, doc="See `GetRowCount`");
+    %property(ThemeBackgroundColour, GetThemeBackgroundColour, doc="See `GetThemeBackgroundColour`");
 };
 
 
@@ -344,6 +387,7 @@ public:
                 const wxString& name = wxPyEmptyString);
 
     wxListView* GetListView();
+    %property(ListView, GetListView, doc="See `GetListView`");
 };
 
 
@@ -410,6 +454,9 @@ public:
     wxChoice* GetChoiceCtrl() const;
 
     virtual bool DeleteAllPages();
+
+    %property(ChoiceCtrl, GetChoiceCtrl, doc="See `GetChoiceCtrl`");
+
 };
 
 
@@ -473,12 +520,11 @@ public:
                             int imageId = wxNOT_FOUND);
 
     // Inserts a new sub-page to the end of children of the page at given pos.
-    %Rename(InsertSubPage,
-            virtual bool, AddSubPage(size_t pos,
-                                     wxWindow *page,
-                                     const wxString& text,
-                                     bool select = false,
-                                     int imageId = wxNOT_FOUND));
+    virtual bool InsertSubPage(size_t pos,
+                               wxWindow *page,
+                               const wxString& text,
+                               bool select = false,
+                               int imageId = wxNOT_FOUND);
 
     // Adds a new page at top level after all other pages.
     virtual bool AddPage(wxWindow *page,
@@ -517,8 +563,9 @@ public:
     int GetPageParent(size_t pos) const;
 
     // the tree control we use for showing the pages index tree
-    wxTreeCtrl* GetTreeCtrl() const;
+    wxPyTreeCtrl* GetTreeCtrl() const;
 
+    %property(TreeCtrl, GetTreeCtrl, doc="See `GetTreeCtrl`");
 };
 
 
@@ -578,6 +625,8 @@ public:
     // Not part of the wxBookctrl API, but must be called in OnIdle or
     // by application to realize the toolbar and select the initial page.
     void Realize();
+
+    %property(ToolBar, GetToolBar, doc="See `GetToolBar`");
 };