X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d95b9f2b6328f7239efe27c925df52cf2c879fb5..6caa0f5cd18fe9fb39c207d5f31fa5633479a822:/wxPython/src/aui.i diff --git a/wxPython/src/aui.i b/wxPython/src/aui.i index 4a21567d82..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,9 +552,8 @@ class wxPyAuiTabArt : public wxAuiDefaultTabArt virtual void DrawTab( wxDC& dc, wxWindow* wnd, + const wxAuiNotebookPage& pane, const wxRect& in_rect, - const wxString& caption, - bool active, int close_button_state, wxRect* out_tab_rect, wxRect* out_button_rect, @@ -530,13 +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* ro; ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue( - "(OOOOii)", - odc, ownd, orect, otext, - (int)active, close_button_state)); + "(OOOOOii)", + odc, ownd, orect, opane, + close_button_state)); if (ro) { if (PySequence_Check(ro) && PyObject_Length(ro) == 3) { PyObject* o1 = PySequence_GetItem(ro, 0); @@ -564,11 +599,11 @@ class wxPyAuiTabArt : public wxAuiDefaultTabArt Py_DECREF(odc); Py_DECREF(ownd); Py_DECREF(orect); - Py_DECREF(otext); + Py_DECREF(opane); } wxPyEndBlockThreads(blocked); if (!found) - wxAuiDefaultTabArt::DrawTab(dc, wnd, in_rect, caption, 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); } @@ -578,7 +613,6 @@ class wxPyAuiTabArt : public wxAuiDefaultTabArt int bitmap_id, int button_state, int orientation, - const wxBitmap& bitmap_override, wxRect* out_rect) { bool found; @@ -588,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); @@ -602,17 +634,17 @@ 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); } virtual wxSize GetTabSize( wxDC& dc, wxWindow* wnd, const wxString& caption, + const wxBitmap& bitmap, bool active, int close_button_state, int* x_extent) @@ -625,9 +657,10 @@ class wxPyAuiTabArt : public wxAuiDefaultTabArt PyObject* odc = wxPyMake_wxObject(&dc, false); PyObject* ownd = wxPyMake_wxObject(wnd, false); PyObject* otext = wx2PyString(caption); + PyObject* obmp = wxPyMake_wxObject((wxObject*)&bitmap, false); PyObject* ro; ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue( - "(OOOi)", odc, ownd, otext, (int)active, close_button_state)); + "(OOOOii)", odc, ownd, otext, obmp, (int)active, close_button_state)); if (ro) { if (PySequence_Check(ro) && PyObject_Length(ro) == 2) { PyObject* o1 = PySequence_GetItem(ro, 0); @@ -651,27 +684,37 @@ class wxPyAuiTabArt : public wxAuiDefaultTabArt Py_DECREF(odc); Py_DECREF(ownd); Py_DECREF(otext); + Py_DECREF(obmp); } wxPyEndBlockThreads(blocked); if (!found) - rv = wxAuiDefaultTabArt::GetTabSize(dc, wnd, caption, active, close_button_state, x_extent); + rv = wxAuiDefaultTabArt::GetTabSize(dc, wnd, caption, bitmap, active, close_button_state, x_extent); return rv; } // TODO -// virtual int ShowWindowList( +// virtual int ShowDropDown( // wxWindow* wnd, -// const wxArrayString& items, +// const wxAuiNotebookPageArray& items, // int active_idx); -// TODO -// virtual int GetBestTabCtrlSize(wxWindow* wnd); - +// virtual int GetIndentSize(); + +// virtual int GetBestTabCtrlSize(wxWindow* wnd, +// 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, +// size_t tab_count); +// virtual int GetIndentSize(); + + DEC_PYCALLBACK__FONT(SetNormalFont); DEC_PYCALLBACK__FONT(SetSelectedFont); DEC_PYCALLBACK__FONT(SetMeasuringFont); - DEC_PYCALLBACK_INT_WIN(GetBestTabCtrlSize); +// DEC_PYCALLBACK_INT_WIN(GetBestTabCtrlSize); PYPRIVATE; }; @@ -680,7 +723,7 @@ class wxPyAuiTabArt : public wxAuiDefaultTabArt IMP_PYCALLBACK__FONT(wxPyAuiTabArt, wxAuiDefaultTabArt, SetNormalFont); IMP_PYCALLBACK__FONT(wxPyAuiTabArt, wxAuiDefaultTabArt, SetSelectedFont); IMP_PYCALLBACK__FONT(wxPyAuiTabArt, wxAuiDefaultTabArt, SetMeasuringFont); -IMP_PYCALLBACK_INT_WIN(wxPyAuiTabArt, wxAuiDefaultTabArt, GetBestTabCtrlSize); +//IMP_PYCALLBACK_INT_WIN(wxPyAuiTabArt, wxAuiDefaultTabArt, GetBestTabCtrlSize); %} @@ -691,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(); }; @@ -699,8 +742,4 @@ class wxPyAuiTabArt : public wxAuiDefaultTabArt //--------------------------------------------------------------------------- -#undef wxUSE_AUI -#undef WXDLLIMPEXP_AUI - -//---------------------------------------------------------------------------