示例#1
0
 def __handleProjectedItem(self, callingWindow, mainItem, selection):
     fitID = self.mainFrame.getActiveFit()
     if isinstance(mainItem, EosFit):
         self.mainFrame.command.Submit(cmd.GuiRemoveProjectedItemsCommand(
             fitID=fitID, items=selection, amount=math.inf))
     elif isinstance(mainItem, EosModule):
         if wx.GetMouseState().GetModifiers() in (wx.MOD_ALT, wx.MOD_CONTROL):
             fit = Fit.getInstance().getFit(fitID)
             positions = getSimilarModPositions(fit.projectedModules, mainItem)
             items = [fit.projectedModules[p] for p in positions]
         else:
             items = selection
         self.mainFrame.command.Submit(cmd.GuiRemoveProjectedItemsCommand(
             fitID=fitID, items=items, amount=math.inf))
     elif isinstance(mainItem, EosDrone):
         self.mainFrame.command.Submit(cmd.GuiRemoveProjectedItemsCommand(
             fitID=fitID, items=selection, amount=math.inf))
     elif isinstance(mainItem, EosFighter):
         if wx.GetMouseState().GetModifiers() in (wx.MOD_ALT, wx.MOD_CONTROL):
             fit = Fit.getInstance().getFit(fitID)
             items = getSimilarFighters(fit.projectedFighters, mainItem)
         else:
             items = selection
         self.mainFrame.command.Submit(cmd.GuiRemoveProjectedItemsCommand(
             fitID=fitID, items=items, amount=math.inf))
     else:
         self.mainFrame.command.Submit(cmd.GuiRemoveProjectedItemsCommand(
             fitID=fitID, items=selection, amount=math.inf))
示例#2
0
 def onLeftDoubleClick(self, event):
     row, _ = self.HitTest(event.Position)
     if row != -1:
         col = self.getColumn(event.Position)
         if col != self.getColIndex(State):
             mainItem = self.get(row)
             if mainItem is None:
                 return
             fitID = self.mainFrame.getActiveFit()
             modPressed = event.GetModifiers() == wx.MOD_ALT
             if isinstance(mainItem, EosFit):
                 self.mainFrame.command.Submit(
                     cmd.GuiRemoveProjectedItemsCommand(
                         fitID=fitID,
                         items=[mainItem],
                         amount=math.inf if modPressed else 1))
             elif isinstance(mainItem, EosModule):
                 if modPressed:
                     fit = Fit.getInstance().getFit(fitID)
                     positions = getSimilarModPositions(
                         fit.projectedModules, mainItem)
                     items = [fit.projectedModules[p] for p in positions]
                 else:
                     items = [mainItem]
                 self.mainFrame.command.Submit(
                     cmd.GuiRemoveProjectedItemsCommand(fitID=fitID,
                                                        items=items,
                                                        amount=1))
             elif isinstance(mainItem, EosDrone):
                 self.mainFrame.command.Submit(
                     cmd.GuiRemoveProjectedItemsCommand(
                         fitID=fitID,
                         items=[mainItem],
                         amount=math.inf if modPressed else 1))
             elif isinstance(mainItem, EosFighter):
                 if modPressed:
                     fit = Fit.getInstance().getFit(fitID)
                     items = getSimilarFighters(fit.projectedFighters,
                                                mainItem)
                 else:
                     items = [mainItem]
                 self.mainFrame.command.Submit(
                     cmd.GuiRemoveProjectedItemsCommand(fitID=fitID,
                                                        items=items,
                                                        amount=1))
             else:
                 self.mainFrame.command.Submit(
                     cmd.GuiRemoveProjectedItemsCommand(
                         fitID=fitID,
                         items=[mainItem],
                         amount=math.inf if modPressed else 1))
示例#3
0
 def kbEvent(self, event):
     keycode = event.GetKeyCode()
     mstate = wx.GetMouseState()
     if keycode == wx.WXK_ESCAPE and mstate.GetModifiers() == wx.MOD_NONE:
         self.unselectAll()
     elif keycode == 65 and mstate.GetModifiers() == wx.MOD_CONTROL:
         self.selectAll()
     elif keycode in (wx.WXK_DELETE, wx.WXK_NUMPAD_DELETE) and mstate.GetModifiers() == wx.MOD_NONE:
         self.mainFrame.command.Submit(cmd.GuiRemoveProjectedItemsCommand(
             fitID=self.mainFrame.getActiveFit(),
             items=self.getSelectedProjectors(),
             amount=math.inf))
     event.Skip()