From 2488d2f52d6e523d203eabf4da0f392369ced6f6 Mon Sep 17 00:00:00 2001 From: cncfanatics Date: Tue, 7 Sep 2010 22:31:00 +0200 Subject: [PATCH] Implement copy and delete too --- controller/character.py | 11 +++++++++++ gui/characterEditor.py | 18 ++++++++++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/controller/character.py b/controller/character.py index 6ed6b6b54..b05189d8a 100644 --- a/controller/character.py +++ b/controller/character.py @@ -19,6 +19,7 @@ import eos.db import eos.types +import copy class Character(): instance = None @@ -68,3 +69,13 @@ class Character(): def getCharName(self, charID): return eos.db.getCharacter(charID).name + + def copy(self, charID): + char = eos.db.getCharacter(charID) + newChar = copy.deepcopy(char) + eos.db.save(newChar) + return newChar.ID + + def delete(self, charID): + char = eos.db.getCharacter(charID) + eos.db.remove(char) diff --git a/gui/characterEditor.py b/gui/characterEditor.py index 7bb4a0861..ba4ec9946 100644 --- a/gui/characterEditor.py +++ b/gui/characterEditor.py @@ -212,10 +212,24 @@ class CharacterEditor (wx.Dialog): self.skillTreeChoice.SetSelection(selection) def copy(self, event): - pass + cChar = controller.Character.getInstance() + charID = cChar.copy(self.getActiveCharacter()) + id = self.skillTreeChoice.Append(cChar.getCharName(charID), charID) + self.skillTreeChoice.SetSelection(id) + self.btnDelete.Enable(True) + self.btnRename.Enable(True) + self.rename(event) def delete(self, event): - pass + cChar = controller.Character.getInstance() + cChar.delete(self.getActiveCharacter()) + sel = self.skillTreeChoice.GetSelection() + self.skillTreeChoice.Delete(sel) + self.skillTreeChoice.SetSelection(sel - 1) + newSelection = self.getActiveCharacter() + if cChar.getCharName(newSelection) in ("All 0", "All 5"): + self.btnDelete.Enable(False) + self.btnRename.Enable(False) class SkillTreeView (wx.Panel): def __init__(self, parent):