def addModule(self, x, y, srcIdx): """Add a module from the market browser""" dstRow, _ = self.HitTest((x, y)) if dstRow != -1 and dstRow not in self.blanks: sFit = Fit.getInstance() 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 moduleChanged = sFit.changeModule(fitID, self.mods[dstRow].modPosition, srcIdx) if moduleChanged is None: # the new module doesn't fit in specified slot, try to simply append it wx.PostEvent(self.mainFrame, ItemSelected(itemID=srcIdx)) wx.PostEvent( self.mainFrame, GE.FitChanged(fitID=self.mainFrame.getActiveFit(), action="modadd", typeID=srcIdx))
def handleDragDrop(self, x, y, data): """ Handles dragging of items from various pyfa displays which support it data is list with two indices: data[0] is hard-coded str of originating source data[1] is typeID or index of data we want to manipulate """ if data[0] == "drone": srcRow = int(data[1]) if srcRow != -1: if wx.GetMouseState().GetModifiers() == wx.MOD_CONTROL: try: srcDrone = self.drones[srcRow] except IndexError: return if srcDrone not in self.original: return self.mainFrame.command.Submit( cmd.GuiCloneLocalDroneCommand( fitID=self.mainFrame.getActiveFit(), position=self.original.index(srcDrone))) else: dstRow, _ = self.HitTest((x, y)) if dstRow != -1: self._merge(srcRow, dstRow) elif data[0] == "market": wx.PostEvent(self.mainFrame, ItemSelected(itemID=int(data[1])))
def itemActivated(self, event=None): # Check if something is selected, if so, spawn the menu for it sel = self.GetFirstSelected() if sel == -1: return if self.mainFrame.getActiveFit(): wx.PostEvent(self.mainFrame, ItemSelected(itemID=self.active[sel].ID))
def ItemSelect(self, event): selItem = self.itemSelect.index(event.GetId()) activeListing = getattr(self.marketBrowser.itemView, 'active', None) if activeListing and selItem < len(activeListing): wx.PostEvent( self, ItemSelected( itemID=self.marketBrowser.itemView.active[selItem].ID))
def handleListDrag(self, x, y, data): """ Handles dragging of items from various pyfa displays which support it data is list with two indices: data[0] is hard-coded str of originating source data[1] is typeID or index of data we want to manipulate """ if data[0] == "market": wx.PostEvent(self.mainFrame, ItemSelected(itemID=int(data[1])))
def itemActivated(self, event=None): # Check if something is selected, if so, spawn the menu for it sel = self.GetFirstSelected() if sel == -1: return if self.mainFrame.getActiveFit(): self.storeRecentlyUsedMarketItem(self.active[sel].ID) self.recentlyUsedModules = set() for itemID in self.sMkt.serviceMarketRecentlyUsedModules["pyfaMarketRecentlyUsedModules"]: self.recentlyUsedModules.add(self.sMkt.getItem(itemID)) wx.PostEvent(self.mainFrame, ItemSelected(itemID=self.active[sel].ID))
def handleDragDrop(self, x, y, data): """ Handles dragging of items from various pyfa displays which support it data is list with two indices: data[0] is hard-coded str of originating source data[1] is typeID or index of data we want to manipulate """ if data[0] == "fighter": # we want to merge fighters srcRow = int(data[1]) dstRow, _ = self.HitTest((x, y)) if srcRow != -1 and dstRow != -1: self._merge(srcRow, dstRow) elif data[0] == "market": wx.PostEvent(self.mainFrame, ItemSelected(itemID=int(data[1])))
def handleDragDrop(self, x, y, data): """ Handles dragging of items from various pyfa displays which support it data is list with two indices: data[0] is hard-coded str of originating source data[1] is typeID or index of data we want to manipulate """ if data[0] == "drone": # we want to merge drones pass # remove merge functionality, if people complain in the next while, can add it back # srcRow = int(data[1]) # dstRow, _ = self.HitTest((x, y)) # if srcRow != -1 and dstRow != -1: # self._merge(srcRow, dstRow) elif data[0] == "market": wx.PostEvent(self.mainFrame, ItemSelected(itemID=int(data[1])))