]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_notebook.i
Allow the frame (if there is one) to resize the toolbar after Realize
[wxWidgets.git] / wxPython / src / _notebook.i
index 555e2997b2fd73577758270f4cc09e0c8efd6cdc..1d9565a5553994a85153574cea6ab36bee70ad6f 100644 (file)
 
 //---------------------------------------------------------------------------
 
-MAKE_CONST_WXSTRING(NOTEBOOK_NAME);
+MAKE_CONST_WXSTRING(NotebookNameStr);
 
 //---------------------------------------------------------------------------
 %newgroup
 
 // TODO:  Virtualize this class so other book controls can be derived in Python
 
-MustHaveApp(wxBookCtrl);
+MustHaveApp(wxBookCtrlBase);
 
 //  Common base class for wxList/Tree/Notebook
-class wxBookCtrl : public wxControl
+class wxBookCtrlBase : public wxControl
 {
 public:
     // This is an ABC, it can't be constructed...
 
-//     wxBookCtrl(wxWindow *parent,
+//     wxBookCtrlBase(wxWindow *parent,
 //                wxWindowID id,
 //                const wxPoint& pos = wxDefaultPosition,
 //                const wxSize& size = wxDefaultSize,
 //                long style = 0,
 //                const wxString& name = wxPyEmptyString);
-//     %name(PreBookCtrl)wxBookCtrl();
+//     %RenameCtor(PreBookCtrlBase, wxBookCtrlBase());
 //     bool Create(wxWindow *parent,
 //                 wxWindowID id,
 //                 const wxPoint& pos = wxDefaultPosition,
@@ -127,10 +127,10 @@ public:
 
 
 
-class wxBookCtrlEvent : public wxNotifyEvent
+class wxBookCtrlBaseEvent : public wxNotifyEvent
 {
 public:
-    wxBookCtrlEvent(wxEventType commandType = wxEVT_NULL, int id = 0,
+    wxBookCtrlBaseEvent(wxEventType commandType = wxEVT_NULL, int id = 0,
                     int nSel = -1, int nOldSel = -1);
 
         // the currently selected page (-1 if none)
@@ -154,6 +154,7 @@ enum {
     wxNB_RIGHT,
     wxNB_BOTTOM,
     wxNB_MULTILINE,
+    wxNB_NOPAGETHEME,
 
     // hittest flags
     wxNB_HITTEST_NOWHERE = 1,   // not on tab
@@ -167,7 +168,7 @@ enum {
 
 MustHaveApp(wxNotebook);
 
-class wxNotebook : public wxBookCtrl {
+class wxNotebook : public wxBookCtrlBase {
 public:
     %pythonAppend wxNotebook         "self._setOORInfo(self)"
     %pythonAppend wxNotebook()       ""
@@ -178,8 +179,8 @@ public:
                const wxPoint& pos = wxDefaultPosition,
                const wxSize& size = wxDefaultSize,
                long style = 0,
-               const wxString& name = wxPyNOTEBOOK_NAME);
-    %name(PreNotebook)wxNotebook();
+               const wxString& name = wxPyNotebookNameStr);
+    %RenameCtor(PreNotebook, wxNotebook());
 
     // Turn it back on again
     %typemap(out) wxNotebook* { $result = wxPyMake_wxObject($1, $owner); }
@@ -189,7 +190,7 @@ public:
                const wxPoint& pos = wxDefaultPosition,
                const wxSize& size = wxDefaultSize,
                long style = 0,
-               const wxString& name = wxPyNOTEBOOK_NAME);
+               const wxString& name = wxPyNotebookNameStr);
 
 
     // get the number of rows for a control with wxNB_MULTILINE style (not all
@@ -213,13 +214,17 @@ wx.NB_HITTEST flags.", "");
     // implement some base class functions
     virtual wxSize CalcSizeFromPage(const wxSize& sizePage) const;
 
+    // On platforms that support it, get the theme page background colour,
+    // else invalid colour
+    wxColour GetThemeBackgroundColour() const;
+    
     static wxVisualAttributes
     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
 };
 
 
 
-class wxNotebookEvent : public wxBookCtrlEvent
+class wxNotebookEvent : public wxBookCtrlBaseEvent
 {
 public:
     wxNotebookEvent(wxEventType commandType = wxEVT_NULL, int id = 0,
@@ -245,8 +250,8 @@ public:
 class NotebookPage(wx.Panel):
     """
     There is an old (and apparently unsolvable) bug when placing a
-    window with a nonstandard background colour in a wxNotebook on
-    wxGTK, as the notbooks's background colour would always be used
+    window with a nonstandard background colour in a wx.Notebook on
+    wxGTK1, as the notbooks's background colour would always be used
     when the window is refreshed.  The solution is to place a panel in
     the notbook and the coloured window on the panel, sized to cover
     the panel.  This simple class does that for you, just put an
@@ -258,7 +263,7 @@ class NotebookPage(wx.Panel):
                  style=wx.TAB_TRAVERSAL, name="panel"):
         wx.Panel.__init__(self, parent, id, pos, size, style, name)
         self.child = None
-        EVT_SIZE(self, self.OnSize)
+        self.Bind(wx.EVT_SIZE, self.OnSize)
 
     def OnSize(self, evt):
         if self.child is None:
@@ -295,7 +300,7 @@ enum
 MustHaveApp(wxListbook);
 
 //  wxListCtrl and wxNotebook combination
-class wxListbook : public wxBookCtrl
+class wxListbook : public wxBookCtrlBase
 {
 public:
     %pythonAppend wxListbook         "self._setOORInfo(self)"
@@ -307,7 +312,7 @@ public:
                const wxSize& size = wxDefaultSize,
                long style = 0,
                const wxString& name = wxPyEmptyString);
-    %name(PreListbook)wxListbook();
+    %RenameCtor(PreListbook, wxListbook());
 
     bool Create(wxWindow *parent,
                 wxWindowID id=-1,
@@ -324,7 +329,7 @@ public:
 
 
 
-class wxListbookEvent : public wxBookCtrlEvent
+class wxListbookEvent : public wxBookCtrlBaseEvent
 {
 public:
     wxListbookEvent(wxEventType commandType = wxEVT_NULL, int id = 0,
@@ -359,7 +364,7 @@ enum {
 
 MustHaveApp(wxChoicebook);
 
-class wxChoicebook : public wxBookCtrl
+class wxChoicebook : public wxBookCtrlBase
 {
 public:
     %pythonAppend wxChoicebook         "self._setOORInfo(self)"
@@ -371,7 +376,7 @@ public:
                  const wxSize& size = wxDefaultSize,
                  long style = 0,
                  const wxString& name = wxPyEmptyString);
-    %name(PreChoicebook)wxChoicebook();
+    %RenameCtor(PreChoicebook, wxChoicebook());
 
     // quasi ctor
     bool Create(wxWindow *parent,
@@ -383,13 +388,16 @@ public:
 
 
     // returns true if we have wxCHB_TOP or wxCHB_BOTTOM style
-    bool IsVertical() const { return HasFlag(wxCHB_BOTTOM | wxCHB_TOP); }
+    bool IsVertical() const;
+
+    // returns the choice control
+    wxChoice* GetChoiceCtrl() const;
 
     virtual bool DeleteAllPages();
 };
 
 
-class wxChoicebookEvent : public wxBookCtrlEvent
+class wxChoicebookEvent : public wxBookCtrlBaseEvent
 {
 public:
     wxChoicebookEvent(wxEventType commandType = wxEVT_NULL, int id = 0,
@@ -407,17 +415,18 @@ public:
 //---------------------------------------------------------------------------
 %newgroup;
 
-
+// WXWIN_COMPATIBILITY_2_4
+#if 0
 class wxBookCtrlSizer: public wxSizer
 {
 public:
     %pythonAppend wxBookCtrlSizer "self._setOORInfo(self)"
 
-    wxBookCtrlSizer( wxBookCtrl *nb );
+    wxBookCtrlSizer( wxBookCtrlBase *nb );
 
     void RecalcSizes();
     wxSize CalcMin();
-    wxBookCtrl *GetControl();
+    wxBookCtrlBase *GetControl();
 };
 
 
@@ -432,4 +441,8 @@ public:
     wxNotebook *GetNotebook();
 };
 
+%pythoncode { NotebookSizer.__init__ = wx._deprecated(NotebookSizer.__init__, "NotebookSizer is no longer needed.") }
+%pythoncode { BookCtrlSizer.__init__ = wx._deprecated(BookCtrlSizer.__init__, "BookCtrlSizer is no longer needed.") }
+#endif
+
 //---------------------------------------------------------------------------