X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/54af9b8b5e0f2fcd0eb0b122c2c2de561a51be23..6caa0f5cd18fe9fb39c207d5f31fa5633479a822:/wxPython/src/aui.i diff --git a/wxPython/src/aui.i b/wxPython/src/aui.i index 44eaeb0f64..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(); }; @@ -494,14 +530,14 @@ class wxPyAuiTabArt : public wxAuiDefaultTabArt wxPyAuiTabArt() : wxAuiDefaultTabArt() {} - virtual void DrawBackground( wxDC* dc, + virtual void DrawBackground( wxDC& dc, wxWindow* wnd, const wxRect& rect ) { bool found; wxPyBlock_t blocked = wxPyBeginBlockThreads(); if ((found = wxPyCBH_findCallback(m_myInst, "DrawBackground"))) { - PyObject* odc = wxPyMake_wxObject(dc, false); + PyObject* odc = wxPyMake_wxObject(&dc, false); PyObject* ownd = wxPyMake_wxObject(wnd, false); PyObject* orect = wxPyConstructObject((void*)&rect, wxT("wxRect"), 0); wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OOO)", odc, ownd, orect)); @@ -514,11 +550,10 @@ class wxPyAuiTabArt : public wxAuiDefaultTabArt wxAuiDefaultTabArt::DrawBackground(dc, wnd, rect); } - virtual void DrawTab( wxDC* dc, + 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, @@ -528,15 +563,15 @@ class wxPyAuiTabArt : public wxAuiDefaultTabArt const char* errmsg = "DrawTab should return a sequence containing (tab_rect, button_rect, x_extent)"; wxPyBlock_t blocked = wxPyBeginBlockThreads(); if ((found = wxPyCBH_findCallback(m_myInst, "DrawTab"))) { - PyObject* odc = wxPyMake_wxObject(dc, false); + 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,35 +599,32 @@ 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); } - virtual void DrawButton( wxDC* dc, + virtual void DrawButton( wxDC& dc, wxWindow* wnd, const wxRect& in_rect, int bitmap_id, int button_state, int orientation, - const wxBitmap& bitmap_override, wxRect* out_rect) { bool found; const char* errmsg = "DrawButton should return a wxRect"; wxPyBlock_t blocked = wxPyBeginBlockThreads(); if ((found = wxPyCBH_findCallback(m_myInst, "DrawButton"))) { - PyObject* odc = wxPyMake_wxObject(dc, false); + 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,23 +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); } -// TODO -// virtual int ShowWindowList( -// wxWindow* wnd, -// const wxArrayString& items, -// int active_idx); - - virtual wxSize GetTabSize( wxDC* dc, + virtual wxSize GetTabSize( wxDC& dc, wxWindow* wnd, const wxString& caption, + const wxBitmap& bitmap, bool active, int close_button_state, int* x_extent) @@ -628,12 +654,13 @@ class wxPyAuiTabArt : public wxAuiDefaultTabArt const char* errmsg = "GetTabSize should return a sequence containing (size, x_extent)"; wxPyBlock_t blocked = wxPyBeginBlockThreads(); if ((found = wxPyCBH_findCallback(m_myInst, "GetTabSize"))) { - PyObject* odc = wxPyMake_wxObject(dc, false); + 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); @@ -657,21 +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 GetBestTabCtrlSize(wxWindow* wnd); - +// virtual int ShowDropDown( +// wxWindow* wnd, +// const wxAuiNotebookPageArray& items, +// int active_idx); + +// 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 - -//---------------------------------------------------------------------------