X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2b9048c56f0aa04b2adbb7813f9698abdda15184..70ff36630f262ff02db2b05dae2cd60330ebd30f:/wxPython/contrib/gizmos/gizmos.i diff --git a/wxPython/contrib/gizmos/gizmos.i b/wxPython/contrib/gizmos/gizmos.i index ef15215c46..d35cb4f0be 100644 --- a/wxPython/contrib/gizmos/gizmos.i +++ b/wxPython/contrib/gizmos/gizmos.i @@ -10,7 +10,12 @@ // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// -%module gizmos +%define DOCSTRING +"Various *gizmo* classes: `DynamicSashWindow`, `EditableListBox`, +`LEDNumberCtrl`, `TreeListCtrl`, etc." +%enddef + +%module(docstring=DOCSTRING) gizmos %{ @@ -35,7 +40,8 @@ %import windows.i %import controls.i -%pythoncode { wx = core } +%pythoncode { wx = _core } +%pythoncode { __docfilter__ = wx.__DocFilter(globals()) } MAKE_CONST_WXSTRING2(DynamicSashNameStr, wxT("dynamicSashWindow")); @@ -272,7 +278,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 +288,7 @@ public: Py_DECREF(idobj); Py_DECREF(recobj); } - wxPyEndBlockThreads(); + wxPyEndBlockThreads(blocked); if (! found) wxTreeCompanionWindow::DrawItem(dc, id, rect); } @@ -457,7 +463,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 +471,7 @@ public: Py_DECREF(o1); Py_DECREF(o2); } - wxPyEndBlockThreads(); + wxPyEndBlockThreads(blocked); if (! found) rval = wxTreeListCtrl::OnCompareItems(item1, item2); return rval; @@ -654,6 +660,8 @@ public: data->SetData(obj); } } + %pythoncode { GetPyData = GetItemPyData } + %pythoncode { SetPyData = SetItemPyData } // force appearance of [+] button near the item. This is useful to @@ -713,7 +721,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; @@ -723,7 +731,7 @@ public: PyObject* item = wxPyConstructObject((void*)tii, wxT("wxTreeItemId"), True); PyList_Append(rval, item); } - wxPyEndBlockThreads(); + wxPyEndBlockThreads(blocked); return rval; } } @@ -746,12 +754,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; } @@ -761,12 +769,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; } } @@ -875,10 +883,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 {