def removeItem(self, event): """Double Left Click - remove module""" if event.GetModifiers() == wx.MOD_CONTROL: return row, _ = self.HitTest(event.Position) if row != -1 and row not in self.blanks and isinstance( self.mods[row], Module): col = self.getColumn(event.Position) if col != self.getColIndex(State): try: mod = self.mods[row] except IndexError: return if not isinstance(mod, Module) or mod.isEmpty: return if event.GetModifiers() == wx.MOD_ALT: fit = Fit.getInstance().getFit(self.activeFitID) positions = getSimilarModPositions(fit.modules, mod) self.mainFrame.command.Submit( cmd.GuiRemoveLocalModuleCommand(fitID=self.activeFitID, positions=positions)) else: self.removeModule(mod) else: if "wxMSW" in wx.PlatformInfo: self.click(event)
def removeModule(self, modules): """Removes a list of modules from the fit""" if not isinstance(modules, list): modules = [modules] self.mainFrame.command.Submit( cmd.GuiRemoveLocalModuleCommand(self.activeFitID, modules))
def __handleModule(self, callingWindow, mainItem, selection): fitID = self.mainFrame.getActiveFit() fit = Fit.getInstance().getFit(fitID) if wx.GetMouseState().GetModifiers() in (wx.MOD_ALT, wx.MOD_CONTROL): positions = getSimilarModPositions(fit.modules, mainItem) else: positions = [] for mod in selection: if mod in fit.modules: positions.append(fit.modules.index(mod)) self.mainFrame.command.Submit( cmd.GuiRemoveLocalModuleCommand(fitID=fitID, positions=positions))
def removeModule(self, modules): """Removes a list of modules from the fit""" if not isinstance(modules, list): modules = [modules] fit = Fit.getInstance().getFit(self.activeFitID) positions = [] for position, mod in enumerate(fit.modules): if mod in modules: positions.append(position) self.mainFrame.command.Submit(cmd.GuiRemoveLocalModuleCommand( fitID=self.activeFitID, positions=positions))
def activate(self, fullContext, selection, i): srcContext = fullContext[0] sFit = Fit.getInstance() fitID = self.mainFrame.getActiveFit() fit = sFit.getFit(fitID) if srcContext == "fittingModule": positions = [] for position, mod in enumerate(fit.modules): if mod in selection: positions.append(position) self.mainFrame.command.Submit( cmd.GuiRemoveLocalModuleCommand(fitID=fitID, positions=positions)) elif srcContext == "droneItem": drone = selection[0] if drone in fit.drones: position = fit.drones.index(drone) self.mainFrame.command.Submit( cmd.GuiRemoveLocalDroneCommand(fitID=fitID, position=position, amount=math.inf)) elif srcContext == "fighterItem": fighter = selection[0] if fighter in fit.fighters: position = fit.fighters.index(fighter) self.mainFrame.command.Submit( cmd.GuiRemoveLocalFighterCommand(fitID=fitID, position=position)) elif srcContext == "implantItem": implant = selection[0] if implant in fit.implants: position = fit.implants.index(implant) self.mainFrame.command.Submit( cmd.GuiRemoveImplantCommand(fitID=fitID, position=position)) elif srcContext == "boosterItem": booster = selection[0] if booster in fit.boosters: position = fit.boosters.index(booster) self.mainFrame.command.Submit( cmd.GuiRemoveBoosterCommand(fitID=fitID, position=position)) elif srcContext == "cargoItem": cargo = selection[0] self.mainFrame.command.Submit( cmd.GuiRemoveCargoCommand(fitID=fitID, itemID=cargo.itemID)) elif srcContext == "projectedFit": projectedFit = selection[0] self.mainFrame.command.Submit( cmd.GuiRemoveProjectedFitCommand( fitID=fitID, projectedFitID=projectedFit.ID, amount=math.inf)) elif srcContext == "projectedModule": mod = selection[0] if mod in fit.projectedModules: position = fit.projectedModules.index(mod) self.mainFrame.command.Submit( cmd.GuiRemoveProjectedModuleCommand(fitID=fitID, position=position)) elif srcContext == "projectedDrone": drone = selection[0] self.mainFrame.command.Submit( cmd.GuiRemoveProjectedDroneCommand(fitID=fitID, itemID=drone.itemID, amount=math.inf)) elif srcContext == "projectedFighter": fighter = selection[0] if fighter in fit.projectedFighters: position = fit.projectedFighters.index(fighter) self.mainFrame.command.Submit( cmd.GuiRemoveProjectedFighterCommand(fitID=fitID, position=position)) elif srcContext == "commandFit": commandFit = selection[0] self.mainFrame.command.Submit( cmd.GuiRemoveCommandFitCommand(fitID=fitID, commandFitID=commandFit.ID))
def activate(self, fullContext, selection, i): srcContext = fullContext[0] sFit = Fit.getInstance() fitID = self.mainFrame.getActiveFit() fit = sFit.getFit(fitID) if srcContext == "fittingModule": self.mainFrame.command.Submit( cmd.GuiRemoveLocalModuleCommand(fitID=fitID, modules=[ module for module in selection if module is not None ])) elif srcContext == "fittingCharge": self.mainFrame.command.Submit( cmd.GuiChangeLocalModuleChargesCommand(fitID=fitID, modules=selection, chargeItemID=None)) elif srcContext == "droneItem": self.mainFrame.command.Submit( cmd.GuiRemoveLocalDroneCommand(fitID=fitID, position=fit.drones.index( selection[0]), amount=math.inf)) elif srcContext == "fighterItem": self.mainFrame.command.Submit( cmd.GuiRemoveLocalFighterCommand(fitID=fitID, position=fit.fighters.index( selection[0]))) elif srcContext == "implantItem": self.mainFrame.command.Submit( cmd.GuiRemoveImplantCommand(fitID=fitID, position=fit.implants.index( selection[0]))) elif srcContext == "boosterItem": self.mainFrame.command.Submit( cmd.GuiRemoveBoosterCommand(fitID=fitID, position=fit.boosters.index( selection[0]))) elif srcContext == "cargoItem": self.mainFrame.command.Submit( cmd.GuiRemoveCargoCommand(fitID=fitID, itemID=selection[0].itemID)) elif srcContext == "projectedFit": self.mainFrame.command.Submit( cmd.GuiRemoveProjectedFitCommand( fitID=fitID, projectedFitID=selection[0].ID)) elif srcContext == "projectedModule": self.mainFrame.command.Submit( cmd.GuiRemoveProjectedModuleCommand( fitID=fitID, position=fit.projectedModules.index(selection[0]))) elif srcContext == "projectedDrone": self.mainFrame.command.Submit( cmd.GuiRemoveProjectedDroneCommand(fitID=fitID, itemID=selection[0].itemID, amount=math.inf)) elif srcContext == "projectedFighter": self.mainFrame.command.Submit( cmd.GuiRemoveProjectedFighterCommand( fitID=fitID, position=fit.projectedFighters.index(selection[0]))) elif srcContext == "commandFit": self.mainFrame.command.Submit( cmd.GuiRemoveCommandFitCommand(fitID=fitID, commandFitID=selection[0].ID))