diff --git a/direct/src/leveleditor/ObjectPaletteUI.py b/direct/src/leveleditor/ObjectPaletteUI.py index 463d20e88d..5f02e55430 100755 --- a/direct/src/leveleditor/ObjectPaletteUI.py +++ b/direct/src/leveleditor/ObjectPaletteUI.py @@ -14,6 +14,7 @@ class ObjectPaletteUI(wx.Panel): self.tree = wx.TreeCtrl(self) root = self.tree.AddRoot('Objects') self.addTreeNodes(root, self.palette.dataStruct) + self.SortTreeNodes(root) sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(self.tree, 1, wx.EXPAND, 0) @@ -69,6 +70,16 @@ class ObjectPaletteUI(wx.Panel): if item is None: newItem = self.addTreeNode(key, parentItem, items) + def SortTreeNodes(self, parent): + self.tree.SortChildren(parent) + item, cookie = self.tree.GetFirstChild(parent) + while item: + if self.tree.ItemHasChildren(item): + self.SortTreeNodes(item) + + # continue iteration to the next child + item, cookie = self.tree.GetNextChild(parent, cookie) + def onSelected(self, event): pass