Added the basic stuff (pyfa side) for module copy -> needs an implemetation of module clone (eos or pyfa service side)

This commit is contained in:
HomeWorld
2011-05-03 20:54:31 +03:00
parent a3080df50a
commit a1e6bc34cf
2 changed files with 15 additions and 6 deletions

View File

@@ -280,12 +280,15 @@ class FittingView(d.Display):
self.click(event)
def swapItems(self, x, y, itemID):
mstate = wx.GetMouseState()
srcRow = self.FindItemData(-1,itemID)
dstRow, _ = self.HitTest((x, y))
if srcRow != -1 and dstRow != -1:
self._swap(srcRow, dstRow)
def _swap(self, srcRow, dstRow):
if srcRow != -1 and dstRow != -1:
self._swap(srcRow, dstRow, mstate.ControlDown())
def _swap(self, srcRow, dstRow, clone = False):
mod1 = self.mods[self.GetItemData(srcRow)]
mod2 = self.mods[self.GetItemData(dstRow)]
@@ -300,9 +303,11 @@ class FittingView(d.Display):
mod2 = self.mods[self.GetItemData(dstRow)]
cFit = service.Fit.getInstance()
cFit.swapModules(self.mainFrame.getActiveFit(),
mod1.position,
mod2.position)
if clone:
cFit.cloneModule(self.mainFrame.getActiveFit(), mod1.position, mod2.position)
else:
cFit.swapModules(self.mainFrame.getActiveFit(), mod1.position, mod2.position)
self.generateMods()
self.refresh(self.mods)

View File

@@ -340,6 +340,10 @@ class Fit(object):
fit.modules.remove(m)
fit.modules.insert(dst, m)
def cloneModule(self, fitID, src, dst):
#need implementation of module clone based on module positions (also make sure the dst is empty else do nothing)
pass
def addDrone(self, fitID, itemID):
if fitID == None:
return False