wxMSW fixes for tree control

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35166 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Roman Rolinsky
2005-08-10 14:58:28 +00:00
parent 03319b655c
commit 83173c7a4d
4 changed files with 24 additions and 5 deletions

View File

@@ -419,6 +419,7 @@ class XML_Tree(wxTreeCtrl):
EVT_TREE_ITEM_COLLAPSED(self, self.GetId(), self.OnItemExpandedCollapsed)
self.selection = None
self.selectionChanging = False
self.needUpdate = False
self.pendingHighLight = None
self.ctrl = self.shift = False
@@ -486,7 +487,7 @@ class XML_Tree(wxTreeCtrl):
self.root = self.AddRoot('XML tree', self.rootImage,
data=wxTreeItemData(self.rootObj))
self.SetItemHasChildren(self.root)
self.Unselect()
self.UnselectAll()
self.Expand(self.root)
# Clear old data and set new
@@ -510,7 +511,7 @@ class XML_Tree(wxTreeCtrl):
self.mainNode.removeChild(node)
node.unlink()
self.Expand(self.root)
self.Unselect()
self.UnselectAll()
# Add tree item for given parent item if node is DOM element node with
# object/object_ref tag. xxxParent is parent xxx object
@@ -641,7 +642,11 @@ class XML_Tree(wxTreeCtrl):
return child
def OnSelChanged(self, evt):
self.ChangeSelection(evt.GetItem())
if self.selectionChanging: return
self.selectionChanging = True
self.UnselectAll()
self.SelectItem(evt.GetItem())
self.selectionChanging = False
def ChangeSelection(self, item):
# Apply changes
@@ -965,6 +970,14 @@ class XML_Tree(wxTreeCtrl):
return False
return not (self.IsExpanded(item) and self.GetChildrenCount(item, False))
# Override to use like single-selection tree
def GetSelection(self):
self.GetSelections(self)[:1]
def SelectItem(self, item):
self.UnselectAll()
self.ChangeSelection(item)
wxTreeCtrl.SelectItem(self, item)
# Pull-down
def OnRightDown(self, evt):
pullDownMenu = g.pullDownMenu