Add copying of fits

This commit is contained in:
cncfanatics
2010-08-20 21:34:22 +02:00
parent 2f71e1ff32
commit 0f6e4d28d3
2 changed files with 21 additions and 0 deletions

View File

@@ -19,6 +19,7 @@
import eos.db
import eos.types
import copy
class Fit(object):
instance = None
@@ -55,3 +56,9 @@ class Fit(object):
eos.db.saveddata_session.delete(fit)
eos.db.saveddata_session.flush()
def copyFit(self, fitID):
fit = eos.db.getFit(fitID)
newFit = copy.deepcopy(fit)
eos.db.saveddata_session.add(newFit)
eos.db.saveddata_session.flush()
return newFit.ID

View File

@@ -44,6 +44,7 @@ class ShipBrowser(wx.Panel):
self.shipMenu.new.Bind(wx.EVT_BUTTON, self.newFit)
self.shipMenu.rename.Bind(wx.EVT_BUTTON, self.renameFit)
self.shipMenu.delete.Bind(wx.EVT_BUTTON, self.deleteFit)
self.shipMenu.copy.Bind(wx.EVT_BUTTON, self.copyFit)
def build(self):
if not self.built:
@@ -136,6 +137,19 @@ class ShipBrowser(wx.Panel):
cFit.deleteFit(fitID)
self.shipView.Delete(root)
def copyFit(self, event):
root = self.shipView.GetSelection()
type, fitID = self.shipView.GetPyData(root)
if type == "fit":
cFit = controller.Fit.getInstance()
newID = cFit.copyFit(fitID)
parent = self.shipView.GetItemParent(root)
name = self.shipView.GetItemText(root)
childId = self.shipView.AppendItem(parent, name, -1, data=wx.TreeItemData(("fit", newID)))
self.shipView.SetItemText(childId, name)
self.shipView.SelectItem(childId)
self.shipView.EditLabel(childId)
class ShipView(wx.TreeCtrl):
def __init__(self, parent):
wx.TreeCtrl.__init__(self, parent)