コード例 #1
0
ファイル: fittingView.py プロジェクト: spraggy0558/Pyfa
    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))
コード例 #2
0
ファイル: droneView.py プロジェクト: MiserereM/pyfa_zh
    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])))
コード例 #3
0
    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))
コード例 #4
0
    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))
コード例 #5
0
ファイル: boosterView.py プロジェクト: wyl0706/Pyfa
    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])))
コード例 #6
0
    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))
コード例 #7
0
ファイル: fighterView.py プロジェクト: zzwpower/Pyfa
    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])))
コード例 #8
0
ファイル: droneView.py プロジェクト: m-sasha/PyfaAT
    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])))