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')