Check validity of items before using them
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33375 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -84,32 +84,34 @@ class TestTreeCtrlPanel(wx.Panel):
|
|||||||
self.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.OnActivate, self.tree)
|
self.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.OnActivate, self.tree)
|
||||||
|
|
||||||
self.tree.Bind(wx.EVT_LEFT_DCLICK, self.OnLeftDClick)
|
self.tree.Bind(wx.EVT_LEFT_DCLICK, self.OnLeftDClick)
|
||||||
self.tree.Bind(wx.EVT_RIGHT_DOWN, self.OnRightClick)
|
self.tree.Bind(wx.EVT_RIGHT_DOWN, self.OnRightDown)
|
||||||
self.tree.Bind(wx.EVT_RIGHT_UP, self.OnRightUp)
|
self.tree.Bind(wx.EVT_RIGHT_UP, self.OnRightUp)
|
||||||
|
|
||||||
|
|
||||||
|
def OnRightDown(self, event):
|
||||||
def OnRightClick(self, event):
|
|
||||||
pt = event.GetPosition();
|
pt = event.GetPosition();
|
||||||
item, flags = self.tree.HitTest(pt)
|
item, flags = self.tree.HitTest(pt)
|
||||||
self.log.WriteText("OnRightClick: %s, %s, %s\n" %
|
if item:
|
||||||
(self.tree.GetItemText(item), type(item), item.__class__))
|
self.log.WriteText("OnRightClick: %s, %s, %s\n" %
|
||||||
self.tree.SelectItem(item)
|
(self.tree.GetItemText(item), type(item), item.__class__))
|
||||||
|
self.tree.SelectItem(item)
|
||||||
|
|
||||||
|
|
||||||
def OnRightUp(self, event):
|
def OnRightUp(self, event):
|
||||||
pt = event.GetPosition();
|
pt = event.GetPosition();
|
||||||
item, flags = self.tree.HitTest(pt)
|
item, flags = self.tree.HitTest(pt)
|
||||||
self.log.WriteText("OnRightUp: %s (manually starting label edit)\n"
|
if item:
|
||||||
% self.tree.GetItemText(item))
|
self.log.WriteText("OnRightUp: %s (manually starting label edit)\n"
|
||||||
self.tree.EditLabel(item)
|
% self.tree.GetItemText(item))
|
||||||
|
self.tree.EditLabel(item)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def OnBeginEdit(self, event):
|
def OnBeginEdit(self, event):
|
||||||
self.log.WriteText("OnBeginEdit\n")
|
self.log.WriteText("OnBeginEdit\n")
|
||||||
# show how to prevent edit...
|
# show how to prevent edit...
|
||||||
if self.tree.GetItemText(event.GetItem()) == "The Root Item":
|
item = event.GetItem()
|
||||||
|
if item and self.tree.GetItemText(item) == "The Root Item":
|
||||||
wx.Bell()
|
wx.Bell()
|
||||||
self.log.WriteText("You can't edit this one...\n")
|
self.log.WriteText("You can't edit this one...\n")
|
||||||
|
|
||||||
@@ -141,9 +143,10 @@ class TestTreeCtrlPanel(wx.Panel):
|
|||||||
def OnLeftDClick(self, event):
|
def OnLeftDClick(self, event):
|
||||||
pt = event.GetPosition();
|
pt = event.GetPosition();
|
||||||
item, flags = self.tree.HitTest(pt)
|
item, flags = self.tree.HitTest(pt)
|
||||||
self.log.WriteText("OnLeftDClick: %s\n" % self.tree.GetItemText(item))
|
if item:
|
||||||
parent = self.tree.GetItemParent(item)
|
self.log.WriteText("OnLeftDClick: %s\n" % self.tree.GetItemText(item))
|
||||||
self.tree.SortChildren(parent)
|
parent = self.tree.GetItemParent(item)
|
||||||
|
self.tree.SortChildren(parent)
|
||||||
event.Skip()
|
event.Skip()
|
||||||
|
|
||||||
|
|
||||||
@@ -154,25 +157,29 @@ class TestTreeCtrlPanel(wx.Panel):
|
|||||||
|
|
||||||
def OnItemExpanded(self, event):
|
def OnItemExpanded(self, event):
|
||||||
item = event.GetItem()
|
item = event.GetItem()
|
||||||
self.log.WriteText("OnItemExpanded: %s\n" % self.tree.GetItemText(item))
|
if item:
|
||||||
|
self.log.WriteText("OnItemExpanded: %s\n" % self.tree.GetItemText(item))
|
||||||
|
|
||||||
def OnItemCollapsed(self, event):
|
def OnItemCollapsed(self, event):
|
||||||
item = event.GetItem()
|
item = event.GetItem()
|
||||||
self.log.WriteText("OnItemCollapsed: %s\n" % self.tree.GetItemText(item))
|
if item:
|
||||||
|
self.log.WriteText("OnItemCollapsed: %s\n" % self.tree.GetItemText(item))
|
||||||
|
|
||||||
def OnSelChanged(self, event):
|
def OnSelChanged(self, event):
|
||||||
self.item = event.GetItem()
|
self.item = event.GetItem()
|
||||||
self.log.WriteText("OnSelChanged: %s\n" % self.tree.GetItemText(self.item))
|
if self.item:
|
||||||
if wx.Platform == '__WXMSW__':
|
self.log.WriteText("OnSelChanged: %s\n" % self.tree.GetItemText(self.item))
|
||||||
self.log.WriteText("BoundingRect: %s\n" %
|
if wx.Platform == '__WXMSW__':
|
||||||
self.tree.GetBoundingRect(self.item, True))
|
self.log.WriteText("BoundingRect: %s\n" %
|
||||||
#items = self.tree.GetSelections()
|
self.tree.GetBoundingRect(self.item, True))
|
||||||
#print map(self.tree.GetItemText, items)
|
#items = self.tree.GetSelections()
|
||||||
|
#print map(self.tree.GetItemText, items)
|
||||||
event.Skip()
|
event.Skip()
|
||||||
|
|
||||||
|
|
||||||
def OnActivate(self, event):
|
def OnActivate(self, event):
|
||||||
self.log.WriteText("OnActivate: %s\n" % self.tree.GetItemText(self.item))
|
if self.item:
|
||||||
|
self.log.WriteText("OnActivate: %s\n" % self.tree.GetItemText(self.item))
|
||||||
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
|
Reference in New Issue
Block a user