panelFormFleet.py (2299B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\fleet\panelFormFleet.py 2 import localization.util 3 from carbonui import uiconst 4 from carbonui.control.button import Button 5 from carbonui.control.combo import Combo 6 from carbonui.control.comboEntryData import ComboEntryData 7 from carbonui.control.scrollContainer import ScrollContainer 8 from carbonui.primitives.container import Container 9 from carbonui.primitives.containerAutoSize import ContainerAutoSize 10 from carbonui.primitives.layoutGrid import LayoutGrid 11 from eve.client.script.ui.control.eveLabel import EveLabelMedium, EveCaptionMedium 12 from evefleet.client.util import GetFleetSetupOptionHint 13 from evefleet.fleetSetupConst import FS_NAME 14 from localization import GetByLabel 15 16 class PanelFormFleet(Container): 17 18 def __init__(self, **kwargs): 19 self._setup_choice = None 20 super(PanelFormFleet, self).__init__(**kwargs) 21 22 def ApplyAttributes(self, attributes): 23 super(PanelFormFleet, self).ApplyAttributes(attributes) 24 scroll_cont = ScrollContainer(parent=self) 25 EveCaptionMedium(parent=scroll_cont, align=uiconst.TOTOP, text=GetByLabel('UI/Fleet/FleetWindow/FormFleetHeader')) 26 EveLabelMedium(parent=scroll_cont, align=uiconst.TOTOP, padTop=4, text=GetByLabel('UI/Fleet/FleetWindow/FormFleetDescription')) 27 grid = LayoutGrid(parent=ContainerAutoSize(parent=self, align=uiconst.TOBOTTOM, padTop=8, idx=0), align=uiconst.TOPLEFT, columns=2, cellSpacing=(8, 8)) 28 Button(parent=grid, align=uiconst.TOPLEFT, label=GetByLabel('UI/Fleet/FleetWindow/FormFleet'), func=self._form_fleet, args=()) 29 self._setup_choice = Combo(parent=grid, align=uiconst.TOPLEFT, options=get_fleet_setup_options()) 30 31 def _form_fleet(self): 32 setup = self._setup_choice.GetValue() 33 return sm.GetService('fleet').StartNewFleet(setup) 34 35 36 def get_fleet_setup_options(): 37 setups = [(GetByLabel('UI/Fleet/FleetWindow/DefaultSetup'), None)] 38 fleet_service = sm.GetService('fleet') 39 comboData = [ ComboEntryData(info[FS_NAME], info[FS_NAME], hint=GetFleetSetupOptionHint(info)) for info in fleet_service.GetFleetSetups().values() ] 40 setups.extend(localization.util.Sort(comboData, key=lambda x: x.returnValue.lower())) 41 return setups