def appendItem(self, event): """ Adds items that are double clicks from the market browser. We handle both modules and ammo """ if not self: event.Skip() return if self.parent.IsActive(self): itemID = event.itemID fitID = self.activeFitID if fitID is not None: sFit = Fit.getInstance() if sFit.isAmmo(itemID): # If we've selected ammo, then apply to the selected module(s) modules = [] sel = self.GetFirstSelected() while sel != -1 and sel not in self.blanks: mod = self.mods[self.GetItemData(sel)] if isinstance(mod, Module) and not mod.isEmpty: modules.append(self.mods[self.GetItemData(sel)]) sel = self.GetNextSelected(sel) if len(modules) > 0: self.mainFrame.command.Submit(cmd.GuiModuleAddChargeCommand(fitID, itemID, modules)) else: self.mainFrame.command.Submit(cmd.GuiModuleAddCommand(fitID, itemID)) event.Skip()
def addModule(self, x, y, itemID): """Add a module from the market browser (from dragging it)""" dstRow, _ = self.HitTest((x, y)) if dstRow != -1 and dstRow not in self.blanks: fitID = self.mainFrame.getActiveFit() mod = self.mods[dstRow] if not isinstance(mod, Module): # make sure we're not adding something to a T3D Mode return self.mainFrame.command.Submit(cmd.GuiModuleAddCommand(fitID, itemID, self.mods[dstRow].modPosition))