X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/febb39df079df7ee642ad70d47be72cb57870f1c..58211774c81794d1408967203294af1206b29394:/wxPython/src/aui.i diff --git a/wxPython/src/aui.i b/wxPython/src/aui.i index 5b5d8b999e..be013847c5 100755 --- a/wxPython/src/aui.i +++ b/wxPython/src/aui.i @@ -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