예제 #1
0
    def __init__(self, parent):
        wx.Panel.__init__(
            self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.Size(500, 300), style=wx.TAB_TRAVERSAL
        )

        pmainSizer = wx.BoxSizer(wx.HORIZONTAL)

        availableSizer = wx.BoxSizer(wx.VERTICAL)
        pmainSizer.Add(availableSizer, 1, wx.ALL | wx.EXPAND, 5)

        self.availableImplantsSearch = wx.SearchCtrl(self, wx.ID_ANY, style=wx.TE_PROCESS_ENTER)
        self.availableImplantsSearch.ShowCancelButton(True)
        availableSizer.Add(self.availableImplantsSearch, 0, wx.BOTTOM | wx.EXPAND, 2)

        self.availableImplantsTree = wx.TreeCtrl(self, wx.ID_ANY, style=wx.TR_DEFAULT_STYLE | wx.TR_HIDE_ROOT)
        root = self.availableRoot = self.availableImplantsTree.AddRoot("Available")
        self.availableImplantsImageList = wx.ImageList(16, 16)
        self.availableImplantsTree.SetImageList(self.availableImplantsImageList)

        availableSizer.Add(self.availableImplantsTree, 1, wx.EXPAND)

        buttonSizer = wx.BoxSizer(wx.VERTICAL)
        pmainSizer.Add(buttonSizer, 0, wx.TOP, 5)

        self.btnAdd = GenBitmapButton(
            self, wx.ID_ADD, bitmapLoader.getBitmap("fit_add_small", "icons"), style=wx.BORDER_NONE
        )
        buttonSizer.Add(self.btnAdd, 0)
        self.btnRemove = GenBitmapButton(
            self, wx.ID_REMOVE, bitmapLoader.getBitmap("fit_delete_small", "icons"), style=wx.BORDER_NONE
        )
        buttonSizer.Add(self.btnRemove, 0)

        self.pluggedImplantsTree = AvailableImplantsView(self, style=wx.LC_SINGLE_SEL)

        pmainSizer.Add(self.pluggedImplantsTree, 1, wx.ALL | wx.EXPAND, 5)

        self.SetSizer(pmainSizer)

        # Populate the market tree
        sMkt = service.Market.getInstance()
        for mktGrp in sMkt.getImplantTree():
            iconId = self.addMarketViewImage(sMkt.getIconByMarketGroup(mktGrp))
            childId = self.availableImplantsTree.AppendItem(root, mktGrp.name, iconId, data=wx.TreeItemData(mktGrp.ID))
            if sMkt.marketGroupHasTypesCheck(mktGrp) is False:
                self.availableImplantsTree.AppendItem(childId, "dummy")

        self.availableImplantsTree.SortChildren(self.availableRoot)

        # Bind the event to replace dummies by real data
        self.availableImplantsTree.Bind(wx.EVT_TREE_ITEM_EXPANDING, self.expandLookup)

        # Bind add & remove buttons
        self.btnAdd.Bind(wx.EVT_BUTTON, self.addImplant)
        self.btnRemove.Bind(wx.EVT_BUTTON, self.removeImplant)

        # Bind the change of a character*
        self.Parent.Parent.Bind(GE.CHAR_CHANGED, self.charChanged)
        self.Enable(False)
        self.Layout()
예제 #2
0
파일: fleetView.py 프로젝트: flinz/pyfa
    def __init__(self, parent, size=(0, 0)):
        wx.gizmos.TreeListCtrl.__init__(self, parent, size=size)

        self.tabManager = parent

        self.fleetId = None
        self.fleetImg = bitmapLoader.getImage("53_16", "pack")

        self.imageList = wx.ImageList(16, 16)
        self.SetImageList(self.imageList)

        for col in ("", "Fit", "Shiptype", "Character", "Bonusses"):
            self.AddColumn(col)

        self.SetMainColumn(1)
        self.icons = {}
        self.addImage = self.imageList.Add(
            bitmapLoader.getBitmap("add_small", "icons"))
        for icon in ("fb", "fc", "sb", "sc", "wb", "wc"):
            self.icons[icon] = self.imageList.Add(
                bitmapLoader.getBitmap("fleet_%s_small" % icon, "icons"))

        self.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.checkNew)
        self.mainFrame = gui.mainFrame.MainFrame.getInstance()

        self.mainFrame.Bind(gui.fleetBrowser.EVT_FLEET_RENAMED,
                            self.fleetRenamed)
        self.mainFrame.Bind(gui.fleetBrowser.EVT_FLEET_REMOVED,
                            self.fleetRemoved)
예제 #3
0
파일: fleetView.py 프로젝트: DaManDOH/Pyfa
    def __init__(self, parent, size = (0,0)):
        wx.gizmos.TreeListCtrl.__init__(self, parent, size = size)

        self.tabManager = parent

        self.fleetId = None
        self.fleetImg = bitmapLoader.getImage("53_16", "pack")

        self.imageList = wx.ImageList(16, 16)
        self.SetImageList(self.imageList)

        for col in ("", "Fit", "Shiptype", "Character", "Bonusses"):
            self.AddColumn(col)

        self.SetMainColumn(1)
        self.icons = {}
        self.addImage = self.imageList.Add(bitmapLoader.getBitmap("add_small", "icons"))
        for icon in ("fb", "fc", "sb", "sc", "wb", "wc"):
            self.icons[icon] = self.imageList.Add(bitmapLoader.getBitmap("fleet_%s_small" % icon, "icons"))

        self.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.checkNew)
        self.mainFrame = gui.mainFrame.MainFrame.getInstance()

        self.mainFrame.Bind(gui.fleetBrowser.EVT_FLEET_RENAMED, self.fleetRenamed)
        self.mainFrame.Bind(gui.fleetBrowser.EVT_FLEET_REMOVED, self.fleetRemoved)
예제 #4
0
    def __init__(self, parent):
        self.mainFrame = gui.mainFrame.MainFrame.getInstance()

        wx.Panel.__init__(self, parent)
        mainSizer = wx.BoxSizer(wx.HORIZONTAL)
        self.SetSizer(mainSizer)

        mainSizer.Add(wx.StaticText(self, wx.ID_ANY, "Character: "), 0, wx.CENTER | wx.TOP | wx.RIGHT | wx.LEFT, 3)

        self.charChoice = wx.Choice(self)
        mainSizer.Add(self.charChoice, 1, wx.ALIGN_CENTER_VERTICAL | wx.TOP | wx.RIGHT | wx.LEFT, 3)

        self.refreshCharacterList()

        self.skillReqsStaticBitmap = wx.StaticBitmap(self)
        mainSizer.Add(self.skillReqsStaticBitmap, 0, wx.ALIGN_CENTER_VERTICAL | wx.TOP | wx.RIGHT | wx.LEFT, 3)

        self.cleanSkills = bitmapLoader.getBitmap("skill_big", "icons")
        self.redSkills = bitmapLoader.getBitmap("skillRed_big", "icons")
        self.greenSkills = bitmapLoader.getBitmap("skillGreen_big", "icons")

        self.skillReqsStaticBitmap.SetBitmap(self.cleanSkills)
        self.Bind(wx.EVT_CHOICE, self.charChanged)
        self.mainFrame.Bind(ce.CHAR_LIST_UPDATED, self.refreshCharacterList)
        self.mainFrame.Bind(GE.FIT_CHANGED, self.fitChanged)

#        panelSize = wx.Size(-1,30)
#        self.SetMinSize(panelSize)

        self.charChoice.Enable(False)
예제 #5
0
 def __init__(self, parent):
     SBox.PFSearchBox.__init__(self, parent)
     cancelBitmap = bitmapLoader.getBitmap("fit_delete_small","icons")
     searchBitmap = bitmapLoader.getBitmap("fsearch_small","icons")
     self.SetSearchBitmap(searchBitmap)
     self.SetCancelBitmap(cancelBitmap)
     self.ShowSearchButton()
     self.ShowCancelButton()
예제 #6
0
파일: fleetBrowser.py 프로젝트: flinz/pyfa
    def __init__(self, parent, fleetID, fleetName, fleetCount,
                 id=wx.ID_ANY, pos=wx.DefaultPosition,
                 size=(0,40), style=0):
        SFItem.SFBrowserItem.__init__(self, parent, size = size)

        self.fleetBrowser = self.Parent
        self.fleetID = fleetID
        self.fleetName = fleetName
        self.fleetCount = fleetCount

        self.padding = 4

        self.fontBig = wx.FontFromPixelSize((0,15),wx.SWISS, wx.NORMAL, wx.BOLD, False)
        self.fontNormal = wx.FontFromPixelSize((0,14),wx.SWISS, wx.NORMAL, wx.NORMAL, False)
        self.fontSmall = wx.FontFromPixelSize((0,12),wx.SWISS, wx.NORMAL, wx.NORMAL, False)

        self.copyBmp = bitmapLoader.getBitmap("fit_add_small", "icons")
        self.renameBmp = bitmapLoader.getBitmap("fit_rename_small", "icons")
        self.deleteBmp = bitmapLoader.getBitmap("fit_delete_small","icons")
        self.acceptBmp = bitmapLoader.getBitmap("faccept_small", "icons")
        self.fleetBmp = bitmapLoader.getBitmap("fleet_item_big", "icons")

        fleetImg = self.fleetBmp.ConvertToImage()
        fleetImg = fleetImg.Blur(2)

        if not fleetImg.HasAlpha():
            fleetImg.InitAlpha()

        fleetImg = fleetImg.AdjustChannels(1, 1, 1, 0.5)
        self.fleetEffBmp = wx.BitmapFromImage(fleetImg)

        self.toolbar.AddButton(self.copyBmp, "Copy", self.CopyFleetCB)
        self.renameBtn = self.toolbar.AddButton(self.renameBmp, "Rename", self.RenameFleetCB)
        self.toolbar.AddButton(self.deleteBmp, "Delete", self.DeleteFleetCB)

        self.editWidth = 150
        self.tcFleetName = wx.TextCtrl(self, wx.ID_ANY, "%s" % self.fleetName, wx.DefaultPosition, (self.editWidth,-1), wx.TE_PROCESS_ENTER)

        if self.fleetBrowser.fleetIDMustEditName != self.fleetID:
            self.tcFleetName.Show(False)
        else:
            self.tcFleetName.SetFocus()
            self.tcFleetName.SelectAll()
            self.fleetBrowser.fleetIDMustEditName = -1
            self.renameBtn.SetBitmap(self.acceptBmp)
            self.selected = True

        self.tcFleetName.Bind(wx.EVT_KILL_FOCUS, self.OnEditLostFocus)
        self.tcFleetName.Bind(wx.EVT_TEXT_ENTER, self.RenameFleet)
        self.tcFleetName.Bind(wx.EVT_KEY_DOWN, self.EditCheckEsc)


        self.animCount = 0
예제 #7
0
    def __init__(self, parent):
        self.mainFrame = gui.mainFrame.MainFrame.getInstance()

        wx.Panel.__init__(self, parent)
        mainSizer = wx.BoxSizer(wx.HORIZONTAL)
        self.SetSizer(mainSizer)

        mainSizer.Add(wx.StaticText(self, wx.ID_ANY, "Character: "), 0,
                      wx.CENTER | wx.TOP | wx.RIGHT | wx.LEFT, 3)

        # cache current selection to fall back in case we choose to open char editor
        self.charCache = None

        self.charChoice = wx.Choice(self)
        mainSizer.Add(self.charChoice, 1,
                      wx.ALIGN_CENTER_VERTICAL | wx.TOP | wx.RIGHT | wx.LEFT,
                      3)

        self.refreshCharacterList()

        self.cleanSkills = bitmapLoader.getBitmap("skill_big", "icons")
        self.redSkills = bitmapLoader.getBitmap("skillRed_big", "icons")
        self.greenSkills = bitmapLoader.getBitmap("skillGreen_big", "icons")
        self.refresh = bitmapLoader.getBitmap("refresh", "icons")

        self.btnRefresh = wx.BitmapButton(self, wx.ID_ANY, self.refresh)
        size = self.btnRefresh.GetSize()

        self.btnRefresh.SetMinSize(size)
        self.btnRefresh.SetMaxSize(size)
        self.btnRefresh.SetToolTipString("Refresh API")

        self.btnRefresh.Bind(wx.EVT_BUTTON, self.refreshApi)
        self.btnRefresh.Enable(False)

        mainSizer.Add(self.btnRefresh, 0,
                      wx.ALIGN_CENTER_VERTICAL | wx.TOP | wx.RIGHT | wx.LEFT,
                      2)

        self.skillReqsStaticBitmap = wx.StaticBitmap(self)
        self.skillReqsStaticBitmap.SetBitmap(self.cleanSkills)
        mainSizer.Add(self.skillReqsStaticBitmap, 0,
                      wx.ALIGN_CENTER_VERTICAL | wx.TOP | wx.RIGHT | wx.LEFT,
                      3)

        self.Bind(wx.EVT_CHOICE, self.charChanged)
        self.mainFrame.Bind(GE.CHAR_LIST_UPDATED, self.refreshCharacterList)
        self.mainFrame.Bind(GE.FIT_CHANGED, self.fitChanged)

        #        panelSize = wx.Size(-1,30)
        #        self.SetMinSize(panelSize)

        self.charChoice.Enable(False)
예제 #8
0
 def __init__(self, fittingView, params):
     ViewColumn.__init__(self, fittingView)
     self.size = 16
     self.maxsize = self.size
     self.mask = wx.LIST_MASK_TEXT
     self.columnText = ""
     self.shipImage = fittingView.imageList.Add(bitmapLoader.getBitmap("ship_small", "icons"))
예제 #9
0
    def __init__(self, fittingView, params):
        ViewColumn.__init__(self, fittingView)
        cAttribute = service.Attribute.getInstance()
        attributeSlave = params["attributeSlave"] or params["property"]
        try:
            info = cAttribute.getAttributeInfo(attributeSlave)
        except:
            info = None

        self.mask = 0
        self.propertyName = params["property"]
        self.info = info
        if params["showIcon"]:
            if info.name == "power":
                iconFile = "pg_small"
                iconType = "icons"
            else:
                iconFile = info.icon.iconFile if info.icon else None
                iconType = "pack"
            if iconFile:
                bitmap = bitmapLoader.getBitmap(iconFile, iconType)
                if bitmap:
                    self.imageId = fittingView.imageList.Add(bitmap)
                else:
                    self.imageId = -1
            else:
                self.imageId = -1
        else:
            self.imageId = -1

        if params["displayName"] or self.imageId == -1:
            self.columnText = info.displayName if info.displayName != "" else info.name
예제 #10
0
    def __init__(self, fittingView, params):
        ViewColumn.__init__(self, fittingView)
        cAttribute = service.Attribute.getInstance()
        attributeSlave = params["attributeSlave"] or params["property"]
        try:
            info = cAttribute.getAttributeInfo(attributeSlave)
        except:
            info = None

        self.mask = 0
        self.propertyName = params["property"]
        self.info = info
        if params["showIcon"]:
            if info.name == "power":
                iconFile = "pg_small"
                iconType = "icons"
            else:
                iconFile = info.icon.iconFile if info.icon else None
                iconType = "pack"
            if iconFile:
                bitmap = bitmapLoader.getBitmap(iconFile, iconType)
                if bitmap:
                    self.imageId = fittingView.imageList.Add(bitmap)
                else:
                    self.imageId = -1
            else:
                self.imageId = -1
        else:
            self.imageId = -1

        if params["displayName"] or self.imageId == -1:
            self.columnText = info.displayName if info.displayName != "" else info.name
예제 #11
0
    def __init__(self, fittingView, params):
        ViewColumn.__init__(self, fittingView)
        cAttribute = service.Attribute.getInstance()
        info = cAttribute.getAttributeInfo(params["attribute"])
        self.info = info
        if params["showIcon"]:
            if info.name == "power":
                iconFile = "pg_small"
                iconType = "icons"
            else:
                iconFile = info.icon.iconFile if info.icon else None
                iconType = "pack"
            if iconFile:
                bitmap = bitmapLoader.getBitmap(iconFile, iconType)
                if bitmap:
                    self.imageId = fittingView.imageList.Add(bitmap)
                else:
                    self.imageId = -1
            else:
                self.imageId = -1
            self.mask = wx.LIST_MASK_IMAGE
        else:
            self.imageId = -1

        if params["displayName"] or self.imageId == -1:
            self.columnText = info.displayName if info.displayName != "" else info.name
            self.mask |= wx.LIST_MASK_IMAGE
예제 #12
0
    def __init__(self, fittingView, params):
        ViewColumn.__init__(self, fittingView)
        cAttribute = service.Attribute.getInstance()
        info = cAttribute.getAttributeInfo(params["attribute"])
        self.info = info
        if params["showIcon"]:
            if info.name == "power":
                iconFile = "pg_small"
                iconType = "icons"
            else:
                iconFile = info.icon.iconFile if info.icon else None
                iconType = "pack"
            if iconFile:
                bitmap = bitmapLoader.getBitmap(iconFile, iconType)
                if bitmap:
                    self.imageId = fittingView.imageList.Add(bitmap)
                else:
                    self.imageId = -1
            else:
                self.imageId = -1
            self.mask = wx.LIST_MASK_IMAGE
        else:
            self.imageId = -1

        if params["displayName"] or self.imageId == -1:
            self.columnText = info.displayName if info.displayName != "" else info.name
            self.mask |= wx.LIST_MASK_IMAGE
예제 #13
0
    def __init__(self, fittingView, params=None):
        if params == None:
            params = {"showIcon": True, "displayName": False}
        ViewColumn.__init__(self, fittingView)

        cAttribute = service.Attribute.getInstance()
        info = cAttribute.getAttributeInfo("maxRange")
        self.info = info
        if params["showIcon"]:
            iconFile = info.icon.iconFile if info.icon else None
            if iconFile:
                bitmap = bitmapLoader.getBitmap(iconFile, "pack")
                if bitmap:
                    self.imageId = fittingView.imageList.Add(bitmap)
                else:
                    self.imageId = -1
            else:
                self.imageId = -1
            self.mask = wx.LIST_MASK_IMAGE
        else:
            self.imageId = -1

        if params["displayName"] or self.imageId == -1:
            self.columnText = info.displayName if info.displayName != "" else info.name
            self.mask |= wx.LIST_MASK_TEXT
예제 #14
0
    def getSubMenu(self, context, selection, menu, i, pitem):
        menu.Bind(
            wx.EVT_MENU,
            self.handlePatternSwitch)  # this bit is required for some reason

        if self.m[i] not in self.subMenus:
            # if we're trying to get submenu to something that shouldn't have one,
            # redirect event of the item to handlePatternSwitch and put pattern in
            # our patternIds mapping, then return None for no submenu
            id = pitem.GetId()
            self.patternIds[id] = self.singles[i]
            menu.Bind(wx.EVT_MENU, self.handlePatternSwitch, pitem)
            if self.patternIds[id] == self.fit.damagePattern:
                bitmap = bitmapLoader.getBitmap("state_active_small", "icons")
                pitem.SetBitmap(bitmap)
            return None

        sub = wx.Menu()
        sub.Bind(wx.EVT_MENU, self.handlePatternSwitch)

        # Items that have a parent
        for pattern in self.subMenus[self.m[i]]:
            sub.AppendItem(self.addPattern(sub, pattern))

        return sub
예제 #15
0
    def __init__(self, fittingView, params=None):
        if params == None:
            params = {"showIcon": True, "displayName": False}
        ViewColumn.__init__(self, fittingView)
        cAttribute = service.Attribute.getInstance()
        info = cAttribute.getAttributeInfo("trackingSpeed")
        self.info = info
        if params["showIcon"]:
            iconFile = info.icon.iconFile if info.icon else None
            if iconFile:
                bitmap = bitmapLoader.getBitmap(iconFile, "pack")
                if bitmap:
                    self.imageId = fittingView.imageList.Add(bitmap)
                else:
                    self.imageId = -1
            else:
                self.imageId = -1

            self.mask = wx.LIST_MASK_IMAGE

        else:
            self.imageId = -1

        if params["displayName"] or self.imageId == -1:
            self.columnText = info.displayName if info.displayName != "" else info.name
            self.mask |= wx.LIST_MASK_TEXT
예제 #16
0
    def __init__(self, parent):
        self.mainFrame = gui.mainFrame.MainFrame.getInstance()

        wx.Panel.__init__(self, parent)
        mainSizer = wx.BoxSizer(wx.HORIZONTAL)
        self.SetSizer(mainSizer)

        mainSizer.Add(wx.StaticText(self, wx.ID_ANY, "Character: "), 0, wx.CENTER | wx.TOP | wx.RIGHT | wx.LEFT, 3)

        # cache current selection to fall back in case we choose to open char editor
        self.charCache = None

        self.charChoice = wx.Choice(self)
        mainSizer.Add(self.charChoice, 1, wx.ALIGN_CENTER_VERTICAL | wx.TOP | wx.RIGHT | wx.LEFT, 3)

        self.refreshCharacterList()

        self.cleanSkills = bitmapLoader.getBitmap("skill_big", "icons")
        self.redSkills   = bitmapLoader.getBitmap("skillRed_big", "icons")
        self.greenSkills = bitmapLoader.getBitmap("skillGreen_big", "icons")
        self.refresh     = bitmapLoader.getBitmap("refresh", "icons")

        self.btnRefresh = wx.BitmapButton(self, wx.ID_ANY, self.refresh)
        size = self.btnRefresh.GetSize()

        self.btnRefresh.SetMinSize(size)
        self.btnRefresh.SetMaxSize(size)
        self.btnRefresh.SetToolTipString("Refresh API")

        self.btnRefresh.Bind(wx.EVT_BUTTON, self.refreshApi)
        self.btnRefresh.Enable(False)

        mainSizer.Add(self.btnRefresh, 0, wx.ALIGN_CENTER_VERTICAL | wx.TOP | wx.RIGHT | wx.LEFT, 2)

        self.skillReqsStaticBitmap = wx.StaticBitmap(self)
        self.skillReqsStaticBitmap.SetBitmap(self.cleanSkills)
        mainSizer.Add(self.skillReqsStaticBitmap, 0, wx.ALIGN_CENTER_VERTICAL | wx.TOP | wx.RIGHT | wx.LEFT, 3)

        self.Bind(wx.EVT_CHOICE, self.charChanged)
        self.mainFrame.Bind(GE.CHAR_LIST_UPDATED, self.refreshCharacterList)
        self.mainFrame.Bind(GE.FIT_CHANGED, self.fitChanged)

#        panelSize = wx.Size(-1,30)
#        self.SetMinSize(panelSize)

        self.charChoice.Enable(False)
예제 #17
0
 def __init__(self, fittingView, params):
     ViewColumn.__init__(self, fittingView)
     self.mask = wx.LIST_MASK_IMAGE
     bitmap = bitmapLoader.getBitmap("totalPrice_small", "icons")
     if bitmap:
         self.imageId = fittingView.imageList.Add(bitmap)
     else:
         self.imageId = -1
예제 #18
0
 def addMarketViewImage(self, iconFile):
     if iconFile is None:
         return -1
     bitmap = bitmapLoader.getBitmap(iconFile, "pack")
     if bitmap is None:
         return -1
     else:
         return self.availableImplantsImageList.Add(bitmap)
예제 #19
0
 def __init__(self, fittingView, params):
     ViewColumn.__init__(self, fittingView)
     self.size = 16
     self.maxsize = self.size
     self.mask = wx.LIST_MASK_TEXT
     self.columnText = ""
     self.shipImage = fittingView.imageList.Add(
         bitmapLoader.getBitmap("ship_small", "icons"))
예제 #20
0
파일: price.py 프로젝트: poundjd/Pyfa-skel
 def __init__(self, fittingView, params):
     ViewColumn.__init__(self, fittingView)
     self.mask = wx.LIST_MASK_IMAGE
     bitmap = bitmapLoader.getBitmap("totalPrice_small", "icons")
     if bitmap:
         self.imageId = fittingView.imageList.Add(bitmap)
     else:
         self.imageId = -1
예제 #21
0
 def getBitmap(self, context, selection):
     sFit = service.Fit.getInstance()
     fitID = self.mainFrame.getActiveFit()
     fit = sFit.getFit(fitID)
     if fit.factorReload:
         return bitmapLoader.getBitmap("state_active_small", "icons")
     else:
         return None
예제 #22
0
 def addMarketViewImage(self, iconFile):
     if iconFile is None:
         return -1
     bitmap = bitmapLoader.getBitmap(iconFile, "pack")
     if bitmap is None:
         return -1
     else:
         return self.availableImplantsImageList.Add(bitmap)
예제 #23
0
 def getBitmap(self, context, selection):
     sFit = service.Fit.getInstance()
     fitID = self.mainFrame.getActiveFit()
     fit = sFit.getFit(fitID)
     if fit.factorReload:
         return bitmapLoader.getBitmap("state_active_small", "icons")
     else:
         return None
예제 #24
0
 def loadIconFile(self, iconFile):
     if iconFile:
         bitmap = bitmapLoader.getBitmap(iconFile, "pack")
         if bitmap is None:
             return -1
         else:
             return self.fittingView.imageList.Add(bitmap)
     else:
         return -1
예제 #25
0
 def loadIconFile(self, iconFile):
     if iconFile:
         bitmap = bitmapLoader.getBitmap(iconFile, "pack")
         if bitmap is None:
             return -1
         else:
             return self.fittingView.imageList.Add(bitmap)
     else:
         return -1
예제 #26
0
    def __init__(self, fittingView, params):
        ViewColumn.__init__(self, fittingView)

        self.mask = wx.LIST_MASK_IMAGE

        sAttr = service.Attribute.getInstance()
        info = sAttr.getAttributeInfo("capacitorNeed")
        self.imageId = fittingView.imageList.GetImageIndex("capacitorRecharge_small", "icons")
        self.bitmap = bitmapLoader.getBitmap("capacitorRecharge_small", "icons")
예제 #27
0
    def __init__(self, fittingView, params):
        ViewColumn.__init__(self, fittingView)

        self.mask = wx.LIST_MASK_IMAGE

        sAttr = service.Attribute.getInstance()
        info = sAttr.getAttributeInfo("capacitorNeed")
        self.imageId = fittingView.imageList.GetImageIndex(info.icon.iconFile, "pack")
        self.bitmap = bitmapLoader.getBitmap(info.icon.iconFile, "pack")
예제 #28
0
    def __init__(self, parent):
        wx.Panel.__init__(self,
                          parent,
                          id=wx.ID_ANY,
                          pos=wx.DefaultPosition,
                          size=wx.Size(500, 300),
                          style=wx.TAB_TRAVERSAL)
        self.SetBackgroundColour(
            wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOW))

        pmainSizer = wx.BoxSizer(wx.VERTICAL)

        tree = self.skillTreeListCtrl = wx.gizmos.TreeListCtrl(
            self, wx.ID_ANY, style=wx.TR_DEFAULT_STYLE | wx.TR_HIDE_ROOT)
        pmainSizer.Add(tree, 1, wx.EXPAND | wx.ALL, 5)

        self.imageList = wx.ImageList(16, 16)
        tree.SetImageList(self.imageList)
        self.skillBookImageId = self.imageList.Add(
            bitmapLoader.getBitmap("skill_small", "icons"))

        tree.AddColumn("Skill")
        tree.AddColumn("Level")
        tree.SetMainColumn(0)

        self.root = tree.AddRoot("Skills")
        tree.SetItemText(self.root, "Levels", 1)

        tree.SetColumnWidth(0, 500)

        self.populateSkillTree()

        tree.Bind(wx.EVT_TREE_ITEM_EXPANDING, self.expandLookup)
        tree.Bind(wx.EVT_TREE_ITEM_RIGHT_CLICK, self.scheduleMenu)

        srcContext = "skillItem"
        itemContext = "Skill"
        context = (srcContext, itemContext)
        self.statsMenu = ContextMenu.getMenu(None, context)
        self.levelChangeMenu = ContextMenu.getMenu(None, context) or wx.Menu()
        self.levelChangeMenu.AppendSeparator()
        self.levelIds = {}

        idUnlearned = wx.NewId()
        self.levelIds[idUnlearned] = "Not learned"
        self.levelChangeMenu.Append(idUnlearned, "Unlearn")

        for level in xrange(6):
            id = wx.NewId()
            self.levelIds[id] = level
            self.levelChangeMenu.Append(id, "Level %d" % level)

        self.levelChangeMenu.Bind(wx.EVT_MENU, self.changeLevel)
        self.SetSizer(pmainSizer)

        self.Layout()
예제 #29
0
    def __init__(self, fittingView, params):
        ViewColumn.__init__(self, fittingView)

        self.mask = wx.LIST_MASK_IMAGE

        cAttribute = service.Attribute.getInstance()
        info = cAttribute.getAttributeInfo("capacitorNeed")
        self.imageId = fittingView.imageList.GetImageIndex(
            info.icon.iconFile, "pack")
        self.bitmap = bitmapLoader.getBitmap(info.icon.iconFile, "pack")
예제 #30
0
파일: fitDps.py 프로젝트: flinz/pyfa
    def getIcons(self):
        icons = {}
        sFit = service.Attribute.getInstance()
        for key, attrName in self.propertyAttributeMap.iteritems():
            iconFile = sFit.getAttributeInfo(attrName).icon.iconFile
            bitmap = bitmapLoader.getBitmap(iconFile, "pack")
            if bitmap:
                icons[key] = bitmap

        return icons
예제 #31
0
파일: fitDps.py 프로젝트: Headpigeon/Pyfa
    def getIcons(self):
        icons = {}
        sAttr = service.Attribute.getInstance()
        for key, attrName in self.propertyAttributeMap.iteritems():
            iconFile = sAttr.getAttributeInfo(attrName).icon.iconFile
            bitmap = bitmapLoader.getBitmap(iconFile, "pack")
            if bitmap:
                icons[key] = bitmap

        return icons
예제 #32
0
    def __init__(self, fittingView, params):
        ViewColumn.__init__(self, fittingView)

        self.mask = wx.LIST_MASK_IMAGE

        cAttribute = service.Attribute.getInstance()
        info = cAttribute.getAttributeInfo("capacitorNeed")
        bitmap = bitmapLoader.getBitmap(info.icon.iconFile, "pack")
        if bitmap:
            self.imageId = fittingView.imageList.Add(bitmap)
        else:
            self.imageId = -1
예제 #33
0
    def addCharge(self, menu, charge):
        id = wx.NewId()
        name = charge.name if charge is not None else "Empty"
        self.chargeIds[id] = charge
        item = wx.MenuItem(menu, id, name)
        item.charge = charge
        if charge is not None and charge.icon is not None:
            bitmap = bitmapLoader.getBitmap(charge.icon.iconFile, "pack")
            if bitmap is not None:
                item.SetBitmap(bitmap)

        return item
예제 #34
0
    def addCharge(self, menu, charge):
        id = wx.NewId()
        name = charge.name if charge is not None else "Empty"
        self.chargeIds[id] = charge
        item = wx.MenuItem(menu, id, name)
        item.charge = charge
        if charge is not None and charge.icon is not None:
            bitmap = bitmapLoader.getBitmap(charge.icon.iconFile, "pack")
            if bitmap is not None:
                item.SetBitmap(bitmap)

        return item
예제 #35
0
    def addCharge(self, rootMenu, charge):
        id = wx.NewId()
        name = charge.name if charge is not None else "Empty"
        self.chargeIds[id] = charge
        item = wx.MenuItem(rootMenu, id, name)
        rootMenu.Bind(wx.EVT_MENU, self.handleAmmoSwitch, item)
        item.charge = charge
        if charge is not None and charge.icon is not None:
            bitmap = bitmapLoader.getBitmap(charge.icon.iconFile, "pack")
            if bitmap is not None:
                item.SetBitmap(bitmap)

        return item
예제 #36
0
    def __init__(self, parent):
        wx.Panel.__init__(
            self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.Size(500, 300), style=wx.TAB_TRAVERSAL
        )

        pmainSizer = wx.BoxSizer(wx.VERTICAL)

        tree = self.skillTreeListCtrl = wx.gizmos.TreeListCtrl(
            self, wx.ID_ANY, style=wx.TR_DEFAULT_STYLE | wx.TR_HIDE_ROOT
        )
        pmainSizer.Add(tree, 1, wx.EXPAND | wx.ALL, 5)

        self.imageList = wx.ImageList(16, 16)
        tree.SetImageList(self.imageList)
        self.skillBookImageId = self.imageList.Add(bitmapLoader.getBitmap("skill_small", "icons"))

        tree.AddColumn("Skill")
        tree.AddColumn("Level")
        tree.SetMainColumn(0)

        self.root = tree.AddRoot("Skills")
        tree.SetItemText(self.root, "Levels", 1)

        tree.SetColumnWidth(0, 500)

        self.populateSkillTree()

        tree.Bind(wx.EVT_TREE_ITEM_EXPANDING, self.expandLookup)
        tree.Bind(wx.EVT_TREE_ITEM_RIGHT_CLICK, self.scheduleMenu)

        srcContext = "skillItem"
        itemContext = "Skill"
        context = (srcContext, itemContext)
        self.statsMenu = ContextMenu.getMenu(None, context)
        self.levelChangeMenu = ContextMenu.getMenu(None, context) or wx.Menu()
        self.levelChangeMenu.AppendSeparator()
        self.levelIds = {}

        idUnlearned = wx.NewId()
        self.levelIds[idUnlearned] = "Not learned"
        self.levelChangeMenu.Append(idUnlearned, "Unlearn")

        for level in xrange(6):
            id = wx.NewId()
            self.levelIds[id] = level
            self.levelChangeMenu.Append(id, "Level %d" % level)

        self.levelChangeMenu.Bind(wx.EVT_MENU, self.changeLevel)
        self.SetSizer(pmainSizer)

        self.Layout()
예제 #37
0
    def getImageId(self, stuff):
        if isinstance(stuff, Drone):
            return -1
        if isinstance(stuff, Fit):
            return self.shipImage
        if isinstance(stuff, Module):
            if stuff.isEmpty:
                bitmap = bitmapLoader.getBitmap("slot_%s_small" % Slot.getName(stuff.slot).lower(), "icons")
                return self.fittingView.imageList.Add(bitmap)
            else:
                return self.loadIconFile(stuff.item.icon.iconFile if stuff.item.icon else "")

        item = getattr(stuff, "item", stuff)
        return self.loadIconFile(item.icon.iconFile if item.icon else "")
예제 #38
0
파일: damagePattern.py 프로젝트: flinz/pyfa
    def getBitmap(self, context, selection):
        sFit = service.Fit.getInstance()
        fitID = self.mainFrame.getActiveFit()
        f = sFit.getFit(fitID)
        dp = f.damagePattern
        if dp is None:
            return None

        index = self.patterns.index(dp)
        bitmap = bitmapLoader.getBitmap("state_active_small", "icons")
        l = [None] * len(self.patterns)
        l[index] = bitmap

        return l
예제 #39
0
파일: misc.py 프로젝트: copyliu/pyfa-l10n
    def __init__(self, fittingView, params=None):
        if params == None:
            params = {"showIcon": True, "displayName": False}
        ViewColumn.__init__(self, fittingView)
        if params["showIcon"]:
            self.imageId = fittingView.imageList.GetImageIndex("column_misc", "icons")
            self.bitmap = bitmapLoader.getBitmap("column_misc", "icons")
            self.mask = wx.LIST_MASK_IMAGE
        else:
            self.imageId = -1

        if params["displayName"] or self.imageId == -1:
            self.columnText = "Misc data"
            self.mask |= wx.LIST_MASK_TEXT
예제 #40
0
    def getBitmap(self, context, selection):
        sFit = service.Fit.getInstance()
        fitID = self.mainFrame.getActiveFit()
        f = sFit.getFit(fitID)
        dp = f.damagePattern
        if dp is None:
            return None

        index = self.patterns.index(dp)
        bitmap = bitmapLoader.getBitmap("state_active_small", "icons")
        l = [None] * len(self.patterns)
        l[index] = bitmap

        return l
예제 #41
0
파일: misc.py 프로젝트: flinz/pyfa
    def __init__(self, fittingView, params=None):
        if params == None:
            params = {"showIcon": True, "displayName": False}
        ViewColumn.__init__(self, fittingView)
        if params["showIcon"]:
            self.imageId = fittingView.imageList.GetImageIndex(
                "column_misc", "icons")
            self.bitmap = bitmapLoader.getBitmap("column_misc", "icons")
            self.mask = wx.LIST_MASK_IMAGE
        else:
            self.imageId = -1

        if params["displayName"] or self.imageId == -1:
            self.columnText = "Misc data"
            self.mask |= wx.LIST_MASK_TEXT
예제 #42
0
 def getImageId(self, stuff):
     if isinstance(stuff, Drone):
         return self.checkedId if stuff.amountActive > 0 else self.uncheckedId
     elif isinstance(stuff, Module):
         if stuff.isEmpty:
             return -1
         else:
             bitmap = bitmapLoader.getBitmap("state_%s_small" % State_.getName(stuff.state).lower(), "icons")
             return self.fittingView.imageList.Add(bitmap)
     else:
         active = getattr(stuff, "active", None)
         if active is None:
             return -1
         else:
             return self.checkedId if active else self.uncheckedId
예제 #43
0
    def getImageId(self, stuff):
        if not isinstance(stuff, Module):
            return -1

        if stuff.charge is None:
            return -1
        else:
            iconFile = stuff.charge.icon.iconFile if stuff.item.icon else ""
            if iconFile:
                bitmap = bitmapLoader.getBitmap(iconFile, "pack")
                if bitmap is None:
                    return -1
                else:
                    return self.fittingView.imageList.Add(bitmap)
            else:
                return -1
예제 #44
0
 def getImageId(self, stuff):
     if isinstance(stuff, Drone):
         return self.checkedId if stuff.amountActive > 0 else self.uncheckedId
     elif isinstance(stuff, Module):
         if stuff.isEmpty:
             return -1
         else:
             bitmap = bitmapLoader.getBitmap(
                 "state_%s_small" % State_.getName(stuff.state).lower(),
                 "icons")
             return self.fittingView.imageList.Add(bitmap)
     else:
         active = getattr(stuff, "active", None)
         if active is None:
             return -1
         else:
             return self.checkedId if active else self.uncheckedId
예제 #45
0
    def getImageId(self, stuff):
        if isinstance(stuff, Drone):
            return -1
        if isinstance(stuff, Fit):
            return self.shipImage
        if isinstance(stuff, Module):
            if stuff.isEmpty:
                bitmap = bitmapLoader.getBitmap(
                    "slot_%s_small" % Slot.getName(stuff.slot).lower(),
                    "icons")
                return self.fittingView.imageList.Add(bitmap)
            else:
                return self.loadIconFile(
                    stuff.item.icon.iconFile if stuff.item.icon else "")

        item = getattr(stuff, "item", stuff)
        return self.loadIconFile(item.icon.iconFile if item.icon else "")
예제 #46
0
    def addPattern(self, menu, pattern, currBase = None):
        id = wx.NewId()
        name = getattr(pattern, "_name", pattern.name) if pattern is not None else "No Profile"

        self.patternIds[id] = pattern
        item = wx.MenuItem(menu, id, name)
        # set pattern attr to menu item
        item.pattern = pattern

        # determine active pattern
        sFit = service.Fit.getInstance()
        fitID = self.mainFrame.getActiveFit()
        f = sFit.getFit(fitID)
        tr = f.targetResists

        if tr == pattern:
            bitmap = bitmapLoader.getBitmap("state_active_small", "icons")
            item.SetBitmap(bitmap)
        return item
예제 #47
0
    def getSubMenu(self, context, selection, rootMenu, i, pitem):
        self.skillIds = {}
        sub = wx.Menu()

        for skill in self.skills:
            skillItem = wx.MenuItem(sub, wx.NewId(), skill.item.name)
            grandSub = wx.Menu()
            skillItem.SetSubMenu(grandSub)
            if skill.learned:
                bitmap = bitmapLoader.getBitmap("lvl%s" % skill.level, "icons")
                if bitmap is not None:
                    skillItem.SetBitmap(bitmap)

            for i in xrange(-1, 6):
                levelItem = self.addSkill(rootMenu, skill, i)
                grandSub.AppendItem(levelItem)
                #@ todo: add check to current level. Need to fix #109 first
            sub.AppendItem(skillItem)

        return sub
예제 #48
0
    def addPattern(self, menu, pattern, currBase=None):
        id = wx.NewId()
        name = getattr(pattern, "_name",
                       pattern.name) if pattern is not None else "No Profile"

        self.patternIds[id] = pattern
        item = wx.MenuItem(menu, id, name)
        # set pattern attr to menu item
        item.pattern = pattern

        # determine active pattern
        sFit = service.Fit.getInstance()
        fitID = self.mainFrame.getActiveFit()
        f = sFit.getFit(fitID)
        tr = f.targetResists

        if tr == pattern:
            bitmap = bitmapLoader.getBitmap("state_active_small", "icons")
            item.SetBitmap(bitmap)
        return item
예제 #49
0
    def getSubMenu(self, context, selection, rootMenu, i, pitem):
        self.skillIds = {}
        sub = wx.Menu()

        for skill in self.skills:
            skillItem = wx.MenuItem(sub, wx.NewId(), skill.item.name)
            grandSub = wx.Menu()
            skillItem.SetSubMenu(grandSub)
            if skill.learned:
                bitmap = bitmapLoader.getBitmap("lvl%s" % skill.level, "icons")
                if bitmap is not None:
                    skillItem.SetBitmap(bitmap)

            for i in xrange(-1, 6):
                levelItem = self.addSkill(rootMenu, skill, i)
                grandSub.AppendItem(levelItem)
                #@ todo: add check to current level. Need to fix #109 first
            sub.AppendItem(skillItem)

        return sub
예제 #50
0
    def getSubMenu(self, context, selection, rootMenu, i, pitem):
        rootMenu.Bind(wx.EVT_MENU, self.handlePatternSwitch)  # this bit is required for some reason

        if self.m[i] not in self.subMenus:
            # if we're trying to get submenu to something that shouldn't have one,
            # redirect event of the item to handlePatternSwitch and put pattern in
            # our patternIds mapping, then return None for no submenu
            id = pitem.GetId()
            self.patternIds[id] = self.singles[i]
            if self.patternIds[id] == self.fit.damagePattern:
                bitmap = bitmapLoader.getBitmap("state_active_small", "icons")
                pitem.SetBitmap(bitmap)
            return None

        sub = wx.Menu()

        # Items that have a parent
        for pattern in self.subMenus[self.m[i]]:
            sub.AppendItem(self.addPattern(rootMenu, pattern))

        return sub
예제 #51
0
    def addPattern(self, rootMenu, pattern):
        id = wx.NewId()
        name = getattr(pattern, "_name", pattern.name) if pattern is not None else "No Profile"

        self.patternIds[id] = pattern
        menuItem = wx.MenuItem(rootMenu, id, name)
        rootMenu.Bind(wx.EVT_MENU, self.handlePatternSwitch, menuItem)

        # set pattern attr to menu item
        menuItem.pattern = pattern

        # determine active pattern
        sFit = service.Fit.getInstance()
        fitID = self.mainFrame.getActiveFit()
        f = sFit.getFit(fitID)
        dp = f.damagePattern

        if dp == pattern:
            bitmap = bitmapLoader.getBitmap("state_active_small", "icons")
            menuItem.SetBitmap(bitmap)
        return menuItem
예제 #52
0
    def __init__(self, fittingView, params):
        ViewColumn.__init__(self, fittingView)
        cAttribute = service.Attribute.getInstance()
        info = cAttribute.getAttributeInfo(params["attribute"])
        self.info = info
        if params["showIcon"]:
            if info.name == "power":
                iconFile = "pg_small"
                iconType = "icons"
            else:
                iconFile = info.icon.iconFile if info.icon else None
                iconType = "pack"
            if iconFile:
                self.imageId = fittingView.imageList.GetImageIndex(
                    iconFile, iconType)
                self.bitmap = bitmapLoader.getBitmap(iconFile, iconType)
            else:
                self.imageId = -1

            self.mask = wx.LIST_MASK_IMAGE
        else:
            self.imageId = -1

        if params["displayName"] or self.imageId == -1:
            self.columnText = info.displayName if info.displayName != "" else info.name
            self.mask |= wx.LIST_MASK_IMAGE

        if params["direct"]:
            self.direct = True
            self.view = fittingView
            originalRefresh = fittingView.refresh
            sMarket = service.Market.getInstance()

            #Hack into our master view and add a callback for ourselves to know when to query
            def refresh(stuff):
                self.directInfo = sMarket.directAttrRequest(
                    stuff, info) if stuff else None
                originalRefresh(stuff)

            fittingView.refresh = refresh
예제 #53
0
    def addPattern(self, rootMenu, pattern):
        id = wx.NewId()
        name = getattr(pattern, "_name",
                       pattern.name) if pattern is not None else "No Profile"

        self.patternIds[id] = pattern
        menuItem = wx.MenuItem(rootMenu, id, name)
        rootMenu.Bind(wx.EVT_MENU, self.handlePatternSwitch, menuItem)

        # set pattern attr to menu item
        menuItem.pattern = pattern

        # determine active pattern
        sFit = service.Fit.getInstance()
        fitID = self.mainFrame.getActiveFit()
        f = sFit.getFit(fitID)
        dp = f.damagePattern

        if dp == pattern:
            bitmap = bitmapLoader.getBitmap("state_active_small", "icons")
            menuItem.SetBitmap(bitmap)
        return menuItem
예제 #54
0
    def getSubMenu(self, context, selection, rootMenu, i, pitem):
        msw = True if "wxMSW" in wx.PlatformInfo else False
        self.skillIds = {}
        sub = wx.Menu()

        for skill in self.skills:
            skillItem = wx.MenuItem(sub, wx.NewId(), skill.item.name)
            grandSub = wx.Menu()
            skillItem.SetSubMenu(grandSub)
            if skill.learned:
                bitmap = bitmapLoader.getBitmap("lvl%s" % skill.level, "icons")
                if bitmap is not None:
                    skillItem.SetBitmap(bitmap)

            for i in xrange(-1, 6):
                levelItem = self.addSkill(rootMenu if msw else grandSub, skill, i)
                grandSub.AppendItem(levelItem)
                if (not skill.learned and i == -1) or (skill.learned and skill.level == i):
                    levelItem.Check(True)
            sub.AppendItem(skillItem)

        return sub
예제 #55
0
파일: fleetBrowser.py 프로젝트: flinz/pyfa
    def __init__(self, parent):
        wx.Panel.__init__ (self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.Size(500, 24), style=wx.TAB_TRAVERSAL)
        self.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_BTNFACE ) )

        self.newBmp = bitmapLoader.getBitmap("fit_add_small","icons")
        bmpSize = (16,16)

        mainSizer = wx.BoxSizer(wx.HORIZONTAL)

        if 'wxMac' in wx.PlatformInfo:
            bgcolour = wx.Colour(0, 0, 0, 0)
        else:
            bgcolour = wx.SystemSettings.GetColour( wx.SYS_COLOUR_BTNFACE )

        self.fbNewFleet = PFGenBitmapButton( self, wx.ID_ANY, self.newBmp, wx.DefaultPosition, bmpSize, wx.BORDER_NONE )
        mainSizer.Add(self.fbNewFleet, 0, wx.LEFT | wx.TOP | wx.BOTTOM  | wx.ALIGN_CENTER_VERTICAL , 5)
        self.fbNewFleet.SetBackgroundColour( bgcolour )

        self.sl1 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_VERTICAL )
        mainSizer.Add( self.sl1, 0, wx.EXPAND |wx.LEFT, 5 )

        self.tcFilter = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
        mainSizer.Add( self.tcFilter, 0, wx.LEFT | wx.ALIGN_CENTER_VERTICAL, 5 )

        self.stStatus = wx.StaticText( self, wx.ID_ANY, u"", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.stStatus.Wrap( -1 )
        mainSizer.Add( self.stStatus, 1, wx.LEFT | wx.ALIGN_CENTER_VERTICAL, 5 )

        self.SetSizer(mainSizer)
        self.Layout()

        self.fbNewFleet.Bind(wx.EVT_ENTER_WINDOW, self.fbNewEnterWindow)
        self.fbNewFleet.Bind(wx.EVT_LEAVE_WINDOW, self.fbHItemLeaveWindow)
        self.fbNewFleet.Bind(wx.EVT_BUTTON, self.OnNewFleetItem)

        self.tcFilter.Bind(wx.EVT_TEXT, self.OnFilterText)

        self.tcFilter.Bind(wx.EVT_ENTER_WINDOW, self.fbFilterEnterWindow)
        self.tcFilter.Bind(wx.EVT_LEAVE_WINDOW, self.fbHItemLeaveWindow)