X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b2dc104421c340091342156d6b01f61f1ccff438..0bdcd2f50750d235bff2766f3d03d7228aa88dff:/wxPython/contrib/gizmos/gizmos.i?ds=sidebyside diff --git a/wxPython/contrib/gizmos/gizmos.i b/wxPython/contrib/gizmos/gizmos.i index 5c2426d295..b76d189788 100644 --- a/wxPython/contrib/gizmos/gizmos.i +++ b/wxPython/contrib/gizmos/gizmos.i @@ -35,12 +35,13 @@ %import windows.i %import controls.i -%pythoncode { wx = core } +%pythoncode { wx = _core } +%pythoncode { __docfilter__ = wx.__DocFilter(globals()) } -MAKE_CONST_WXSTRING2(DynamicSashNameStr, "dynamicSashWindow"); -MAKE_CONST_WXSTRING2(EditableListBoxNameStr, "editableListBox"); -MAKE_CONST_WXSTRING2(TreeListCtrlNameStr, "treelistctrl"); +MAKE_CONST_WXSTRING2(DynamicSashNameStr, wxT("dynamicSashWindow")); +MAKE_CONST_WXSTRING2(EditableListBoxNameStr, wxT("editableListBox")); +MAKE_CONST_WXSTRING2(TreeListCtrlNameStr, wxT("treelistctrl")); MAKE_CONST_WXSTRING_NOSWIG(EmptyString); @@ -135,8 +136,8 @@ public: class wxDynamicSashWindow : public wxWindow { public: - %addtofunc wxDynamicSashWindow "self._setOORInfo(self)" - %addtofunc wxDynamicSashWindow() "" + %pythonAppend wxDynamicSashWindow "self._setOORInfo(self)" + %pythonAppend wxDynamicSashWindow() "" wxDynamicSashWindow(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, @@ -174,8 +175,8 @@ enum { class wxEditableListBox : public wxPanel { public: - %addtofunc wxEditableListBox "self._setOORInfo(self)" - %addtofunc wxEditableListBox() "" + %pythonAppend wxEditableListBox "self._setOORInfo(self)" + %pythonAppend wxEditableListBox() "" wxEditableListBox(wxWindow *parent, wxWindowID id, const wxString& label, @@ -224,8 +225,8 @@ public: class wxRemotelyScrolledTreeCtrl: public wxPyTreeCtrl { public: - %addtofunc wxRemotelyScrolledTreeCtrl "self._setOORInfo(self)" - %addtofunc wxRemotelyScrolledTreeCtrl() "" + %pythonAppend wxRemotelyScrolledTreeCtrl "self._setOORInfo(self)" + %pythonAppend wxRemotelyScrolledTreeCtrl() "" wxRemotelyScrolledTreeCtrl(wxWindow* parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, @@ -272,7 +273,7 @@ public: virtual void DrawItem(wxDC& dc, wxTreeItemId id, const wxRect& rect) { bool found; - wxPyBeginBlockThreads(); + bool blocked = wxPyBeginBlockThreads(); if ((found = wxPyCBH_findCallback(m_myInst, "DrawItem"))) { PyObject* dcobj = wxPyMake_wxObject(&dc); PyObject* idobj = wxPyConstructObject((void*)&id, wxT("wxTreeItemId"), False); @@ -282,7 +283,7 @@ public: Py_DECREF(idobj); Py_DECREF(recobj); } - wxPyEndBlockThreads(); + wxPyEndBlockThreads(blocked); if (! found) wxTreeCompanionWindow::DrawItem(dc, id, rect); } @@ -295,8 +296,8 @@ public: %name(TreeCompanionWindow) class wxPyTreeCompanionWindow: public wxWindow { public: - %addtofunc wxPyTreeCompanionWindow "self._setOORInfo(self);self._setCallbackInfo(self, TreeCompanionWindow)" - %addtofunc wxPyTreeCompanionWindow() "" + %pythonAppend wxPyTreeCompanionWindow "self._setOORInfo(self);self._setCallbackInfo(self, TreeCompanionWindow)" + %pythonAppend wxPyTreeCompanionWindow() "" wxPyTreeCompanionWindow(wxWindow* parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, @@ -320,8 +321,8 @@ public: class wxThinSplitterWindow: public wxSplitterWindow { public: - %addtofunc wxThinSplitterWindow "self._setOORInfo(self)" - %addtofunc wxThinSplitterWindow() "" + %pythonAppend wxThinSplitterWindow "self._setOORInfo(self)" + %pythonAppend wxThinSplitterWindow() "" wxThinSplitterWindow(wxWindow* parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, @@ -343,8 +344,8 @@ public: class wxSplitterScrolledWindow: public wxScrolledWindow { public: - %addtofunc wxSplitterScrolledWindow "self._setOORInfo(self)" - %addtofunc wxSplitterScrolledWindow() "" + %pythonAppend wxSplitterScrolledWindow "self._setOORInfo(self)" + %pythonAppend wxSplitterScrolledWindow() "" wxSplitterScrolledWindow(wxWindow* parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, @@ -372,8 +373,8 @@ enum wxLEDValueAlign class wxLEDNumberCtrl : public wxControl { public: - %addtofunc wxLEDNumberCtrl "self._setOORInfo(self)" - %addtofunc wxLEDNumberCtrl() "" + %pythonAppend wxLEDNumberCtrl "self._setOORInfo(self)" + %pythonAppend wxLEDNumberCtrl() "" wxLEDNumberCtrl(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, @@ -457,7 +458,7 @@ public: const wxTreeItemId& item2) { int rval = 0; bool found; - wxPyBeginBlockThreads(); + bool blocked = wxPyBeginBlockThreads(); if ((found = wxPyCBH_findCallback(m_myInst, "OnCompareItems"))) { PyObject *o1 = wxPyConstructObject((void*)&item1, wxT("wxTreeItemId"), 0); PyObject *o2 = wxPyConstructObject((void*)&item2, wxT("wxTreeItemId"), 0); @@ -465,7 +466,7 @@ public: Py_DECREF(o1); Py_DECREF(o2); } - wxPyEndBlockThreads(); + wxPyEndBlockThreads(blocked); if (! found) rval = wxTreeListCtrl::OnCompareItems(item1, item2); return rval; @@ -485,8 +486,8 @@ IMPLEMENT_ABSTRACT_CLASS(wxPyTreeListCtrl, wxTreeListCtrl) %name(TreeListCtrl) class wxPyTreeListCtrl : public wxControl { public: - %addtofunc wxPyTreeListCtrl "self._setOORInfo(self);self._setCallbackInfo(self, TreeListCtrl)" - %addtofunc wxPyTreeListCtrl() "" + %pythonAppend wxPyTreeListCtrl "self._setOORInfo(self);self._setCallbackInfo(self, TreeListCtrl)" + %pythonAppend wxPyTreeListCtrl() "" wxPyTreeListCtrl(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, @@ -543,15 +544,11 @@ public: void SetStateImageList(wxImageList *imageList); void SetButtonsImageList(wxImageList *imageList); - %addtofunc AssignImageList "args[1].thisown = 0"; + %apply SWIGTYPE *DISOWN { wxImageList *imageList }; void AssignImageList(wxImageList *imageList); - - %addtofunc AssignStateImageList "args[1].thisown = 0"; void AssignStateImageList(wxImageList *imageList); - - %addtofunc AssignButtonsImageList "args[1].thisown = 0"; void AssignButtonsImageList(wxImageList *imageList); - + %clear wxImageList *imageList; // adds a column @@ -658,6 +655,8 @@ public: data->SetData(obj); } } + %pythoncode { GetPyData = GetItemPyData } + %pythoncode { SetPyData = SetItemPyData } // force appearance of [+] button near the item. This is useful to @@ -717,7 +716,7 @@ public: //size_t GetSelections(wxArrayTreeItemIds&) const; %extend { PyObject* GetSelections() { - wxPyBeginBlockThreads(); + bool blocked = wxPyBeginBlockThreads(); PyObject* rval = PyList_New(0); wxArrayTreeItemIds array; size_t num, x; @@ -727,7 +726,7 @@ public: PyObject* item = wxPyConstructObject((void*)tii, wxT("wxTreeItemId"), True); PyList_Append(rval, item); } - wxPyEndBlockThreads(); + wxPyEndBlockThreads(blocked); return rval; } } @@ -750,12 +749,12 @@ public: // order to continue the search. PyObject* GetFirstChild(const wxTreeItemId& item) { long cookie = 0; - wxTreeItemId ritem = self->GetFirstChild(item, cookie); - wxPyBeginBlockThreads(); + wxTreeItemId* ritem = new wxTreeItemId(self->GetFirstChild(item, cookie)); + bool blocked = wxPyBeginBlockThreads(); PyObject* tup = PyTuple_New(2); - PyTuple_SET_ITEM(tup, 0, wxPyConstructObject(&ritem, wxT("wxTreeItemId"), true)); + PyTuple_SET_ITEM(tup, 0, wxPyConstructObject(ritem, wxT("wxTreeItemId"), true)); PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(cookie)); - wxPyEndBlockThreads(); + wxPyEndBlockThreads(blocked); return tup; } @@ -765,12 +764,12 @@ public: // Returns a wxTreeItemId and an opaque "cookie" value that should be // passed to GetNextChild in order to continue the search. PyObject* GetNextChild(const wxTreeItemId& item, long cookie) { - wxTreeItemId ritem = self->GetNextChild(item, cookie); - wxPyBeginBlockThreads(); + wxTreeItemId* ritem = new wxTreeItemId(self->GetNextChild(item, cookie)); + bool blocked = wxPyBeginBlockThreads(); PyObject* tup = PyTuple_New(2); - PyTuple_SET_ITEM(tup, 0, wxPyConstructObject(&ritem, wxT("wxTreeItemId"), true)); + PyTuple_SET_ITEM(tup, 0, wxPyConstructObject(ritem, wxT("wxTreeItemId"), true)); PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(cookie)); - wxPyEndBlockThreads(); + wxPyEndBlockThreads(blocked); return tup; } } @@ -879,10 +878,10 @@ public: PyObject* GetBoundingRect(const wxTreeItemId& item, bool textOnly = False) { wxRect rect; if (self->GetBoundingRect(item, rect, textOnly)) { - wxPyBeginBlockThreads(); + bool blocked = wxPyBeginBlockThreads(); wxRect* r = new wxRect(rect); PyObject* val = wxPyConstructObject((void*)r, wxT("wxRect"), 1); - wxPyEndBlockThreads(); + wxPyEndBlockThreads(blocked); return val; } else {