diff --git a/direct/src/tkwidgets/SceneGraphExplorer.py b/direct/src/tkwidgets/SceneGraphExplorer.py index f8eb833418..228b351d71 100644 --- a/direct/src/tkwidgets/SceneGraphExplorer.py +++ b/direct/src/tkwidgets/SceneGraphExplorer.py @@ -129,6 +129,9 @@ class SceneGraphExplorerItem(TreeItem): name = self.nodePath.getName() return type + " " + name + def GetKey(self): + return self.nodePath.id() + def IsEditable(self): # All nodes' names can be edited nowadays. return 1 diff --git a/direct/src/tkwidgets/Tree.py b/direct/src/tkwidgets/Tree.py index 8e433f81db..bf83ac1878 100644 --- a/direct/src/tkwidgets/Tree.py +++ b/direct/src/tkwidgets/Tree.py @@ -194,7 +194,7 @@ class TreeNode: return y+17 self.kidKeys = [] for item in sublist: - key = item.nodePath.id() + key = item.GetKey() if self.children.has_key(key): child = self.children[key] else: @@ -271,7 +271,8 @@ class TreeNode: if self.selected: self.label.configure(fg="white", bg="darkblue") else: - self.label.configure(fg="black", bg="white") + fg = self.item.GetTextFg() + self.label.configure(fg=fg, bg="white") id = self.canvas.create_window(textx, texty, anchor="nw", window=self.label) self.label.bind("<1>", self.select_or_edit) @@ -332,6 +333,9 @@ class TreeItem: def GetText(self): """Return text string to display.""" + def GetTextFg(self): + return "black" + def GetLabelText(self): """Return label text string to display in front of text (if any)."""