X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bce169798613bd3143f9fbeb3dc41488d9571bbf..6caa0f5cd18fe9fb39c207d5f31fa5633479a822:/wxPython/src/aui.i?ds=sidebyside diff --git a/wxPython/src/aui.i b/wxPython/src/aui.i index 49120ed5ac..a5b3ff5f00 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,20 +185,46 @@ 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(); +// 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(); + +%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(); -%ignore wxAuiDefaultTabArt::SetWindow; // Link error... //--------------------------------------------------------------------------- // 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 @@ -443,7 +479,7 @@ methods to the Python methods implemented in the derived class.", ""); class wxPyAuiDockArt : public wxAuiDefaultDockArt { - %pythonAppend wxPyAuiDockArt "self._setCallbackInfo(self, PyAuiDockArt)" + %pythonAppend wxPyAuiDockArt setCallbackInfo(PyAuiDockArt) wxPyAuiDocArt(); }; @@ -516,10 +552,8 @@ class wxPyAuiTabArt : public wxAuiDefaultTabArt virtual void DrawTab( wxDC& dc, wxWindow* wnd, + const wxAuiNotebookPage& pane, const wxRect& in_rect, - const wxString& caption, - const wxBitmap& bitmap, - bool active, int close_button_state, wxRect* out_tab_rect, wxRect* out_button_rect, @@ -531,14 +565,13 @@ class wxPyAuiTabArt : public wxAuiDefaultTabArt if ((found = wxPyCBH_findCallback(m_myInst, "DrawTab"))) { PyObject* odc = wxPyMake_wxObject(&dc, false); PyObject* ownd = wxPyMake_wxObject(wnd, false); + PyObject* opane = wxPyConstructObject((void*)&pane, wxT("wxAuiNotebookPage"), 0); PyObject* orect = wxPyConstructObject((void*)&in_rect, wxT("wxRect"), 0); - PyObject* otext = wx2PyString(caption); - PyObject* obmp = wxPyMake_wxObject((wxObject*)&bitmap, false); PyObject* ro; ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue( "(OOOOOii)", - odc, ownd, orect, otext, obmp, - (int)active, close_button_state)); + odc, ownd, orect, opane, + close_button_state)); if (ro) { if (PySequence_Check(ro) && PyObject_Length(ro) == 3) { PyObject* o1 = PySequence_GetItem(ro, 0); @@ -566,12 +599,11 @@ class wxPyAuiTabArt : public wxAuiDefaultTabArt Py_DECREF(odc); Py_DECREF(ownd); Py_DECREF(orect); - Py_DECREF(otext); - Py_DECREF(obmp); + Py_DECREF(opane); } wxPyEndBlockThreads(blocked); if (!found) - wxAuiDefaultTabArt::DrawTab(dc, wnd, in_rect, caption, bitmap, active, close_button_state, out_tab_rect, out_button_rect, x_extent); + wxAuiDefaultTabArt::DrawTab(dc, wnd, pane, in_rect, close_button_state, out_tab_rect, out_button_rect, x_extent); } @@ -581,7 +613,6 @@ class wxPyAuiTabArt : public wxAuiDefaultTabArt int bitmap_id, int button_state, int orientation, - const wxBitmap& bitmap_override, wxRect* out_rect) { bool found; @@ -591,11 +622,9 @@ class wxPyAuiTabArt : public wxAuiDefaultTabArt PyObject* odc = wxPyMake_wxObject(&dc, false); PyObject* ownd = wxPyMake_wxObject(wnd, false); PyObject* orect = wxPyConstructObject((void*)&in_rect, wxT("wxRect"), 0); - PyObject* obmp = wxPyConstructObject((void*)&bitmap_override, wxT("wxBitmap"), 0); PyObject* ro; ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(OOOiiiO)", odc, ownd, orect, - bitmap_id, button_state, orientation, - obmp)); + bitmap_id, button_state, orientation)); if (ro) { if (!wxRect_helper(ro, &out_rect)) PyErr_SetString(PyExc_TypeError, errmsg); @@ -605,11 +634,10 @@ class wxPyAuiTabArt : public wxAuiDefaultTabArt Py_DECREF(odc); Py_DECREF(ownd); Py_DECREF(orect); - Py_DECREF(obmp); } wxPyEndBlockThreads(blocked); if (!found) - wxAuiDefaultTabArt::DrawButton(dc, wnd, in_rect, bitmap_id, button_state, orientation, bitmap_override, out_rect); + wxAuiDefaultTabArt::DrawButton(dc, wnd, in_rect, bitmap_id, button_state, orientation, out_rect); } @@ -665,13 +693,16 @@ class wxPyAuiTabArt : public wxAuiDefaultTabArt } // TODO -// virtual int ShowWindowList( +// virtual int ShowDropDown( // wxWindow* wnd, -// const wxArrayString& items, +// const wxAuiNotebookPageArray& items, // int active_idx); -// + +// virtual int GetIndentSize(); + // virtual int GetBestTabCtrlSize(wxWindow* wnd, -// wxAuiNotebookPageArray& pages); +// const wxAuiNotebookPageArray& pages, +// const wxSize& required_bmp_size); // virtual wxAuiTabArt* Clone(); // virtual void SetFlags(unsigned int flags); // virtual void SetSizingInfo(const wxSize& tab_ctrl_size, @@ -703,7 +734,7 @@ methods to the Python methods implemented in the derived class.", ""); class wxPyAuiTabArt : public wxAuiDefaultTabArt { - %pythonAppend wxPyAuiTabArt "self._setCallbackInfo(self, PyAuiTabArt)" + %pythonAppend wxPyAuiTabArt setCallbackInfo(PyAuiTabArt) wxPyAuiTabArt(); }; @@ -711,8 +742,4 @@ class wxPyAuiTabArt : public wxAuiDefaultTabArt //--------------------------------------------------------------------------- -#undef wxUSE_AUI -#undef WXDLLIMPEXP_AUI - -//---------------------------------------------------------------------------