From 85a8e561ae5445964c57b9a6b20bc763463ae783 Mon Sep 17 00:00:00 2001 From: cncfanatics Date: Mon, 11 Oct 2010 09:57:10 +0200 Subject: [PATCH] Implement pattern copying --- eos | 2 +- gui/patternEditor.py | 9 ++++++++- service/damagePattern.py | 6 ++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/eos b/eos index ef4e3cd77..a6e6f3e18 160000 --- a/eos +++ b/eos @@ -1 +1 @@ -Subproject commit ef4e3cd772c6f8ac408316258effbd4f1cfd5b77 +Subproject commit a6e6f3e1865fc0894e218434dbf4db629f3bfed1 diff --git a/gui/patternEditor.py b/gui/patternEditor.py index 1d6ccadac..3f380f523 100644 --- a/gui/patternEditor.py +++ b/gui/patternEditor.py @@ -288,7 +288,14 @@ class DmgPatternEditorDlg (wx.Dialog): self.ccDmgPattern.SetSelection(sel) def copyPattern(self,event): - event.Skip() + cDP = service.DamagePattern.getInstance() + p = cDP.copyPattern(self.getActivePattern()) + self.choices.append(p) + id = self.ccDmgPattern.Append(p.name) + self.ccDmgPattern.SetSelection(id) + self.btnSave.SetLabel("Copy") + self.renamePattern() + self.patternChanged() def deletePattern(self,event): cDP = service.DamagePattern.getInstance() diff --git a/service/damagePattern.py b/service/damagePattern.py index dbcba0912..b69cfb98b 100755 --- a/service/damagePattern.py +++ b/service/damagePattern.py @@ -19,6 +19,7 @@ import eos.db import eos.types +import copy class DamagePattern(): instance = None @@ -58,5 +59,10 @@ class DamagePattern(): def deletePattern(self, p): eos.db.remove(p) + def copyPattern(self, p): + newP = copy.deepcopy(p) + eos.db.save(newP) + return newP + def saveChanges(self, p): eos.db.save(p)