Added expand, collapse popup menu
This commit is contained in:
parent
d49d251a96
commit
b6cc9c11a7
|
|
@ -44,6 +44,7 @@ class SceneGraphUIBase(wx.Panel):
|
|||
self.tree.Bind(wx.EVT_TREE_SEL_CHANGED, self.onSelected)
|
||||
self.tree.Bind(wx.EVT_TREE_BEGIN_DRAG, self.onBeginDrag)
|
||||
|
||||
self.currItem = None
|
||||
self.currObj = None
|
||||
self.menu = wx.Menu()
|
||||
self.populateMenu()
|
||||
|
|
@ -309,6 +310,7 @@ class SceneGraphUIBase(wx.Panel):
|
|||
item, flags = self.tree.HitTest(pos)
|
||||
if not item.IsOk():
|
||||
return
|
||||
self.currItem = item
|
||||
itemId = self.tree.GetItemPyData(item)
|
||||
if not itemId:
|
||||
return
|
||||
|
|
@ -317,6 +319,10 @@ class SceneGraphUIBase(wx.Panel):
|
|||
self.PopupMenu(self.menu, pos)
|
||||
|
||||
def populateMenu(self):
|
||||
menuitem = self.menu.Append(-1, 'Expand All')
|
||||
self.Bind(wx.EVT_MENU, self.onExpandAllChildren, menuitem)
|
||||
menuitem = self.menu.Append(-1, 'Collapse All')
|
||||
self.Bind(wx.EVT_MENU, self.onCollapseAllChildren, menuitem)
|
||||
menuitem = self.menu.Append(-1, 'Delete')
|
||||
self.Bind(wx.EVT_MENU, self.onDelete, menuitem)
|
||||
self.populateExtraMenu()
|
||||
|
|
@ -325,6 +331,14 @@ class SceneGraphUIBase(wx.Panel):
|
|||
# You should implement this in subclass
|
||||
raise NotImplementedError('populateExtraMenu() must be implemented in subclass')
|
||||
|
||||
def onCollapseAllChildren(self, evt=None):
|
||||
if self.currItem:
|
||||
self.tree.CollapseAllChildren(self.currItem)
|
||||
|
||||
def onExpandAllChildren(self, evt=None):
|
||||
if self.currItem:
|
||||
self.tree.ExpandAllChildren(self.currItem)
|
||||
|
||||
def onDelete(self, evt=None):
|
||||
if self.currObj is None:
|
||||
return
|
||||
|
|
|
|||
Loading…
Reference in New Issue