From d71ea750386cf34864aa6ca99dd970b90d691449 Mon Sep 17 00:00:00 2001 From: Arkady Trestman Date: Fri, 5 Feb 2010 22:13:49 +0000 Subject: [PATCH] added objects renaming capability --- direct/src/leveleditor/ObjectPaletteBase.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/direct/src/leveleditor/ObjectPaletteBase.py b/direct/src/leveleditor/ObjectPaletteBase.py index 805e216566..18e514de14 100755 --- a/direct/src/leveleditor/ObjectPaletteBase.py +++ b/direct/src/leveleditor/ObjectPaletteBase.py @@ -86,9 +86,28 @@ class ObjectPaletteBase: try: item = self.data[name] except: - return None; + return None return item + def rename(self, oldName, newName): + #import pdb;set_trace() + if oldName == newName: + return False + if newName == "": + return False + try: + for key in self.dataStruct.keys(): + if self.dataStruct[key] == oldName: + self.dataStruct[key] = newName + + self.dataStruct[newName] = self.dataStruct.pop(oldName) + item = self.data.pop(oldName) + item.name = newName + self.data[newName] = item + except: + return False + return True + def populate(self): # You should implement this in subclass raise NotImplementedError('populate() must be implemented in ObjectPalette.py')