diff --git a/direct/src/leveleditor/LevelEditor.py b/direct/src/leveleditor/LevelEditor.py index c6cb5746b4..9dbcfd4556 100644 --- a/direct/src/leveleditor/LevelEditor.py +++ b/direct/src/leveleditor/LevelEditor.py @@ -27,9 +27,17 @@ class LevelEditor(LevelEditorBase): self.objectHandler = ObjectHandler(self) self.protoPalette = ProtoPalette() - # LevelEditorUI class must declared after ObjectPalette + # Populating uderlined data-structures self.ui = LevelEditorUI(self) - + self.ui.SetCursor(wx.StockCursor(wx.CURSOR_WAIT)) + self.objectPalette.populate() + self.protoPalette.populate() + + # Updating UI-panels based on the above data + self.ui.objectPaletteUI.populate() + self.ui.protoPaletteUI.populate() + # When you define your own LevelEditor class inheriting LevelEditorBase # you should call self.initialize() at the end of __init__() function self.initialize() + self.ui.SetCursor(wx.StockCursor(wx.CURSOR_ARROW)) diff --git a/direct/src/leveleditor/ObjectPaletteBase.py b/direct/src/leveleditor/ObjectPaletteBase.py index 6c265634a3..1c3ef78257 100755 --- a/direct/src/leveleditor/ObjectPaletteBase.py +++ b/direct/src/leveleditor/ObjectPaletteBase.py @@ -40,7 +40,7 @@ class ObjectPaletteBase: self.data = {} self.dataStruct = {} self.dataKeys = [] - self.populate() + #self.populate() def insertItem(self, item, parentName): """ diff --git a/direct/src/leveleditor/ObjectPaletteUI.py b/direct/src/leveleditor/ObjectPaletteUI.py index 2b5dac3fc4..4c9fa92d3d 100755 --- a/direct/src/leveleditor/ObjectPaletteUI.py +++ b/direct/src/leveleditor/ObjectPaletteUI.py @@ -13,8 +13,6 @@ class ObjectPaletteUI(wx.Panel): self.palette = self.editor.objectPalette self.tree = PaletteTreeCtrl(self, treeStyle=wx.TR_DEFAULT_STYLE, rootName='Objects') - self.dataKeys = self.palette.dataKeys[:] - self.tree.addTreeNodes(self.tree.GetRootItem(), self.palette.rootName, self.palette.dataStruct, self.dataKeys) sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(self.tree, 1, wx.EXPAND, 0) @@ -40,6 +38,9 @@ class ObjectPaletteUI(wx.Panel): self.tree.Bind(wx.EVT_TREE_SEL_CHANGED, self.onSelected) + def populate(self): + self.tree.addTreeNodes(self.tree.GetRootItem(), self.palette.rootName, self.palette.dataStruct, self.palette.dataKeys) + def onSelected(self, event): pass diff --git a/direct/src/leveleditor/PaletteTreeCtrl.py b/direct/src/leveleditor/PaletteTreeCtrl.py index 839116fc5e..9959aaeaac 100644 --- a/direct/src/leveleditor/PaletteTreeCtrl.py +++ b/direct/src/leveleditor/PaletteTreeCtrl.py @@ -36,7 +36,6 @@ class PaletteTreeCtrl(wx.TreeCtrl): def addTreeNodes(self, parentItem, parentItemName, items, itemKeys): roots = [] rootItems = [] - #import pdb;set_trace() for key in itemKeys: if parentItemName == items[key]: roots.append(key) diff --git a/direct/src/leveleditor/ProtoObjsUI.py b/direct/src/leveleditor/ProtoObjsUI.py index 6330110bed..f68fd3cb7f 100755 --- a/direct/src/leveleditor/ProtoObjsUI.py +++ b/direct/src/leveleditor/ProtoObjsUI.py @@ -71,7 +71,6 @@ class ProtoObjsUI(wx.Panel): self.Bind(wx.EVT_CONTEXT_MENU, self.onShowPopup) self.SetDropTarget(ProtoDropTarget(self)) - self.populate() def populate(self): for key in self.protoObjs.data.keys(): diff --git a/direct/src/leveleditor/ProtoPaletteUI.py b/direct/src/leveleditor/ProtoPaletteUI.py index 2c847f00f9..c212734a41 100755 --- a/direct/src/leveleditor/ProtoPaletteUI.py +++ b/direct/src/leveleditor/ProtoPaletteUI.py @@ -48,9 +48,6 @@ class ProtoPaletteUI(wx.Panel): self.palette = self.editor.protoPalette self.tree = PaletteTreeCtrl(self, treeStyle=wx.TR_EDIT_LABELS|wx.TR_DEFAULT_STYLE, rootName="Proto Objects") - self.dataKeys = self.palette.dataStruct.keys()[:] - self.tree.addTreeNodes(self.tree.GetRootItem(), self.palette.rootName, self.palette.dataStruct, self.dataKeys) - self.editorTxt = "Proto Objects Editor" self.opSortAlpha = "Sort Alphabetical Order" @@ -91,6 +88,10 @@ class ProtoPaletteUI(wx.Panel): self.SetDropTarget(UniversalDropTarget(self.editor)) + def populate(self): + dataStructKeys = self.palette.dataStruct.keys()[:] + self.tree.addTreeNodes(self.tree.GetRootItem(), self.palette.rootName, self.palette.dataStruct, dataStructKeys) + def OnBeginLabelEdit(self, event): self.editor.ui.bindKeyEvents(False)