]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/aui.i
Factory some of wxFilterClassFactory into a base class.
[wxWidgets.git] / wxPython / src / aui.i
index 5b5d8b999efebd01398f3c785ccb744d2392f004..be013847c56d3621028112c1a8f6d2a53ec4e827 100755 (executable)
@@ -136,8 +136,11 @@ The following example shows a simple implementation that utilizes
 #define wxUSE_AUI 1
 #define WXDLLIMPEXP_AUI
 #define unsigned
+#define wxDEPRECATED(decl)
 
-// We'll let SWIG handle the function overloading for these
+
+// We'll skip making wrappers for these, they have overloads that take a
+// wxSize or wxPoint
 %ignore wxPaneInfo::MaxSize(int x, int y);
 %ignore wxPaneInfo::MinSize(int x, int y);
 %ignore wxPaneInfo::BestSize(int x, int y);
@@ -151,8 +154,11 @@ The following example shows a simple implementation that utilizes
 
 %rename(_AddPane1) wxFrameManager::AddPane(wxWindow* window, const wxPaneInfo& pane_info);
 %rename(_AddPane2) wxFrameManager::AddPane(wxWindow* window, int direction = wxLEFT,
-                                          const wxString& caption = wxEmptyString);
+                                           const wxString& caption = wxEmptyString);
 
+%rename(AddPaneAtPos) wxFrameManager::AddPane(wxWindow* window,
+                                              const wxPaneInfo& pane_info,
+                                              const wxPoint& drop_pos);
 
 // A typemap for the return value of wxFrameManager::GetAllPanes
 %typemap(out) wxPaneInfoArray& {
@@ -164,19 +170,28 @@ The following example shows a simple implementation that utilizes
 }
 
 
+%nokwargs wxAuiTabContainer::SetActivePage;
+
+%pythonAppend wxAuiTabCtrl::wxAuiTabCtrl "self._setOORInfo(self)";
+
+%pythonAppend wxAuiMultiNotebook::wxAuiMultiNotebook    "self._setOORInfo(self)";
+%pythonAppend wxAuiMultiNotebook::wxAuiMultiNotebook()  "self._setOORInfo(self)";
+%ignore wxAuiMultiNotebook::~wxAuiMultiNotebook;
+%rename(PreAuiMultiNotebook) wxAuiMultiNotebook::wxAuiMultiNotebook();
+
 //---------------------------------------------------------------------------
 // Get all our defs from the REAL header files.
 %include framemanager.h
 %include dockart.h
 %include floatpane.h
-
+%include auibook.h
 
 //---------------------------------------------------------------------------
 // Methods to inject into the FrameManager class that will sort out calls to
 // the overloaded versions of GetPane and AddPane
 
 %extend wxFrameManager {
-%pythoncode {
+    %pythoncode {
     def GetPane(self, item):
         """
         GetPane(self, window_or_info item) -> PaneInfo
@@ -213,21 +228,42 @@ The following example shows a simple implementation that utilizes
         pane info, and defaults to ``wx.LEFT``.  The pane caption may
         also be specified as an extra parameter in this form.
         """
-        if type(arg1) == PaneInfo:
-            return self._AddPane1(window, arg1)
+        if type(info) == PaneInfo:
+            return self._AddPane1(window, info)
         else:
             # This Is AddPane2
-            if arg1 is None:
-                arg1 = wx.LEFT
-            if arg2 is None:
-                arg2 = ""
-            return self._AddPane2(window, arg1, arg2)
+            if info is None:
+                info = wx.LEFT
+            if caption is None:
+                caption = ""
+            return self._AddPane2(window, info, caption)
+    }
+
+    // For backwards compatibility
+    %pythoncode {
+         SetFrame = wx._deprecated(SetManagedWindow,
+                                   "SetFrame is deprecated, use `SetManagedWindow` instead.")
+         GetFrame = wx._deprecated(GetManagedWindow,
+                                   "GetFrame is deprecated, use `GetManagedWindow` instead.")
+    }
 }
+
+%extend wxDockInfo {
+    ~wxDockInfo() {}
+}
+
+%extend wxDockUIPart {
+    ~wxDockUIPart() {}
+}
+
+%extend wxPaneButton {
+    ~wxPaneButton() {}
 }
 
 //---------------------------------------------------------------------------
 
 %{
+// A wxDocArt class that knows how to forward virtuals to Python methods  
 class wxPyDockArt :  public wxDefaultDockArt
 {
     wxPyDockArt() : wxDefaultDockArt() {}
@@ -240,6 +276,7 @@ class wxPyDockArt :  public wxDefaultDockArt
     DEC_PYCALLBACK__INTCOLOUR(SetColour);
 
     virtual void DrawSash(wxDC& dc,
+                          wxWindow* window,
                           int orientation,
                           const wxRect& rect)
     {
@@ -247,18 +284,20 @@ class wxPyDockArt :  public wxDefaultDockArt
         wxPyBlock_t blocked = wxPyBeginBlockThreads();
         if ((found = wxPyCBH_findCallback(m_myInst, "DrawSash"))) {
             PyObject* odc = wxPyMake_wxObject(&dc, false);
+            PyObject* owin = wxPyMake_wxObject(window, false);
             PyObject* orect = wxPyConstructObject((void*)&rect, wxT("wxRect"), 0);
-            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OiO)",
-                                                         odc, orientation, orect));
+            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OOiO)",
+                                                         odc, owin, orientation, orect));
             Py_DECREF(odc);
             Py_DECREF(orect);
         }
         wxPyEndBlockThreads(blocked);
         if (! found)
-            wxDefaultDockArt::DrawSash(dc, orientation, rect);
+            wxDefaultDockArt::DrawSash(dc, window, orientation, rect);
     }
 
     virtual void DrawBackground(wxDC& dc,
+                          wxWindow* window,
                           int orientation,
                           const wxRect& rect)
     {
@@ -266,18 +305,20 @@ class wxPyDockArt :  public wxDefaultDockArt
         wxPyBlock_t blocked = wxPyBeginBlockThreads();
         if ((found = wxPyCBH_findCallback(m_myInst, "DrawBackground"))) {
             PyObject* odc = wxPyMake_wxObject(&dc, false);
+            PyObject* owin = wxPyMake_wxObject(window, false);
             PyObject* orect = wxPyConstructObject((void*)&rect, wxT("wxRect"), 0);
-            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OiO)",
-                                                         odc, orientation, orect));
+            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OOiO)",
+                                                         odc, owin, orientation, orect));
             Py_DECREF(odc);
             Py_DECREF(orect);
         }
         wxPyEndBlockThreads(blocked);
         if (! found)
-            wxDefaultDockArt::DrawBackground(dc, orientation, rect);
+            wxDefaultDockArt::DrawBackground(dc, window, orientation, rect);
     }
 
     virtual void DrawCaption(wxDC& dc,
+                          wxWindow* window,
                           const wxString& text,
                           const wxRect& rect,
                           wxPaneInfo& pane)
@@ -286,11 +327,12 @@ class wxPyDockArt :  public wxDefaultDockArt
         wxPyBlock_t blocked = wxPyBeginBlockThreads();
         if ((found = wxPyCBH_findCallback(m_myInst, "DrawCaption"))) {
             PyObject* odc = wxPyMake_wxObject(&dc, false);
+            PyObject* owin = wxPyMake_wxObject(window, false);
             PyObject* otext = wx2PyString(text);
             PyObject* orect = wxPyConstructObject((void*)&rect, wxT("wxRect"), 0);
             PyObject* opane = wxPyConstructObject((void*)&pane, wxT("wxPaneInfo"), 0);
-            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OOOO)",
-                                                         odc, otext, orect, opane));
+            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OOOOO)",
+                                                         odc, owin, otext, orect, opane));
             Py_DECREF(odc);
             Py_DECREF(otext);
             Py_DECREF(orect);
@@ -298,10 +340,11 @@ class wxPyDockArt :  public wxDefaultDockArt
        }
         wxPyEndBlockThreads(blocked);
         if (! found)
-            wxDefaultDockArt::DrawCaption(dc, text, rect, pane);
+            wxDefaultDockArt::DrawCaption(dc, window, text, rect, pane);
     }
 
     virtual void DrawGripper(wxDC& dc,
+                          wxWindow* window,
                           const wxRect& rect,
                           wxPaneInfo& pane)
     {
@@ -309,19 +352,21 @@ class wxPyDockArt :  public wxDefaultDockArt
         wxPyBlock_t blocked = wxPyBeginBlockThreads();
         if ((found = wxPyCBH_findCallback(m_myInst, "DrawGripper"))) {
             PyObject* odc = wxPyMake_wxObject(&dc, false);
+            PyObject* owin = wxPyMake_wxObject(window, false);
             PyObject* orect = wxPyConstructObject((void*)&rect, wxT("wxRect"), 0);
             PyObject* opane = wxPyConstructObject((void*)&pane, wxT("wxPaneInfo"), 0);
-            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OOO)", odc, orect, opane));
+            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OOOO)", odc, owin, orect, opane));
             Py_DECREF(odc);
             Py_DECREF(orect);
             Py_DECREF(opane);
         }
         wxPyEndBlockThreads(blocked);
         if (! found)
-            wxDefaultDockArt::DrawGripper(dc, rect, pane);
+            wxDefaultDockArt::DrawGripper(dc, window, rect, pane);
     }
 
     virtual void DrawBorder(wxDC& dc,
+                          wxWindow* window,
                           const wxRect& rect,
                           wxPaneInfo& pane)
     {
@@ -329,6 +374,7 @@ class wxPyDockArt :  public wxDefaultDockArt
         wxPyBlock_t blocked = wxPyBeginBlockThreads();
         if ((found = wxPyCBH_findCallback(m_myInst, "DrawBorder"))) {
             PyObject* odc = wxPyMake_wxObject(&dc, false);
+            PyObject* owin = wxPyMake_wxObject(window, false);
             PyObject* orect = wxPyConstructObject((void*)&rect, wxT("wxRect"), 0);
             PyObject* opane = wxPyConstructObject((void*)&pane, wxT("wxPaneInfo"), 0);
             wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OOO)", odc, orect, opane));
@@ -338,10 +384,11 @@ class wxPyDockArt :  public wxDefaultDockArt
        }
         wxPyEndBlockThreads(blocked);
         if (! found)
-            wxDefaultDockArt::DrawBorder(dc, rect, pane);
+            wxDefaultDockArt::DrawBorder(dc, window, rect, pane);
     }
 
     virtual void DrawPaneButton(wxDC& dc,
+                          wxWindow* window,
                           int button,
                           int button_state,
                           const wxRect& rect,
@@ -351,10 +398,11 @@ class wxPyDockArt :  public wxDefaultDockArt
         wxPyBlock_t blocked = wxPyBeginBlockThreads();
         if ((found = wxPyCBH_findCallback(m_myInst, "DrawPaneButton"))) {
             PyObject* odc = wxPyMake_wxObject(&dc, false);
+            PyObject* owin = wxPyMake_wxObject(window, false);
             PyObject* orect = wxPyConstructObject((void*)&rect, wxT("wxRect"), 0);
             PyObject* opane = wxPyConstructObject((void*)&pane, wxT("wxPaneInfo"), 0);
-            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OiIOO)",
-                                                         odc, button, button_state,
+            wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OOiIOO)",
+                                                         odc, owin, button, button_state,
                                                          orect, opane));
             Py_DECREF(odc);
             Py_DECREF(orect);
@@ -362,7 +410,7 @@ class wxPyDockArt :  public wxDefaultDockArt
         }
         wxPyEndBlockThreads(blocked);
         if (! found)
-            wxDefaultDockArt::DrawPaneButton(dc, button, button_state, rect, pane);
+            wxDefaultDockArt::DrawPaneButton(dc, window, button, button_state, rect, pane);
     }
 
     PYPRIVATE;
@@ -392,6 +440,43 @@ class wxPyDockArt :  public wxDefaultDockArt
 };
 
 
+//---------------------------------------------------------------------------
+
+%extend wxAuiMultiNotebook {
+    %property(PageCount, GetPageCount, doc="See `GetPageCount`");
+    %property(Selection, GetSelection, SetSelection, doc="See `GetSelection` and `SetSelection`");
+}
+
+
+%extend wxAuiNotebookEvent {
+    %property(OldSelection, GetOldSelection, SetOldSelection, doc="See `GetOldSelection` and `SetOldSelection`");
+    %property(Selection, GetSelection, SetSelection, doc="See `GetSelection` and `SetSelection`");
+}
+
+
+%extend wxAuiTabContainer {
+    %property(ActivePage, GetActivePage, SetActivePage, doc="See `GetActivePage` and `SetActivePage`");
+    %property(PageCount, GetPageCount, doc="See `GetPageCount`");
+    %property(Pages, GetPages, doc="See `GetPages`");
+}
+
+
+%extend wxFrameManager {
+    %property(AllPanes, GetAllPanes, doc="See `GetAllPanes`");
+    %property(ArtProvider, GetArtProvider, SetArtProvider, doc="See `GetArtProvider` and `SetArtProvider`");
+    %property(Flags, GetFlags, SetFlags, doc="See `GetFlags` and `SetFlags`");
+    %property(ManagedWindow, GetManagedWindow, SetManagedWindow, doc="See `GetManagedWindow` and `SetManagedWindow`");
+}
+
+
+%extend wxFrameManagerEvent {
+    %property(Button, GetButton, SetButton, doc="See `GetButton` and `SetButton`");
+    %property(DC, GetDC, SetDC, doc="See `GetDC` and `SetDC`");
+    %property(Pane, GetPane, SetPane, doc="See `GetPane` and `SetPane`");
+}
+
+
+//---------------------------------------------------------------------------
 
 #undef wxUSE_AUI
 #undef WXDLLIMPEXP_AUI