Add support for implants & boosters as well
This commit is contained in:
@@ -42,8 +42,8 @@ class ItemParams(wx.Panel):
|
||||
self.toggleView = AttributeView.NORMAL
|
||||
self.stuff = stuff
|
||||
self.item = item
|
||||
self.isStuffItem = stuff is not None and getattr(stuff, 'item') == item
|
||||
self.isStuffCharge = stuff is not None and getattr(stuff, 'charge') == item
|
||||
self.isStuffItem = stuff is not None and item is not None and getattr(stuff, 'item', None) == item
|
||||
self.isStuffCharge = stuff is not None and item is not None and getattr(stuff, 'charge', None) == item
|
||||
self.attrInfo = {}
|
||||
self.attrValues = {}
|
||||
self._fetchValues()
|
||||
@@ -297,9 +297,9 @@ class ItemParams(wx.Panel):
|
||||
valDefault = getattr(info, "value", None) # Get default value from attribute
|
||||
if self.stuff is not None:
|
||||
# if it's a stuff, overwrite default (with fallback to current value)
|
||||
if self.stuff.item == self.item:
|
||||
if self.isStuffItem:
|
||||
valDefault = self.stuff.getItemBaseAttrValue(attr, valDefault)
|
||||
elif self.stuff.charge == self.item:
|
||||
elif self.isStuffCharge:
|
||||
valDefault = self.stuff.getChargeBaseAttrValue(attr, valDefault)
|
||||
|
||||
valueDefault = valDefault if valDefault is not None else att
|
||||
|
||||
@@ -16,6 +16,7 @@ class GuiChangeBoosterMetaCommand(wx.Command):
|
||||
self.fitID = fitID
|
||||
self.position = position
|
||||
self.newItemID = newItemID
|
||||
self.newPosition = None
|
||||
|
||||
def Do(self):
|
||||
sFit = Fit.getInstance()
|
||||
@@ -31,15 +32,24 @@ class GuiChangeBoosterMetaCommand(wx.Command):
|
||||
sFit.recalc(self.fitID)
|
||||
sFit.fill(self.fitID)
|
||||
eos.db.commit()
|
||||
wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))
|
||||
self.newPosition = cmd.newPosition
|
||||
newBooster = fit.boosters[self.newPosition]
|
||||
mainFrame = gui.mainFrame.MainFrame.getInstance()
|
||||
wx.PostEvent(mainFrame, GE.FitChanged(fitIDs=(self.fitID,)))
|
||||
wx.PostEvent(mainFrame, GE.ItemChangedInplace(old=booster, new=newBooster))
|
||||
return success
|
||||
|
||||
def Undo(self):
|
||||
sFit = Fit.getInstance()
|
||||
fit = sFit.getFit(self.fitID)
|
||||
oldBooster = fit.boosters[self.newPosition]
|
||||
success = self.internalHistory.undoAll()
|
||||
eos.db.flush()
|
||||
sFit = Fit.getInstance()
|
||||
sFit.recalc(self.fitID)
|
||||
sFit.fill(self.fitID)
|
||||
eos.db.commit()
|
||||
wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))
|
||||
newBooster = fit.boosters[self.position]
|
||||
mainFrame = gui.mainFrame.MainFrame.getInstance()
|
||||
wx.PostEvent(mainFrame, GE.FitChanged(fitIDs=(self.fitID,)))
|
||||
wx.PostEvent(mainFrame, GE.ItemChangedInplace(old=oldBooster, new=newBooster))
|
||||
return success
|
||||
|
||||
@@ -16,6 +16,7 @@ class GuiChangeImplantMetaCommand(wx.Command):
|
||||
self.fitID = fitID
|
||||
self.position = position
|
||||
self.newItemID = newItemID
|
||||
self.newPosition = None
|
||||
|
||||
def Do(self):
|
||||
sFit = Fit.getInstance()
|
||||
@@ -31,15 +32,25 @@ class GuiChangeImplantMetaCommand(wx.Command):
|
||||
sFit.recalc(self.fitID)
|
||||
sFit.fill(self.fitID)
|
||||
eos.db.commit()
|
||||
wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))
|
||||
self.newPosition = cmd.newPosition
|
||||
newImplant = fit.implants[self.newPosition]
|
||||
mainFrame = gui.mainFrame.MainFrame.getInstance()
|
||||
wx.PostEvent(mainFrame, GE.FitChanged(fitIDs=(self.fitID,)))
|
||||
wx.PostEvent(mainFrame, GE.ItemChangedInplace(old=implant, new=newImplant))
|
||||
return success
|
||||
|
||||
def Undo(self):
|
||||
sFit = Fit.getInstance()
|
||||
fit = sFit.getFit(self.fitID)
|
||||
oldImplant = fit.implants[self.newPosition]
|
||||
success = self.internalHistory.undoAll()
|
||||
eos.db.flush()
|
||||
sFit = Fit.getInstance()
|
||||
sFit.recalc(self.fitID)
|
||||
sFit.fill(self.fitID)
|
||||
eos.db.commit()
|
||||
wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitIDs=(self.fitID,)))
|
||||
newImplant = fit.implants[self.position]
|
||||
mainFrame = gui.mainFrame.MainFrame.getInstance()
|
||||
wx.PostEvent(mainFrame, GE.FitChanged(fitIDs=(self.fitID,)))
|
||||
wx.PostEvent(mainFrame, GE.ItemChangedInplace(old=oldImplant, new=newImplant))
|
||||
return success
|
||||
|
||||
@@ -63,7 +63,7 @@ class GuiChangeLocalModuleMetasCommand(wx.Command):
|
||||
oldMod = oldModMap.get(position)
|
||||
newMod = newModMap.get(position)
|
||||
if oldMod is not newMod:
|
||||
events.append(GE.ItemChangedInplace(fitID=self.fitID, old=oldMod, new=newMod))
|
||||
events.append(GE.ItemChangedInplace(old=oldMod, new=newMod))
|
||||
for event in events:
|
||||
wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), event)
|
||||
return success
|
||||
|
||||
Reference in New Issue
Block a user