X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d48ae46b24b5c9e1e76bea82fbf6fe557fa3f087..56ba0394113fe3eba49632c7ad567db9e085ce12:/wxPython/src/aui.i diff --git a/wxPython/src/aui.i b/wxPython/src/aui.i index 24788f1f62..ee3dcdb88f 100755 --- a/wxPython/src/aui.i +++ b/wxPython/src/aui.i @@ -132,11 +132,21 @@ The following example shows a simple implementation that utilizes //--------------------------------------------------------------------------- - +// Preprocessor stuff so SWIG doesn't get confused when %include-ing +// the aui .h files. +%ignore wxUSE_AUI; +%ignore wxUSE_MENUS; +%ignore wxABI_VERSION; #define wxUSE_AUI 1 +#define wxUSE_MENUS 1 +#define wxABI_VERSION 99999 + #define WXDLLIMPEXP_AUI #define unsigned #define wxDEPRECATED(decl) +#define DECLARE_EVENT_TABLE() +#define DECLARE_DYNAMIC_CLASS(foo) + // We'll skip making wrappers for these, they have overloads that take a @@ -175,24 +185,53 @@ The following example shows a simple implementation that utilizes %pythonAppend wxAuiTabCtrl::wxAuiTabCtrl "self._setOORInfo(self)"; %pythonAppend wxAuiNotebook::wxAuiNotebook "self._setOORInfo(self)"; -%pythonAppend wxAuiNotebook::wxAuiNotebook() "self._setOORInfo(self)"; +%pythonAppend wxAuiNotebook::wxAuiNotebook() "val._setOORInfo(val)"; %ignore wxAuiiNotebook::~wxAuiNotebook; %rename(PreAuiNotebook) wxAuiNotebook::wxAuiNotebook(); - - -%ignore wxAuiDefaultTabArt::SetWindow; // Link error... +// Link error... +%ignore wxAuiDefaultTabArt::SetWindow; // ignore this overload %ignore wxAuiTabContainer::GetPage(size_t idx) const; + +%pythonAppend wxAuiMDIParentFrame::wxAuiMDIParentFrame "self._setOORInfo(self)"; +%pythonAppend wxAuiMDIParentFrame::wxAuiMDIParentFrame() "val._setOORInfo(val)"; +%ignore wxAuiMDIParentFrame::~wxAuiMDIParentFrame; +%rename(PreAuiMDIParentFrame) wxAuiMDIParentFrame::wxAuiMDIParentFrame(); + +// Ignore these for now because they need a typemap for the return value, see below. +%ignore wxAuiMDIParentFrame::GetNotebook; +%ignore wxAuiMDIParentFrame::GetActiveChild; +%ignore wxAuiMDIParentFrame::GetClientWindow; + +%pythonAppend wxAuiMDIChildFrame::wxAuiMDIChildFrame "self._setOORInfo(self)"; +%pythonAppend wxAuiMDIChildFrame::wxAuiMDIChildFrame() "val._setOORInfo(val)"; +%ignore wxAuiMDIChildFrame::~wxAuiMDIChildFrame; +%rename(PreAuiMDIChildFrame) wxAuiMDIChildFrame::wxAuiMDIChildFrame(); + +%pythonAppend wxAuiMDIClientWindow::wxAuiMDIClientWindow "self._setOORInfo(self)"; +%pythonAppend wxAuiMDIClientWindow::wxAuiMDIClientWindow() "val._setOORInfo(val)"; +%ignore wxAuiMDIClientWindow::~wxAuiMDIClientWindow; +%rename(PreAuiMDIClientWindow) wxAuiMDIClientWindow::wxAuiMDIClientWindow(); + + +%typemap(out) wxEvtHandler* { $result = wxPyMake_wxObject($1, $owner); } + //--------------------------------------------------------------------------- // Get all our defs from the REAL header files. + +#define wxColor wxColour // fix problem in dockart.h + %include framemanager.h %include dockart.h %include floatpane.h %include auibook.h +%include tabmdi.h + +#undef wxColor //--------------------------------------------------------------------------- // Methods to inject into the FrameManager class that will sort out calls to @@ -268,12 +307,43 @@ The following example shows a simple implementation that utilizes ~wxAuiPaneButton() {} } +%extend wxAuiMDIParentFrame { + %typemap(out) wxAuiNotebook* { $result = wxPyMake_wxObject($1, $owner); } + %typemap(out) wxAuiMDIChildFrame* { $result = wxPyMake_wxObject($1, $owner); } + %typemap(out) wxAuiMDIClientWindow* { $result = wxPyMake_wxObject($1, $owner); } + + %rename(GetNotebook) _GetNotebook; + %rename(GetActiveChild) _GetActiveChild; + %rename(GetClientWindow) _GetClientWindow; + + wxAuiNotebook* _GetNotebook() const + { + return self->GetNotebook(); + } + + wxAuiMDIChildFrame* _GetActiveChild() const + { + return self->GetActiveChild(); + } + + wxAuiMDIClientWindow* _GetClientWindow() const + { + return self->GetClientWindow(); + } + + %typemap(out) wxAuiNotebook*; + %typemap(out) wxAuiMDIChildFrame*; + %typemap(out) wxAuiMDIClientWindow*; +} + + //--------------------------------------------------------------------------- %{ // A wxDocArt class that knows how to forward virtuals to Python methods class wxPyAuiDockArt : public wxAuiDefaultDockArt { +public: wxPyAuiDockArt() : wxAuiDefaultDockArt() {} DEC_PYCALLBACK_INT_INT(GetMetric); @@ -447,8 +517,9 @@ methods to the Python methods implemented in the derived class.", ""); class wxPyAuiDockArt : public wxAuiDefaultDockArt { +public: %pythonAppend wxPyAuiDockArt setCallbackInfo(PyAuiDockArt) - wxPyAuiDocArt(); + wxPyAuiDockArt(); }; @@ -495,6 +566,7 @@ class wxPyAuiDockArt : public wxAuiDefaultDockArt // A wxTabArt class that knows how to forward virtuals to Python methods class wxPyAuiTabArt : public wxAuiDefaultTabArt { +public: wxPyAuiTabArt() : wxAuiDefaultTabArt() {} @@ -702,6 +774,7 @@ methods to the Python methods implemented in the derived class.", ""); class wxPyAuiTabArt : public wxAuiDefaultTabArt { +public: %pythonAppend wxPyAuiTabArt setCallbackInfo(PyAuiTabArt) wxPyAuiTabArt(); @@ -710,8 +783,4 @@ class wxPyAuiTabArt : public wxAuiDefaultTabArt //--------------------------------------------------------------------------- -#undef wxUSE_AUI -#undef WXDLLIMPEXP_AUI - -//---------------------------------------------------------------------------