X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/99b1023fd8d786e74f369069e33e4cb06a8fe45a..c437fde9f90fc7dfcac79053d214fc9146d7be21:/wxPython/src/_treectrl.i diff --git a/wxPython/src/_treectrl.i b/wxPython/src/_treectrl.i index a59c3fc2ce..d71dc7bb89 100644 --- a/wxPython/src/_treectrl.i +++ b/wxPython/src/_treectrl.i @@ -96,8 +96,8 @@ public: bool IsOk() const; %extend { - bool __eq__(const wxTreeItemId* other) { return other ? (*self == *other) : False; } - bool __ne__(const wxTreeItemId* other) { return other ? (*self != *other) : True; } + bool __eq__(const wxTreeItemId* other) { return other ? (*self == *other) : false; } + bool __ne__(const wxTreeItemId* other) { return other ? (*self != *other) : true; } } void* m_pItem; @@ -117,7 +117,8 @@ public: // Python code should rarely be neccessary. Just use the GetItemPyData and // SetItemPyData tree methods instead of the GetItemData and SetItemData // methods. -%name(TreeItemData) class wxPyTreeItemData { +%rename(TreeItemData) wxPyTreeItemData; +class wxPyTreeItemData { public: wxPyTreeItemData(PyObject* obj = NULL); @@ -188,7 +189,7 @@ public: %constant wxEventType wxEVT_COMMAND_TREE_END_DRAG; %constant wxEventType wxEVT_COMMAND_TREE_STATE_IMAGE_CLICK; %constant wxEventType wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP; - +%constant wxEventType wxEVT_COMMAND_TREE_ITEM_MENU; %pythoncode { @@ -212,6 +213,7 @@ EVT_TREE_ITEM_MIDDLE_CLICK = wx.PyEventBinder(wxEVT_COMMAND_TREE_ITEM_MIDDLE_CLI EVT_TREE_END_DRAG = wx.PyEventBinder(wxEVT_COMMAND_TREE_END_DRAG , 1) EVT_TREE_STATE_IMAGE_CLICK = wx.PyEventBinder(wxEVT_COMMAND_TREE_STATE_IMAGE_CLICK, 1) EVT_TREE_ITEM_GETTOOLTIP = wx.PyEventBinder(wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP, 1) +EVT_COMMAND_TREE_ITEM_MENU = wx.PyEventBinder(wxEVT_COMMAND_TREE_ITEM_MENU, 1) } @@ -254,6 +256,7 @@ public: // Set the tooltip for the item (for EVT_TREE_ITEM_GETTOOLTIP events) void SetToolTip(const wxString& toolTip); + wxString GetToolTip(); }; //--------------------------------------------------------------------------- @@ -286,10 +289,10 @@ public: const wxTreeItemId& item2) { int rval = 0; bool found; - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); if ((found = wxPyCBH_findCallback(m_myInst, "OnCompareItems"))) { - PyObject *o1 = wxPyConstructObject((void*)&item1, wxT("wxTreeItemId"), False); - PyObject *o2 = wxPyConstructObject((void*)&item2, wxT("wxTreeItemId"), False); + PyObject *o1 = wxPyConstructObject((void*)&item1, wxT("wxTreeItemId"), false); + PyObject *o2 = wxPyConstructObject((void*)&item2, wxT("wxTreeItemId"), false); rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OO)",o1,o2)); Py_DECREF(o1); Py_DECREF(o2); @@ -309,10 +312,14 @@ IMPLEMENT_ABSTRACT_CLASS(wxPyTreeCtrl, wxTreeCtrl); -%name(TreeCtrl)class wxPyTreeCtrl : public wxControl { +MustHaveApp(wxPyTreeCtrl); + +%rename(TreeCtrl) wxPyTreeCtrl; +class wxPyTreeCtrl : public wxControl { public: %pythonAppend wxPyTreeCtrl "self._setOORInfo(self);self._setCallbackInfo(self, TreeCtrl)" %pythonAppend wxPyTreeCtrl() "" + %typemap(out) wxPyTreeCtrl*; // turn off this typemap wxPyTreeCtrl(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, @@ -320,7 +327,10 @@ public: long style = wxTR_DEFAULT_STYLE, const wxValidator& validator = wxDefaultValidator, const wxString& name = wxPyTreeCtrlNameStr); - %name(PreTreeCtrl)wxPyTreeCtrl(); + %RenameCtor(PreTreeCtrl, wxPyTreeCtrl()); + + // Turn it back on again + %typemap(out) wxPyTreeCtrl* { $result = wxPyMake_wxObject($1, $owner); } bool Create(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, @@ -444,15 +454,13 @@ public: // allow the user to expand the items which don't have any children now // - but instead add them only when needed, thus minimizing memory // usage and loading time. - void SetItemHasChildren(const wxTreeItemId& item, bool has = True); + void SetItemHasChildren(const wxTreeItemId& item, bool has = true); // the item will be shown in bold - void SetItemBold(const wxTreeItemId& item, bool bold = True); + void SetItemBold(const wxTreeItemId& item, bool bold = true); -#ifdef __WXMSW__ // the item will be shown with a drop highlight - void SetItemDropHighlight(const wxTreeItemId& item, bool highlight = True); -#endif + void SetItemDropHighlight(const wxTreeItemId& item, bool highlight = true); // set the items text colour void SetItemTextColour(const wxTreeItemId& item, const wxColour& col); @@ -483,7 +491,7 @@ public: // if 'recursively' is False, only immediate children count, otherwise // the returned number is the number of all items in this branch size_t GetChildrenCount(const wxTreeItemId& item, - bool recursively = True) /*const*/; + bool recursively = true) /*const*/; @@ -501,14 +509,14 @@ public: // NB: this operation is expensive and can take a long time for a // control with a lot of items (~ O(number of items)). PyObject* GetSelections() { - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); PyObject* rval = PyList_New(0); wxArrayTreeItemIds array; size_t num, x; num = self->GetSelections(array); for (x=0; x < num; x++) { wxTreeItemId *tii = new wxTreeItemId(array.Item(x)); - PyObject* item = wxPyConstructObject((void*)tii, wxT("wxTreeItemId"), True); + PyObject* item = wxPyConstructObject((void*)tii, wxT("wxTreeItemId"), true); PyList_Append(rval, item); Py_DECREF(item); } @@ -531,9 +539,9 @@ public: PyObject* GetFirstChild(const wxTreeItemId& item) { void* cookie = 0; wxTreeItemId* ritem = new wxTreeItemId(self->GetFirstChild(item, cookie)); - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t 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, wxPyMakeSwigPtr(cookie, wxT("void"))); wxPyEndBlockThreads(blocked); return tup; @@ -546,9 +554,9 @@ public: // passed to GetNextChild in order to continue the search. PyObject* GetNextChild(const wxTreeItemId& item, void* cookie) { wxTreeItemId* ritem = new wxTreeItemId(self->GetNextChild(item, cookie)); - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t 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, wxPyMakeSwigPtr(cookie, wxT("void"))); wxPyEndBlockThreads(blocked); return tup; @@ -595,12 +603,12 @@ public: wxPyTreeItemData *data = NULL); // insert a new item before the one with the given index - %name(InsertItemBefore) - wxTreeItemId InsertItem(const wxTreeItemId& parent, + %Rename(InsertItemBefore, + wxTreeItemId, InsertItem(const wxTreeItemId& parent, size_t index, const wxString& text, int image = -1, int selectedImage = -1, - wxPyTreeItemData *data = NULL); + wxPyTreeItemData *data = NULL)); // insert a new item in as the last child of the parent wxTreeItemId AppendItem(const wxTreeItemId& parent, @@ -645,7 +653,7 @@ public: void UnselectAll(); // select this item - void SelectItem(const wxTreeItemId& item, bool select = True); + void SelectItem(const wxTreeItemId& item, bool select = true); // toggle the item selection void ToggleItemSelection(const wxTreeItemId& item); @@ -672,7 +680,7 @@ public: #ifdef __WXMSW__ // end editing and accept or discard the changes to item label - void EndEditLabel(const wxTreeItemId& item, bool discardChanges = False); + void EndEditLabel(const wxTreeItemId& item, bool discardChanges = false); #endif @@ -696,12 +704,12 @@ value is set to a bitmask of wxTREE_HITTEST_xxx constants. %extend { // get the bounding rectangle of the item (or of its label only) - PyObject* GetBoundingRect(const wxTreeItemId& item, bool textOnly = False) { + PyObject* GetBoundingRect(const wxTreeItemId& item, bool textOnly = false) { wxRect rect; if (self->GetBoundingRect(item, rect, textOnly)) { - bool blocked = wxPyBeginBlockThreads(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); wxRect* r = new wxRect(rect); - PyObject* val = wxPyConstructObject((void*)r, wxT("wxRect"), True); + PyObject* val = wxPyConstructObject((void*)r, wxT("wxRect"), true); wxPyEndBlockThreads(blocked); return val; } @@ -710,6 +718,11 @@ value is set to a bitmask of wxTREE_HITTEST_xxx constants. } } +#ifdef __WXMSW__ + // set/get the item state.image (state == -1 means cycle to the next one) + void SetState(const wxTreeItemId& node, int state); + int GetState(const wxTreeItemId& node); +#endif static wxVisualAttributes GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);