Implement d&d for modules
This commit is contained in:
2
eos
2
eos
Submodule eos updated: 42cb0b6180...bb51319d86
@@ -146,23 +146,30 @@ class FittingView(d.Display):
|
|||||||
wx.PostEvent(self.mainFrame, FitChanged(fitID=self.activeFitID))
|
wx.PostEvent(self.mainFrame, FitChanged(fitID=self.activeFitID))
|
||||||
|
|
||||||
def swapItems(self, x, y, itemID):
|
def swapItems(self, x, y, itemID):
|
||||||
|
|
||||||
srcRow = self.FindItemData(-1,itemID)
|
srcRow = self.FindItemData(-1,itemID)
|
||||||
dstRow, _ = self.HitTest((x, y))
|
dstRow, _ = self.HitTest((x, y))
|
||||||
if srcRow != -1 and dstRow != -1:
|
if srcRow != -1 and dstRow != -1:
|
||||||
cFit = service.Fit.getInstance()
|
self._swap(srcRow, dstRow)
|
||||||
# populate = cFit.swapModules(self.activeFitID, self.mods[self.GetItemData(srcRow)].position, self.mods[self.GetItemData(dstRow)].position)
|
|
||||||
# cFit.swapModules(self.GetItemData(srcRow), self.GetItemData(dstRow))
|
|
||||||
src = self.mods[self.GetItemData(srcRow)].position
|
|
||||||
dest = self.mods[self.GetItemData(dstRow)].position
|
|
||||||
self.mods[self.GetItemData(dstRow)].position = src
|
|
||||||
self.mods[self.GetItemData(srcRow)].position = dest
|
|
||||||
|
|
||||||
# if populate is not None:
|
def _swap(self, srcRow, dstRow):
|
||||||
|
mod1 = self.mods[self.GetItemData(srcRow)]
|
||||||
|
mod2 = self.mods[self.GetItemData(dstRow)]
|
||||||
|
print mod1.slot, mod2.slot
|
||||||
|
if mod1.slot != mod2.slot:
|
||||||
|
if srcRow > dstRow:
|
||||||
|
self._swap(srcRow, dstRow + 1)
|
||||||
|
else:
|
||||||
|
self._swap(srcRow, dstRow - 1)
|
||||||
|
else:
|
||||||
|
print "swap", mod1.position, mod2.position
|
||||||
|
cFit = service.Fit.getInstance()
|
||||||
|
cFit.swapModules(self.mainFrame.getActiveFit(),
|
||||||
|
mod1.position,
|
||||||
|
mod2.position)
|
||||||
|
print mod1.position, mod2.position
|
||||||
self.slotsChanged()
|
self.slotsChanged()
|
||||||
wx.PostEvent(self.mainFrame, FitChanged(fitID=self.activeFitID))
|
wx.PostEvent(self.mainFrame, FitChanged(fitID=self.activeFitID))
|
||||||
|
|
||||||
|
|
||||||
def generateMods(self):
|
def generateMods(self):
|
||||||
cFit = service.Fit.getInstance()
|
cFit = service.Fit.getInstance()
|
||||||
fit = cFit.getFit(self.activeFitID)
|
fit = cFit.getFit(self.activeFitID)
|
||||||
|
|||||||
@@ -180,18 +180,10 @@ class Fit(object):
|
|||||||
eos.db.commit()
|
eos.db.commit()
|
||||||
return numSlots != len(fit.modules)
|
return numSlots != len(fit.modules)
|
||||||
|
|
||||||
def swapModules(self, position1, position2):
|
def swapModules(self, fitID, mod1, mod2):
|
||||||
return True
|
|
||||||
fit = eos.db.getFit(fitID)
|
fit = eos.db.getFit(fitID)
|
||||||
if fit.modules[position1].isEmpty or fit.modules[position2].isEmpty:
|
fit.modules[mod1].position, fit.modules[mod2].position = mod2, mod1
|
||||||
return None
|
fit.modules[mod1], fit.modules[mod2] = fit.modules[mod2], fit.modules[mod1]
|
||||||
|
|
||||||
# fit.modules[position1], fit.modules[position2] = fit.modules[position2], fit.modules[position1]
|
|
||||||
fit.modules[position1].position = position2
|
|
||||||
fit.modules[position2].position = position1
|
|
||||||
print position1,position2
|
|
||||||
eos.db.commit()
|
|
||||||
return True
|
|
||||||
|
|
||||||
def addDrone(self, fitID, itemID):
|
def addDrone(self, fitID, itemID):
|
||||||
if fitID == None:
|
if fitID == None:
|
||||||
|
|||||||
Reference in New Issue
Block a user