예제 #1
0
 def CreateWindow(self):
     self.primeTimeInfo = None
     topCont = Container(parent=self,
                         height=24,
                         align=uiconst.TOTOP,
                         padding=const.defaultPadding)
     FillThemeColored(parent=topCont,
                      colorType=uiconst.COLORTYPE_UIHEADER,
                      opacity=0.15)
     EveLabelSmall(
         parent=topCont,
         text=GetByLabel('UI/Sovereignty/DefaultVulnerabilityTimeLabel'),
         align=uiconst.CENTERLEFT,
         left=const.defaultPadding)
     menuCont = Container(parent=topCont, align=uiconst.TORIGHT, width=18)
     self.primeTimeMenu = UtilMenu(parent=menuCont,
                                   align=uiconst.CENTERRIGHT,
                                   menuAlign=uiconst.TOPRIGHT,
                                   GetUtilMenu=self.PrimeTimeMenu)
     menuCont.display = False
     execCorpID = sm.GetService('alliance').GetAlliance(
         session.allianceid).executorCorpID
     timeTextLeft = const.defaultPadding
     if self._IsDirectorInExecCorp(execCorpID):
         timeTextLeft = 18
         menuCont.display = True
     self.timeLabel = EveLabelSmall(parent=topCont,
                                    align=uiconst.CENTERRIGHT,
                                    left=timeTextLeft)
     uthread.new(self.UpdatePrimeInfo)
     self.sovDashBoard = SovDashboard(parent=self)
     self.sovDashBoard.CreateWindow()
예제 #2
0
 def ApplyAttributes(self, attributes):
     CargoSlots.ApplyAttributes(self, attributes)
     self.getDroneMenuFunc = attributes.getDroneMenuFunc
     invController = self.GetInvController()
     iconName = invController.GetIconName()
     self.droneUtilMenu = UtilMenu(menuAlign=uiconst.TOPLEFT,
                                   parent=self,
                                   align=uiconst.TOPLEFT,
                                   GetUtilMenu=self.getDroneMenuFunc,
                                   texturePath=iconName,
                                   idx=0,
                                   iconSize=32,
                                   pos=(0, 0, 32, 32))
예제 #3
0
 def ApplyAttributes(self, attributes):
     uicontrols.Window.ApplyAttributes(self, attributes)
     self.SetMinSize([256, 100])
     self.SetTopparentHeight(0)
     self.SetScope('all')
     margin = const.defaultPadding
     scroll = uicontrols.Scroll(parent=self.sr.main,
                                padding=const.defaultPadding)
     scroll.padTop = 20
     scroll.Load(contentList=[],
                 fixedEntryHeight=18,
                 headers=[
                     localization.GetByLabel('UI/Common/DateWords/Time'),
                     localization.GetByLabel('UI/Accessories/Log/Type'),
                     localization.GetByLabel('UI/Accessories/Log/Message')
                 ])
     scroll.sr.id = 'logScroll'
     self.sr.scroll = scroll
     from eve.client.script.ui.control.utilMenu import UtilMenu
     self.settingMenu = UtilMenu(
         menuAlign=uiconst.TOPLEFT,
         parent=self.sr.main,
         align=uiconst.TOPLEFT,
         GetUtilMenu=self.GetNotificationsSettingsMenu,
         left=const.defaultPadding,
         label=localization.GetByLabel('UI/Accessories/Log/CombatSettings'),
         texturePath='res:/UI/Texture/Icons/38_16_229.png',
         closeTexturePath='res:/UI/Texture/Icons/38_16_230.png')
     self.filterMenu = UtilMenu(
         menuAlign=uiconst.TOPRIGHT,
         parent=self.sr.main,
         align=uiconst.TOPRIGHT,
         GetUtilMenu=self.GetLogFilterMenu,
         left=const.defaultPadding,
         width=20,
         height=20,
         iconSize=16,
         texturePath='res:/UI/Texture/Icons/38_16_205.png')
     self.localizedMessages = {
         'error': localization.GetByLabel('UI/Accessories/Log/LogError'),
         'warning': localization.GetByLabel('UI/Accessories/Log/LogWarn'),
         'slash': localization.GetByLabel('UI/Accessories/Log/LogSlash'),
         'combat': localization.GetByLabel('UI/Accessories/Log/LogCombat'),
         'notify': localization.GetByLabel('UI/Accessories/Log/LogNotify'),
         'question':
         localization.GetByLabel('UI/Accessories/Log/LogQuestion'),
         'info': localization.GetByLabel('UI/Accessories/Log/LogInfo'),
         'hint': localization.GetByLabel('UI/Accessories/Log/LogHint')
     }
     self.LoadAllMessages()
     self.timer = base.AutoTimer(1000, self.CheckMessages)
예제 #4
0
 def AddColumnAuction(self):
     col = self.AddColumnContainer()
     col.OnMouseEnter = self.OnMouseEnter
     col.OnMouseExit = self.OnMouseExit
     col.OnClick = self.OnClick
     col.state = uiconst.UI_NORMAL
     col.GetMenu = self.GetMenu
     col.LoadTooltipPanel = self.LoadAuctionHintPanel
     bidCont = Container(parent=col, align=uiconst.TORIGHT, width=50)
     costCont = Container(parent=col, align=uiconst.TOALL, clipChildren=True)
     costText = FmtISK(self.auctionCost, 0)
     self.costLabel = EveLabelMedium(text=costText, parent=costCont, align=uiconst.CENTERLEFT, left=6)
     self.bidUtilMenu = UtilMenu(menuAlign=uiconst.TOPRIGHT, align=uiconst.CENTERLEFT, parent=bidCont, GetUtilMenu=self.BidOnTeamMenu, texturePath='res:/UI/Texture/Icons/73_16_50.png', left=2, label=GetByLabel('UI/Industry/Bid'))
     bidCont.width = self.bidUtilMenu.width + 10
     self.bidUtilMenu.hint = GetByLabel('UI/Industry/BidBtnHint')
예제 #5
0
파일: main.py 프로젝트: connoryang/1v1dec
 def ApplyAttributes(self, attributes):
     Window.ApplyAttributes(self, attributes)
     mainArea = self.GetMainArea()
     mainArea.padding = 6
     self._selectedObject = None
     self.SetTopparentHeight(0)
     self._infoContainer = Container(parent=mainArea, align=uiconst.TOTOP, height=72)
     self.searchInput = SinglelineEdit(parent=self._infoContainer, align=uiconst.BOTTOMRIGHT, left=4, top=8, width=100, OnChange=self.OnSearchInputChange, hinttext='Search')
     self.searchInput.SetHistoryVisibility(False)
     self.searchInput.ShowClearButton()
     m = UtilMenu(menuAlign=uiconst.TOPRIGHT, parent=self._infoContainer, align=uiconst.TOPRIGHT, GetUtilMenu=self.SettingMenu)
     self._infoLabel = Label(parent=self._infoContainer, state=uiconst.UI_DISABLED, color=(1.0, 1.0, 1.0, 0.75), left=2)
     self.searchResultParent = ContainerAutoSize(parent=mainArea, align=uiconst.TOTOP_NOPUSH, padding=(26, -6, 4, 0), bgColor=(0.5, 0.5, 0.5, 1))
     self.attributeScroll = Scroll(parent=mainArea, align=uiconst.TOBOTTOM, name='attributeScroll')
     self.attributeScroll.height = min(self.height / 2, max(72, settings.user.ui.Get('uitree_attributeScroll_height', 200)))
     settings.user.ui.Set('uitree_attributeScroll_height', self.attributeScroll.height)
     self.divider = Divider(align=uiconst.TOBOTTOM, parent=mainArea, height=11, state=uiconst.UI_NORMAL)
     self.divider.OnChange_ = self.OnDividerMove
     self.divider.OnChangeStart_ = self.OnDividerMoveStart
     Fill(parent=self.divider, align=uiconst.CENTER, pos=(0, 0, 20, 1))
     self.scroll = Scroll(parent=mainArea, name='treeScroll')
     self._hiliteFrame = Fill(parent=uicore.desktop, align=uiconst.ABSOLUTE, color=(0, 1, 0, 0.3), idx=0, state=uiconst.UI_DISABLED)
     self._selectedFrame = Frame(parent=uicore.desktop, align=uiconst.ABSOLUTE, color=(0, 1, 0, 0.3), idx=0, state=uiconst.UI_DISABLED)
     self.ReloadUIRoots()
     uthread.new(self.UpdateInfo)
     self._keyDownCookie = uicore.uilib.RegisterForTriuiEvents([uiconst.UI_KEYDOWN], self.OnGlobalKeyDown)
예제 #6
0
 def ConstructTopCont(self):
     self.topCont = Container(name='topCont',
                              parent=self,
                              align=uiconst.TOTOP,
                              height=24)
     UtilMenu(parent=self.topCont,
              align=uiconst.CENTERLEFT,
              menuAlign=uiconst.BOTTOMLEFT,
              GetUtilMenu=self.GetSkillSettingsMenu,
              texturePath='res:/UI/Texture/SettingsCogwheel.png',
              width=16,
              height=16,
              iconSize=18)
     self.quickFilter = QuickFilterEdit(parent=self.topCont,
                                        align=uiconst.CENTERLEFT,
                                        width=80,
                                        left=18)
     self.quickFilter.ReloadFunction = self.QuickFilterReload
     btn = Button(
         parent=self.topCont,
         align=uiconst.CENTERRIGHT,
         label=GetByLabel(
             'UI/CharacterSheet/CharacterSheetWindow/SkillTabs/OpenTrainingQueue'
         ),
         func=self.OpenSkillQueueWindow,
         name='characterSheetOpenTrainingQueue')
예제 #7
0
class CargoDroneSlots(CargoSlots):
    def ApplyAttributes(self, attributes):
        CargoSlots.ApplyAttributes(self, attributes)
        self.getDroneMenuFunc = attributes.getDroneMenuFunc
        invController = self.GetInvController()
        iconName = invController.GetIconName()
        self.droneUtilMenu = UtilMenu(menuAlign=uiconst.TOPLEFT,
                                      parent=self,
                                      align=uiconst.TOPLEFT,
                                      GetUtilMenu=self.getDroneMenuFunc,
                                      texturePath=iconName,
                                      idx=0,
                                      iconSize=32,
                                      pos=(0, 0, 32, 32))

    def GetInvController(self):
        if self.controller.IsSimulated():
            itemID = None
        else:
            itemID = self.controller.GetItemID()
        return invCtrl.ShipDroneBay(itemID)

    def _Update(self):
        CargoSlots._Update(self)
        if self.controller.IsSimulated():
            self.droneUtilMenu.display = True
        else:
            self.droneUtilMenu.display = False

    def OnDropData(self, dragObj, nodes):
        if self.controller.IsSimulated():
            self.AddSimulatedDrones(nodes)
        else:
            invCtrl.ShipDroneBay(util.GetActiveShip()).OnDropData(nodes)
        CargoSlots.OnDropData(self, dragObj, nodes)

    def OnClick(self, *args):
        if self.controller.IsSimulated():
            self.droneUtilMenu.OnClick()
        else:
            uicore.cmd.OpenDroneBayOfActiveShip()

    def GetCapacityInfo(self, flag=None):
        return self.controller.GetDroneCapacity()

    def GetSimulatedCapacity(self):
        shipID = self.controller.GetItemID()
        return self.controller.dogmaLocation.GetCapacity(
            shipID, None, const.flagDroneBay)

    def AddSimulatedDrones(self, nodes):
        ghostFittingSvc = sm.GetService('ghostFittingSvc')
        for eachNode in nodes:
            try:
                typeID = eachNode.typeID or eachNode.rec.typeID
                if evetypes.GetCategoryID(typeID) == const.categoryDrone:
                    ghostFittingSvc.FitDronesToShip(typeID)
            except Exception as e:
                pass
예제 #8
0
 def SetUtilMenu(self, utilMenuFunc):
     from eve.client.script.ui.control.utilMenu import UtilMenu
     self.sr.label.left = 14
     UtilMenu(menuAlign=uiconst.TOPLEFT, parent=self, align=uiconst.TOPLEFT, GetUtilMenu=utilMenuFunc, texturePath='res:/UI/Texture/Icons/73_16_50.png', pos=(const.defaultPadding,
      const.defaultPadding,
      14,
      14))
     self.UpdateTabSize()
     self.sr.tabgroup.UpdateSizes()
예제 #9
0
 def AddExportImportMenu(self):
     m = UtilMenu(
         menuAlign=uiconst.BOTTOMLEFT,
         parent=self,
         align=uiconst.BOTTOMLEFT,
         label=GetByLabel('UI/Fitting/FittingWindow/ImportAndExport'),
         labelAlign=uiconst.CENTERRIGHT,
         GetUtilMenu=self.GetExportImportMenu,
         texturePath='res:/ui/texture/icons/73_16_50.png',
         left=-8)
예제 #10
0
    def CreateSystemPass(self, passNumber):
        def GetLocationsMenu(menuParent):
            passConfig = GetPassConfig()[passNumber]
            menuParent.AddHeader(text='Locations to visit')
            for groupId in (const.groupAsteroidBelt, const.groupStargate,
                            const.groupStation):
                menuParent.AddCheckBox(
                    text=cfg.invgroups.Get(groupId).groupName,
                    checked=groupId in passConfig['locations'],
                    callback=(ToggleLocationGroupForPass, passNumber, groupId))

            menuParent.AddDivider()
            menuParent.AddHeader(text='Actions')
            menuParent.AddCheckBox(text='Nuke location',
                                   checked=passConfig['nuke'],
                                   callback=(ToggleNuke, passNumber))

        passConfig = {
            'locations': {const.groupAsteroidBelt},
            'nuke': False,
            'enabled': passNumber == 1,
            'minTime': 1
        }
        GetPassConfig()[passNumber] = passConfig
        menuCont = Container(name='pass%d' % passNumber,
                             parent=self.sr.main,
                             align=uiconst.TOTOP,
                             height=20,
                             padLeft=4)
        cont = Container(parent=menuCont, width=100, align=uiconst.TOLEFT)
        Checkbox(parent=cont,
                 text='Enable Pass %s' % passNumber,
                 align=uiconst.CENTERLEFT,
                 checked=passConfig['enabled'],
                 callback=lambda checkbox: SetPass(checkbox, passNumber),
                 width=200)
        cont = Container(parent=menuCont, width=100, align=uiconst.TOLEFT)
        EveLabelSmall(parent=cont,
                      text='Min time (sec)',
                      align=uiconst.CENTERRIGHT,
                      left=4)
        SinglelineEdit(
            parent=menuCont,
            ints=(1, 999),
            OnChange=lambda textValue: SetPassMinTime(textValue, passNumber),
            setvalue=passConfig['minTime'],
            align=uiconst.TOLEFT,
            width=50)
        UtilMenu(menuAlign=uiconst.TOPRIGHT,
                 parent=menuCont,
                 align=uiconst.TOLEFT,
                 GetUtilMenu=GetLocationsMenu,
                 label='Options',
                 texturePath='res:/UI/Texture/Icons/38_16_229.png',
                 closeTexturePath='res:/UI/Texture/Icons/38_16_230.png')
예제 #11
0
 def AddServiceWheel(self):
     serviceMenu = UtilMenu(
         menuAlign=uiconst.TOPLEFT,
         parent=self,
         align=uiconst.CENTERLEFT,
         pos=(self.uiLeft, -2, 16, 16),
         GetUtilMenu=self.GetServiceMenu,
         texturePath='res:/UI/Texture/SettingsCogwheel.png',
         iconSize=18,
         label=GetByLabel('UI/Structures/Browser/ServiceFilter'))
     self.uiLeft = serviceMenu.left + serviceMenu.width + 10
예제 #12
0
 def ApplyAttributes(self, attributes):
     Container.ApplyAttributes(self, attributes)
     self.settingsObject = None
     self.settingMenu = UtilMenu(
         parent=self,
         align=uiconst.BOTTOMLEFT,
         GetUtilMenu=self.GetOpportunitySettings,
         texturePath='res:/UI/Texture/SettingsCogwheel.png',
         iconSize=18,
         pos=(0, 0, 18, 18))
     self.settingMenu.OnMenuClosed = self.OnMenuClosed
예제 #13
0
 def AddImportButton(self):
     if boot.region == 'optic':
         return
     self.dropCont.padLeft = 30
     importMenu = UtilMenu(
         menuAlign=uiconst.TOPLEFT,
         parent=self.mainCont,
         align=uiconst.TOPLEFT,
         pos=(4, 0, 28, 28),
         GetUtilMenu=self.GetImportMenu,
         texturePath='res:/UI/Texture/Shared/pasteFrom.png',
         iconSize=28,
         hint=GetByLabel('UI/Market/MarketQuote/ImportShoppingListHint'))
예제 #14
0
 def SetUtilMenu(self, utilMenuFunc):
     if self.sr.tab:
         self.sr.tab.SetUtilMenu(utilMenuFunc)
     else:
         self.sr.caption.left = 20
         from eve.client.script.ui.control.utilMenu import UtilMenu
         utilMenu = UtilMenu(
             menuAlign=uiconst.TOPLEFT,
             parent=self.sr.captionParent,
             align=uiconst.TOPLEFT,
             GetUtilMenu=utilMenuFunc,
             texturePath='res:/UI/Texture/Icons/73_16_50.png',
             pos=(const.defaultPadding, 1, 14, 14))
예제 #15
0
 def OnOpenView(self):
     self.ResetSelf()
     self.state = uiconst.UI_HIDDEN
     self.hudContainer = Container(name='hudContainer', parent=self, controller=self.controller, align=uiconst.CENTERBOTTOM, width=SHIP_UI_WIDTH, height=SHIP_UI_HEIGHT)
     self.overlayContainer = Container(parent=self.hudContainer, name='overlayContainer', pos=(0, 0, 256, 256), align=uiconst.CENTER, state=uiconst.UI_PICKCHILDREN, idx=0)
     self.ConstructOverlayContainer()
     if IsControllingStructure():
         shipShape = StructureHUDShape(parent=self.hudContainer, align=uiconst.CENTER)
     else:
         shipShape = HUDShape(parent=self.hudContainer, align=uiconst.CENTER)
     self.shipuiMainShape = shipShape.shipuiMainShape
     self.capacitorContainer = CapacitorContainer(parent=self.hudContainer, align=uiconst.CENTER, top=-1, controller=self.controller)
     self.capacitorContainer.OnMouseDown = (self.OnShipMouseDown, self.capacitorContainer)
     self.capacitorContainer.OnMouseUp = (self.OnShipMouseUp, self.capacitorContainer)
     self.capacitorContainer.OnClick = self.OnToggleShipSelected
     heatPicker = Container(name='heatPicker', parent=self.hudContainer, align=uiconst.CENTER, width=160, height=160, pickRadius=43, state=uiconst.UI_NORMAL)
     self.heatGauges = HeatGauges(parent=heatPicker, align=uiconst.CENTERTOP, controller=self.controller)
     self.hpGauges = HPGauges(name='healthGauges', parent=self.hudContainer, align=uiconst.CENTER, pos=(0, -37, 148, 74), controller=self.controller)
     if IsControllingStructure():
         ReleaseControlBtn(parent=self.hudContainer, top=29, align=uiconst.CENTERBOTTOM, itemID=self.controller.GetItemID(), func=sm.GetService('structureControl').Alight)
     else:
         self.speedGauge = SpeedGauge(parent=self.hudContainer, top=29, align=uiconst.CENTERBOTTOM, controller=self.controller)
     self.compass = Compass(parent=self.hudContainer, pickRadius=-1)
     self.shipSelectHilight = Container(name='navSelectHilight', parent=self.compass, align=uiconst.CENTER, state=uiconst.UI_DISABLED, width=206, height=206)
     self.ringSprite = Sprite(bgParent=self.shipSelectHilight, texturePath='res:/UI/Texture/classes/ShipUI/Fighters/selectionRingLarge.png')
     self.bracketSprite = Sprite(bgParent=self.shipSelectHilight, texturePath='res:/UI/Texture/classes/ShipUI/Fighters/selectionBracketLarge.png')
     self.shipSelectHilight.display = False
     self.slotsContainer = SlotsContainer(parent=self.hudContainer, pos=(SLOTS_CONTAINER_LEFT,
      SLOTS_CONTAINER_TOP,
      SLOTS_CONTAINER_WIDTH,
      SLOTS_CONTAINER_HEIGHT), align=uiconst.CENTERLEFT, state=uiconst.UI_PICKCHILDREN, controller=self.controller)
     self.stanceButtons = StanceButtons(parent=self.hudContainer, pos=(SLOTS_CONTAINER_LEFT + 8,
      1,
      40,
      120), name='stanceButtons', align=uiconst.CENTERLEFT, state=uiconst.UI_PICKCHILDREN, buttonSize=36)
     self.hudButtons = HudButtonsCont(parent=self.hudContainer, align=uiconst.CENTERRIGHT, left=690, top=15)
     self.ewarCont = EwarContainer(parent=self, align=uiconst.CENTERBOTTOM, top=SHIP_UI_HEIGHT, height=EWAR_CONTAINER_HEIGHT, width=EWAR_CONTAINER_WIDTH)
     self.sr.shipAlertContainer = ShipAlertContainer(parent=self.hudContainer)
     self.sr.indicationContainer = Container(parent=self.hudContainer, name='indicationContainer', align=uiconst.CENTERTOP, pos=(0, 0, 400, 50))
     self.sr.safetyButton = SafetyButton(parent=self.overlayContainer, left=40, top=28)
     self.ConstructReadoutCont()
     self.settingsMenu = UtilMenu(menuAlign=uiconst.BOTTOMLEFT, parent=self.optionsCont, align=uiconst.TOPLEFT, GetUtilMenu=self.GetHUDOptionMenu, pos=(0, 0, 16, 16), texturePath='res:/UI/Texture/Icons/73_16_50.png', hint=GetByLabel('UI/Inflight/Options'))
     self.moduleToggleBtn = ButtonIcon(name='moduleToggleBtn', parent=self.moduleToggleCont, align=uiconst.TOPLEFT, width=24, height=24, iconSize=24, texturePath='res:/UI/Texture/classes/ShipUI/Fighters/toggleModules_Up.png', downTexture='res:/UI/Texture/classes/ShipUI/Fighters/toggleModules_Down.png', hoverTexture='res:/UI/Texture/classes/ShipUI/Fighters/toggleModules_Over.png', func=self.OnToggleHudModules)
     self.moduleToggleBtn.display = False
     self.DrawFighters()
     self.hudContainer.state = uiconst.UI_PICKCHILDREN
     self.UpdatePosition()
     self.shipuiReady = True
     self.SetupShip()
예제 #16
0
 def Layout(self):
     menuBar = ContainerAutoSize(parent=self,
                                 align=uiconst.TOTOP,
                                 padBottom=4)
     UtilMenu(parent=menuBar,
              align=uiconst.CENTERLEFT,
              menuAlign=uiconst.BOTTOMLEFT,
              GetUtilMenu=self.GetSettingsMenu,
              texturePath='res:/UI/Texture/SettingsCogwheel.png',
              width=16,
              height=16,
              iconSize=18)
     self.filter = QuickFilterEdit(parent=menuBar,
                                   align=uiconst.CENTERLEFT,
                                   left=18,
                                   width=150)
     self.filter.ReloadFunction = self.LoadPanel
     self.scroll = Scroll(parent=self, align=uiconst.TOALL)
예제 #17
0
 def _AddGuestPanel(self):
     self.guestsPanel = Container(name=GUESTSPANEL,
                                  parent=self.sr.main,
                                  padding=const.defaultPadding)
     self.quickFilter = QuickFilterEdit(name='quickFilterEdit',
                                        parent=self.guestsPanel)
     self.quickFilter.ReloadFunction = lambda: self.ShowGuests()
     self.guestScroll = BasicDynamicScroll(parent=self.guestsPanel,
                                           padTop=const.defaultPadding +
                                           self.quickFilter.height)
     guestSettingsMenu = UtilMenu(
         menuAlign=uiconst.TOPRIGHT,
         parent=self.guestsPanel,
         align=uiconst.TOPRIGHT,
         GetUtilMenu=self.SettingMenu,
         texturePath='res:/UI/Texture/SettingsCogwheel.png',
         width=18,
         height=18,
         iconSize=18)
예제 #18
0
 def ApplyAttributes(self, attributes):
     Container.ApplyAttributes(self, attributes)
     self.jobData = attributes.jobData
     if self.jobData:
         self.jobData.on_updated.connect(self.OnJobUpdated)
         self.jobData.on_errors.connect(self.OnJobErrors)
     self.oldJobData = None
     self.UpdateColor()
     self.bgGradientThread = None
     self.topCont = Container(name='topCont',
                              parent=self,
                              align=uiconst.TOTOP,
                              height=18)
     self.mainCont = Container(parent=self, align=uiconst.TOTOP, height=400)
     UtilMenu(menuAlign=uiconst.TOPLEFT,
              parent=self.topCont,
              align=uiconst.TOPLEFT,
              GetUtilMenu=self.GetUtilMenuSettings,
              texturePath='res:/UI/Texture/SettingsCogwheel.png',
              iconSize=18,
              pos=(4, 0, 18, 18))
     self.topContLabel = EveHeaderMedium(name='topContLabel',
                                         parent=self.topCont,
                                         align=uiconst.TOPLEFT,
                                         top=2,
                                         left=24)
     self.blueprintCenter = BlueprintCenter(parent=self.mainCont,
                                            jobData=self.jobData)
     self.inputsCont = MaterialGroups(parent=self.mainCont,
                                      jobData=self.jobData,
                                      padLeft=4)
     self.outputCont = OutputCont(parent=self.mainCont,
                                  padRight=6,
                                  jobData=self.jobData)
     self.ConstructBackground()
     self.UpdateState()
     self.AnimEntry()
예제 #19
0
 def OnTabSelect(self):
     if self.isInitialized:
         self.UpdateOwnerCombo()
         self.UpdateScroll()
         return
     self.isInitialized = True
     self.topPanel = Container(name='topPanel', parent=self, align=TOTOP, height=20, padding=(0, 6, 0, 6))
     self.scroll = Scroll(parent=self, id='BlueprintBrowser')
     self.scroll.OnSelectionChange = self.OnScrollSelectionChange
     self.scroll.OnKeyDown = self.OnScrollKeyDown
     self.scroll.OnChar = self.OnScrollChar
     utilMenuCont = Container(align=uiconst.TOLEFT, parent=self.topPanel, width=20)
     UtilMenu(menuAlign=uiconst.BOTTOMLEFT, parent=utilMenuCont, align=uiconst.CENTERLEFT, GetUtilMenu=self.GetSettingsMenu, texturePath='res:/UI/Texture/SettingsCogwheel.png', width=16, height=16, iconSize=18)
     self.ownerCombo = Combo(name='ownerCombo', parent=self.topPanel, align=uiconst.TOLEFT, callback=self.OnOwnerCombo, width=120)
     self.facilityCombo = Combo(name='facilityCombo', parent=self.topPanel, align=uiconst.TOLEFT, callback=self.OnFacilityCombo, width=200, padLeft=5)
     self.invLocationCombo = Combo(name='invLocationCombo', parent=self.topPanel, align=uiconst.TOLEFT, callback=self.OnInvLocationCombo, padLeft=5, width=120, settingsID='IndustryBlueprintBrowserInvLocation')
     self.blueprintTypeCombo = Combo(name='blueprintTypeCombo', parent=self.topPanel, align=uiconst.TOLEFT, callback=self.OnBlueprintTypeCombo, padLeft=5, width=100, settingsID='IndustryBlueprintBrowserType', options=self.GetBlueprintTypeComboOptions())
     self.categoryGroupCombo = Combo(name='categoryGroupCombo ', parent=self.topPanel, align=uiconst.TOLEFT, callback=self.OnCategoryGroupCombo, padLeft=5, width=100)
     self.viewModeButtons = ViewModeButtons(parent=self.topPanel, align=uiconst.TORIGHT, controller=self, settingsID='IndustryBlueprintBrowserViewMode')
     self.filterEdit = QuickFilterEdit(name='searchField', parent=self.topPanel, hinttext=localization.GetByLabel('UI/Inventory/Filter'), maxLength=64, align=uiconst.TORIGHT, padRight=4)
     self.filterEdit.ReloadFunction = self.OnFilterEdit
     self.UpdateOwnerCombo()
     self.UpdateBlueprintTypeCombo()
     self.UpdateScroll()
예제 #20
0
 def OnSettingsMenuClosed(self, *args):
     UtilMenu.OnMenuClosed(self.headerButton, *args)
     uthread.new(self.StoreSettingChanges_thread)
예제 #21
0
class FormAlliancesSovereignty(Container):
    def CreateWindow(self):
        self.primeTimeInfo = None
        topCont = Container(parent=self,
                            height=24,
                            align=uiconst.TOTOP,
                            padding=const.defaultPadding)
        FillThemeColored(parent=topCont,
                         colorType=uiconst.COLORTYPE_UIHEADER,
                         opacity=0.15)
        EveLabelSmall(
            parent=topCont,
            text=GetByLabel('UI/Sovereignty/DefaultVulnerabilityTimeLabel'),
            align=uiconst.CENTERLEFT,
            left=const.defaultPadding)
        menuCont = Container(parent=topCont, align=uiconst.TORIGHT, width=18)
        self.primeTimeMenu = UtilMenu(parent=menuCont,
                                      align=uiconst.CENTERRIGHT,
                                      menuAlign=uiconst.TOPRIGHT,
                                      GetUtilMenu=self.PrimeTimeMenu)
        menuCont.display = False
        execCorpID = sm.GetService('alliance').GetAlliance(
            session.allianceid).executorCorpID
        timeTextLeft = const.defaultPadding
        if self._IsDirectorInExecCorp(execCorpID):
            timeTextLeft = 18
            menuCont.display = True
        self.timeLabel = EveLabelSmall(parent=topCont,
                                       align=uiconst.CENTERRIGHT,
                                       left=timeTextLeft)
        uthread.new(self.UpdatePrimeInfo)
        self.sovDashBoard = SovDashboard(parent=self)
        self.sovDashBoard.CreateWindow()

    def UpdatePrimeInfo(self):
        self.primeTimeInfo = sm.GetService('alliance').GetPrimeTimeInfo()
        self.UpdateText()

    def UpdateText(self):
        if self.primeTimeInfo is None or self.primeTimeInfo.currentPrimeHour is None:
            text = GetByLabel('UI/Common/Unknown')
        else:
            newPrimeHour = self.primeTimeInfo.newPrimeHour
            validAfter = self.primeTimeInfo.newPrimeHourValidAfter
            now = blue.os.GetWallclockTime()
            if newPrimeHour is not None and now < validAfter:
                text = GetByLabel(
                    'UI/Sovereignty/VulnerabilityTimeWithFutureChange',
                    hour=self.primeTimeInfo.currentPrimeHour,
                    newHour=self.primeTimeInfo.newPrimeHour,
                    validAfterDate=self.primeTimeInfo.newPrimeHourValidAfter)
            else:
                currentPrimeHour = self.GetCurrentPrimeHour()
                text = GetByLabel('UI/Sovereignty/VulnerabilityTime',
                                  hour=currentPrimeHour)
        self.timeLabel.SetText(text)

    def PrimeTimeMenu(self, menuParent):
        headerCont = menuParent.AddContainer(align=uiconst.TOTOP,
                                             height=20,
                                             padding=const.defaultPadding)
        EveLabelLargeBold(parent=headerCont,
                          text=GetByLabel('UI/Sovereignty/SetSovereigntyHour'),
                          align=uiconst.TOTOP)
        menuParent.AddSpace(height=10)
        text = menuParent.AddText(
            GetByLabel('UI/Sovereignty/SetNewVulnerabilityTimeDescription'))
        text.GetEntryWidth = lambda mc=text: 250
        cont = menuParent.AddContainer(align=uiconst.TOTOP,
                                       height=60,
                                       padding=const.defaultPadding)
        myCont = Container(name='myCont',
                           parent=cont,
                           align=uiconst.TOTOP,
                           height=22,
                           padTop=10)
        currentPrimeHour = self.GetCurrentPrimeHour()
        self.primeTimeCombo = Combo(name='primeTimeCombo',
                                    parent=myCont,
                                    options=self.GetTimeComboOptions(),
                                    select=currentPrimeHour,
                                    width=150)
        setBtn = Button(name='SetPrimeTimeBtn',
                        align=uiconst.TOPRIGHT,
                        parent=myCont,
                        label=GetByLabel('UI/Common/CommandSet'),
                        func=self.SetPrimeTime)

    def SetPrimeTime(self, *args):
        primeTimeNewValue = self.primeTimeCombo.GetValue()
        if self.primeTimeInfo and self.primeTimeInfo.newPrimeHour:
            newPrimeHour = self.primeTimeInfo.newPrimeHour
            validAfter = self.primeTimeInfo.newPrimeHourValidAfter
            newerPrimeHour = blue.os.GetWallclockTime(
            ) + CHANGE_PRIMETIME_DELAY
            if eve.Message(
                    'updateNewPrimeTime', {
                        'currentPendingTime': '%s:00' % newPrimeHour,
                        'currentPendingDate': FmtDate(validAfter, 'ss'),
                        'newPendingTime': '%s:00' % primeTimeNewValue,
                        'newPendingDate': FmtDate(newerPrimeHour, 'ss')
                    }, uiconst.YESNO) != uiconst.ID_YES:
                return
        sm.GetService('alliance').SetPrimeHour(primeTimeNewValue)
        self.UpdatePrimeInfo()
        self.primeTimeMenu.CloseMenu()

    def GetTimeComboOptions(self):
        return [(GetByLabel('UI/Sovereignty/VulnerabilityTime', hour=i), i)
                for i in xrange(24)]

    def GetCurrentPrimeHour(self):
        currentPrimeHour = 0
        if self.primeTimeInfo and self.primeTimeInfo.currentPrimeHour is not None:
            currentPrimeHour = self.primeTimeInfo.currentPrimeHour
        return currentPrimeHour

    def _IsDirectorInExecCorp(self, executorCorpID):
        if session.allianceid is None:
            return False
        if IsNPC(session.corpid):
            return False
        if session.corpid != executorCorpID:
            return False
        if corpRoleDirector & session.corprole != corpRoleDirector:
            return False
        return True
예제 #22
0
 def ApplyAttributes(self, attributes):
     self.viewState = sm.GetService('viewState')
     if not settings.user.ui.Get('stationservicebtns', 1):
         minWidth = BIGBUTTONSIZE + (BIGBUTTONSIZE + BUTTONGAP) * 3 + 14
         minHeight = 495
     else:
         minWidth = SMALLBUTTONSIZE + (SMALLBUTTONSIZE + BUTTONGAP) * 5 + 10
         minHeight = 470
     self.default_minSize = (minWidth, minHeight)
     Window.ApplyAttributes(self, attributes)
     self.stationSvc = sm.GetService('station')
     self.guestScroll = None
     self.sr.serviceAccessCache = {}
     self.SetWndIcon(None)
     self.HideHeader()
     self.scope = 'station'
     self.MakeUnKillable()
     self.MakeUnstackable()
     self.SetTopparentHeight(0)
     main = self.sr.main
     main.clipChildren = True
     self.corpLogoParent = Container(name='corpLogoParent', align=uiconst.TOTOP, height=160, parent=main)
     self.corpName = CaptionLabel(parent=main, align=uiconst.TOTOP, name='corpName', uppercase=False)
     self.undockparent = Container(name='undockparent', align=uiconst.TOTOP, height=78, parent=main)
     self.AddCQButton(parent=self.undockparent)
     self.AddUndockButton(parent=self.undockparent)
     EveLabelMedium(text=localization.GetByLabel('UI/Station/StationServices'), align=uiconst.TOTOP, parent=main, bold=True, padding=(6, 6, 6, 0))
     self.serviceButtons = FlowContainer(name='serviceButtons', align=uiconst.TOTOP, parent=main, contentSpacing=(BUTTONGAP, BUTTONGAP), padding=(6, 6, 3, 6))
     btnGroup = ToggleButtonGroup(name='btnGroup', parent=main, align=uiconst.TOTOP, height=32, padding=(6, 6, 6, 6), idx=-1, callback=self.OnButtonGroupSelection)
     self.mainButtonGroup = btnGroup
     self.guestsPanel = Container(name=GUESTSPANEL, parent=main, padding=const.defaultPadding)
     self.quickFilter = QuickFilterEdit(name='quickFilterEdit', parent=self.guestsPanel)
     self.quickFilter.ReloadFunction = lambda : self.ShowGuests()
     self.guestScroll = BasicDynamicScroll(parent=self.guestsPanel, padTop=const.defaultPadding + self.quickFilter.height)
     guestSettingsMenu = UtilMenu(menuAlign=uiconst.TOPRIGHT, parent=self.guestsPanel, align=uiconst.TOPRIGHT, GetUtilMenu=self.SettingMenu, texturePath='res:/UI/Texture/SettingsCogwheel.png', width=18, height=18, iconSize=18)
     self.userType = settings.user.ui.Get('guestCondensedUserList', False)
     self.agentsPanel = Container(name=AGENTSPANEL, parent=main, padding=const.defaultPadding)
     self.agentFinderBtn = Button(label=localization.GetByLabel('UI/AgentFinder/AgentFinder'), parent=self.agentsPanel, align=uiconst.CENTERTOP, func=uicore.cmd.OpenAgentFinder)
     self.agentScroll = Scroll(parent=self.agentsPanel, padTop=const.defaultPadding + self.agentFinderBtn.height)
     self.officesPanel = Container(name=OFFICESPANEL, parent=main, padding=const.defaultPadding)
     self.officesButtons = FlowContainer(name='officesButtons', align=uiconst.TOTOP, parent=self.officesPanel, contentSpacing=(4, 4), centerContent=True)
     self.officesScroll = Scroll(parent=self.officesPanel, padTop=const.defaultPadding)
     agentsButton = btnGroup.AddButton(AGENTSPANEL, '<center>' + localization.GetByLabel('UI/Station/Lobby/Agents'), self.agentsPanel, btnClass=LobbyToggleButtonGroupButton, hint=localization.GetByLabel('Tooltips/StationServices/AgentsTab_descrtiption'))
     agentsButton.name = 'stationInformationTabAgents'
     guestsButton = btnGroup.AddButton(GUESTSPANEL, '<center>' + localization.GetByLabel('UI/Station/Lobby/Guests'), self.guestsPanel, btnClass=LobbyToggleButtonGroupButton, hint=localization.GetByLabel('Tooltips/StationServices/GuestsTab_description'))
     guestsButton.counter = CounterBox(parent=guestsButton, align=uiconst.TOPRIGHT, left=2, top=-5)
     self.guestsButton = guestsButton
     btnGroup.AddButton(OFFICESPANEL, '<center>' + localization.GetByLabel('UI/Station/Lobby/Offices'), self.officesPanel, btnClass=LobbyToggleButtonGroupButton, hint=localization.GetByLabel('Tooltips/StationServices/OfficesTab_description'))
     activePanel = settings.user.ui.Get('stationsLobbyTabs', AGENTSPANEL)
     if settings.char.windows.Get('dockshipsanditems', 0):
         self.inventoryPanel = Container(name=INVENTORYPANEL, parent=main)
         self.sr.shipsContainer = Container(parent=self.inventoryPanel, state=uiconst.UI_HIDDEN, padding=const.defaultPadding)
         self.sr.itemsContainer = Container(parent=self.inventoryPanel, state=uiconst.UI_HIDDEN, padding=const.defaultPadding)
         tabs = [[localization.GetByLabel('UI/Station/Ships'),
           self.sr.shipsContainer,
           self,
           'lobby_ships'], [localization.GetByLabel('UI/Station/Items'),
           self.sr.itemsContainer,
           self,
           'lobby_items']]
         self.inventoryTabs = TabGroup(name='inventoryPanel', parent=self.inventoryPanel, idx=0)
         self.inventoryTabs.Startup(tabs, 'lobbyInventoryPanel', autoselecttab=True, UIIDPrefix='lobbyInventoryPanelTab')
         self.invButton = btnGroup.AddButton(INVENTORYPANEL, '<center>' + localization.GetByLabel('UI/Station/Lobby/Hangars'), self.inventoryPanel, btnClass=LobbyToggleButtonGroupButton, hint='<b>%s</b><br>%s' % (localization.GetByLabel('Tooltips/StationServices/Hangars'), localization.GetByLabel('Tooltips/StationServices/Hangars_description')))
     elif activePanel == INVENTORYPANEL:
         activePanel = AGENTSPANEL
     btnGroup.SelectByID(activePanel)
     myDefaultView = 'hangar' if session.userid % 2 == 1 else 'station'
     curView = collections.namedtuple('FakeViewInfo', ['name'])(settings.user.ui.Get('defaultDockingView', myDefaultView))
     self.OnPrimaryViewChanged(curView, curView)
     self.LoadOwnerInfo()
     self.LoadServiceButtons()
     if self.destroyed:
         return
     sm.RegisterNotify(self)
     self.UpdateGuestTabText()
예제 #23
0
 def OnMenuClosed(self, *args):
     UtilMenu.OnMenuClosed(self.settingMenu, *args)
     uthread.new(self.StoreChanges_thread)
예제 #24
0
class AuctionEntry(BaseTeamEntry):
    default_name = 'AuctionEntry'

    def ApplyAttributes(self, attributes):
        BaseTeamEntry.ApplyAttributes(self, attributes)
        self.auctionCost = self.node.auctionCost
        self.AddColumnAuction()
        self.pathFinder = sm.GetService('clientPathfinderService')
        self.teamHandlerClient = sm.GetService('industryTeamSvc')
        self.minAmount = 0

    def AddColumnAuction(self):
        col = self.AddColumnContainer()
        col.OnMouseEnter = self.OnMouseEnter
        col.OnMouseExit = self.OnMouseExit
        col.OnClick = self.OnClick
        col.state = uiconst.UI_NORMAL
        col.GetMenu = self.GetMenu
        col.LoadTooltipPanel = self.LoadAuctionHintPanel
        bidCont = Container(parent=col, align=uiconst.TORIGHT, width=50)
        costCont = Container(parent=col, align=uiconst.TOALL, clipChildren=True)
        costText = FmtISK(self.auctionCost, 0)
        self.costLabel = EveLabelMedium(text=costText, parent=costCont, align=uiconst.CENTERLEFT, left=6)
        self.bidUtilMenu = UtilMenu(menuAlign=uiconst.TOPRIGHT, align=uiconst.CENTERLEFT, parent=bidCont, GetUtilMenu=self.BidOnTeamMenu, texturePath='res:/UI/Texture/Icons/73_16_50.png', left=2, label=GetByLabel('UI/Industry/Bid'))
        bidCont.width = self.bidUtilMenu.width + 10
        self.bidUtilMenu.hint = GetByLabel('UI/Industry/BidBtnHint')

    def BidOnTeamMenu(self, menuParent):
        cont = menuParent.AddContainer(align=uiconst.TOTOP, padding=const.defaultPadding)
        cont.GetEntryWidth = lambda mc = cont: 300
        topCont = Container(parent=cont, height=20, align=uiconst.TOTOP)
        self.searchCont = Container(parent=topCont)
        self.resultCont = Container(parent=topCont)
        self.resultCont.display = False
        self.systemLabel = EveLabelMediumBold(parent=self.resultCont, left=2, top=4)
        self.searchEdit = SinglelineEdit(parent=self.searchCont, align=uiconst.TOALL, hinttext=GetByLabel('UI/Industry/SearchForSystem'), width=0, top=0)
        self.searchEdit.OnReturn = lambda *args: self.SearchForLocation(self.searchEdit, *args)
        self.searchEdit.OnTab = lambda *args: self.SearchForLocation(self.searchEdit, *args)
        self.searchEdit.displayHistory = False
        ButtonIcon(parent=self.resultCont, align=uiconst.CENTERRIGHT, width=16, iconSize=16, texturePath='res:/UI/Texture/Icons/73_16_210.png', hint=GetByLabel('UI/Inventory/Clear'), func=self.ClearSystemSearch)
        self.resultScroll = Scroll(parent=cont, id='ResultScroll', align=uiconst.TOTOP, height=70)
        self.resultScroll.display = False
        Container(parent=cont, height=8, align=uiconst.TOTOP)
        self.bidHint = EveLabelMedium(parent=cont, align=uiconst.TOTOP, padding=(2, 4, 2, 4))
        bottomCont = Container(parent=cont, height=20, align=uiconst.TOTOP, padBottom=4)
        self.bidButton = Button(parent=bottomCont, label=GetByLabel('UI/Industry/Bid'), align=uiconst.TORIGHT, func=self.BidOnTeam)
        self.bidButton.OnMouseHover = self.BidHint
        self.bidButton.Disable()
        self.bidAmountEdit = SinglelineEdit(parent=bottomCont, align=uiconst.TOALL, width=0, floats=[0, 100000000000L, 0], padRight=4, top=0, hinttext='Enter amount')
        self.bidAmountEdit.OnReturn = self.BidOnTeam

    def BidHint(self):
        if self.bidButton.disabled:
            if self.searchEdit.GetValue():
                self.bidButton.hint = GetByLabel('UI/Industry/BidBtnSearchHint')
        else:
            self.bidButton.hint = ''

    def BidOnTeam(self, *args):
        if not self.searchedSystem:
            return
        if self.IsUnreachable():
            self.bidAmountEdit.SetValue('')
            self.bidHint.text = GetByLabel('UI/Industry/UnreachableSystem')
            return
        amount = self.bidAmountEdit.GetValue()
        if not self.HasSolarSystemBidForAuctionID() and amount <= self.minAmount:
            self.bidAmountEdit.SetValue('')
            self.bidHint.text = GetByLabel('UI/Industry/TeamBidTooLow', minAmount=FmtAmt(self.minAmount, showFraction=0))
            return
        self.teamHandlerClient.BidOnTeam(self.team.teamID, self.searchedSystem, amount)
        self.costLabel.text = self.GetForcedAuctionCost()
        self.bidUtilMenu.CloseMenu()

    def SearchForLocation(self, edit, *args):
        searchText = edit.GetValue()
        if not searchText or searchText == '':
            return
        groupIDList = [const.searchResultSolarSystem, const.searchResultWormHoles]
        searchResult = QuickSearch(searchText.strip(), groupIDList)
        noOfResults = len(searchResult)
        if noOfResults == 1:
            self.ConfirmSystem(searchResult[0])
        elif noOfResults:
            self.resultScroll.display = True
            scrollList = self.GetScrollList(searchResult)
            self.resultScroll.LoadContent(contentList=scrollList)
        else:
            edit.SetHintText(GetByLabel('UI/Station/BountyOffice/NoOneFound'))

    def LoadAuctionHintPanel(self, tooltipPanel, *args):
        tooltipPanel.LoadGeneric3ColumnTemplate()
        tooltipPanel.AddLabelLarge(text=GetByLabel('UI/Industry/SystemBidList'), colSpan=tooltipPanel.columns, align=uiconst.CENTER)
        tooltipPanel.AddSpacer(colSpan=tooltipPanel.columns, width=0, height=2)
        topSystems = self.GetTopSystems()
        if topSystems:
            for i, (amount, solarSystemID) in enumerate(topSystems):
                if i > 2:
                    break
                systemName = self.FormatSystemName(solarSystemID)
                systemLabel = '%i %s' % (i + 1, systemName)
                tooltipPanel.AddLabelSmall(text=systemLabel, colSpan=1)
                tooltipPanel.AddSpacer(width=10, height=0)
                tooltipPanel.AddLabelSmall(text=FmtISK(amount, 0), colSpan=1, align=uiconst.TORIGHT)

        myBids = self.GetMyBids()
        if myBids:
            tooltipPanel.AddSpacer(colSpan=tooltipPanel.columns, width=0, height=6)
            tooltipPanel.AddLabelLarge(text=GetByLabel('UI/Industry/MyBidList'), colSpan=tooltipPanel.columns, align=uiconst.CENTER)
            tooltipPanel.AddSpacer(colSpan=tooltipPanel.columns, width=0, height=2)
            for solarSystemID, amount in myBids:
                systemName = self.FormatSystemName(solarSystemID)
                tooltipPanel.AddLabelSmall(text=systemName, colSpan=1)
                tooltipPanel.AddSpacer(width=10, height=0)
                tooltipPanel.AddLabelSmall(text=FmtISK(amount, 0), colSpan=1, align=uiconst.TORIGHT)

    def GetTopSystems(self):
        bids = self.GetBids()
        return bids.GetRankedBids()

    def GetMyBids(self):
        bids = self.GetBids()
        myBids = GetMyBidsBySolarSystem(session.charid, bids)
        if myBids:
            return sorted(myBids.iteritems(), key=itemgetter(1), reverse=True)

    def GetScrollList(self, results):
        scrollList = []
        for solarSystemID in results:
            data = util.KeyVal()
            data.label = self.FormatSystemName(solarSystemID)
            data.OnDblClick = self.DblClickEntry
            data.solarSystemID = solarSystemID
            entry = listentry.Get('Generic', data)
            scrollList.append(entry)

        return scrollList

    def FormatSystemName(self, solarSystemID):
        systemName = cfg.evelocations.Get(solarSystemID).name
        secStatus = self.GetSecurityLabel(solarSystemID)
        return '%s %s' % (systemName, secStatus)

    def DblClickEntry(self, entry, *args):
        solarSystemID = entry.sr.node.solarSystemID
        if solarSystemID:
            self.ConfirmSystem(solarSystemID)

    def ConfirmSystem(self, solarSystemID):
        self.resultScroll.display = False
        self.searchCont.display = False
        self.resultCont.display = True
        self.searchEdit.SetValue('')
        self.searchedSystem = solarSystemID
        self.systemLabel.text = self.FormatSystemName(solarSystemID)
        if self.IsUnreachable():
            self.bidHint.text = GetByLabel('UI/Industry/UnreachableSystem')
        elif not self.HasSolarSystemBidForAuctionID():
            self.minAmount = GetDistanceCost(self.pathFinder, self.team.solarSystemID, solarSystemID)
            self.bidHint.text = GetByLabel('UI/Industry/TeamMinBid', minAmount=FmtAmt(self.minAmount, showFraction=0))
        self.bidButton.Enable()
        uicore.registry.SetFocus(self.bidAmountEdit)

    def ClearSystemSearch(self, *args):
        self.searchedSystem = None
        self.resultCont.display = False
        self.systemLabel.text = ''
        self.bidHint.text = ''
        self.bidHint.height = 0
        self.searchCont.display = True
        self.bidButton.Disable()

    def GetForcedAuctionCost(self):
        return FmtISK(GetHighestBid(self.GetBids()), 0)

    def HasSolarSystemBidForAuctionID(self):
        return self.teamHandlerClient.HasSolarSystemBidForAuctionID(self.team.teamID, self.searchedSystem)

    def IsUnreachable(self):
        return bool(not util.IsWormholeSystem(self.searchedSystem) and self.pathFinder.GetJumpCount(self.team.solarSystemID, self.searchedSystem) > 1000)

    @staticmethod
    def GetDefaultColumnWidth():
        return {GetByLabel('UI/Industry/Team'): 160,
         GetByLabel('UI/Common/LocationTypes/System'): 80,
         GetByLabel('UI/Common/Jumps'): 50,
         GetByLabel('UI/Common/Security'): 55,
         GetByLabel('UI/Industry/Bonuses'): 310,
         GetByLabel('UI/Industry/Salary'): 50,
         GetByLabel('UI/Industry/AuctionEnds'): 110,
         GetByLabel('UI/Industry/Auction'): 110}

    @staticmethod
    def GetHeaders():
        return (GetByLabel('UI/Industry/Team'),
         GetByLabel('UI/Common/LocationTypes/System'),
         GetByLabel('UI/Common/Jumps'),
         GetByLabel('UI/Common/Security'),
         GetByLabel('UI/Industry/Activity'),
         GetByLabel('UI/Industry/Bonuses'),
         GetByLabel('UI/Industry/Salary'),
         GetByLabel('UI/Industry/AuctionEnds'),
         GetByLabel('UI/Industry/Auction'))

    @staticmethod
    def GetColumnSortValues(teamData, teamName, bonusSum, expiryTime, teamCost, auctionCost):
        return (teamName,
         cfg.evelocations.Get(teamData.team.solarSystemID).name,
         sm.GetService('clientPathfinderService').GetJumpCountFromCurrent(teamData.team.solarSystemID),
         sm.GetService('map').GetSecurityStatus(teamData.team.solarSystemID),
         teamData.team.activity,
         bonusSum,
         teamCost,
         expiryTime,
         auctionCost)

    def GetBids(self):
        return self.teamHandlerClient.GetBids(self.team.teamID)

    def GetQAMenu(self):
        return [['QA: Expire Auction', self.GMExpireAuction, [self.team.teamID]], ['QA: Print Bids', self.ShowBids, []], ['QA: Set Expiry time', self.SetExpiryTime]]

    def SetExpiryTime(self):
        ret = uiutil.NamePopup(caption='Set Expiry Time', label='Type in Expiry Time', setvalue=util.FmtDate(self.node.expiryTime))
        if ret is None:
            return
        newTime = util.ParseDateTime(ret)
        self.teamHandlerClient.GMSetAuctionExpiryTime(self.team.teamID, newTime)