NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

addTabPopup.py (4743B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\inflight\overview\addTabPopup.py
      2 from carbonui import uiconst
      3 from carbonui.control.checkbox import Checkbox
      4 from carbonui.control.combo import Combo
      5 from carbonui.primitives.container import Container
      6 from carbonui.primitives.containerAutoSize import ContainerAutoSize
      7 from eve.client.script.ui.control.eveLabel import EveLabelMedium
      8 from eve.client.script.ui.control.infoIcon import MoreInfoIcon
      9 from eve.client.script.ui.inflight.overview import overviewUtil
     10 from eve.client.script.ui.util.namedPopup import NamePopupWnd
     11 from localization import GetByLabel
     12 from overviewPresets import overviewSettingsConst
     13 from player_messaging.client.ui_message import prompt_player_fsd_dialog
     14 
     15 class AddTabPopup(NamePopupWnd):
     16     default_width = 360
     17     default_height = 350
     18     default_minSize = (default_width, default_height)
     19     default_maxLength = overviewSettingsConst.MAX_TAB_NAME_LENGTH
     20     default_body = GetByLabel('UI/Overview/AddTabInstructions')
     21 
     22     def ApplyAttributes(self, attributes):
     23         self.overview_service = sm.GetService('overviewPresetSvc')
     24         super(AddTabPopup, self).ApplyAttributes(attributes)
     25 
     26     def ConstructLayout(self):
     27         caption = GetByLabel('UI/Overview/AddTab')
     28         self.SetCaption(caption)
     29         self.label = GetByLabel('UI/Overview/TypeInLabel')
     30         super(AddTabPopup, self).ConstructLayout()
     31 
     32     def AddMainContainerOld(self):
     33         return Container(parent=self.sr.main, align=uiconst.TOALL, padding=16)
     34 
     35     def AddExtra(self, parent):
     36         container = ContainerAutoSize(name='extra_container', parent=parent, align=uiconst.TOTOP)
     37         self.overview_presets_combo = self._add_presets_configurator(parent=container, name='overview_presets', title=GetByLabel('UI/Overview/Filter'), description=GetByLabel('UI/Overview/ChooseOverviewPreset'), is_for_brackets=False)
     38         self.bracket_presets_combo = self._add_presets_configurator(parent=container, name='bracket_presets', title=GetByLabel('UI/Overview/BracketFilter'), description=GetByLabel('UI/Overview/ChooseBracketPreset'), is_for_brackets=True)
     39         self.new_window_checkbox = Checkbox(parent=container, padding=(0, 8, 0, 8), text=GetByLabel('UI/Overview/InNewWindow'))
     40 
     41     def _add_presets_configurator(self, parent, name, title, description, is_for_brackets):
     42         container = self._add_combo_container(parent, name)
     43         self._add_combo_title(container, name, title, description)
     44         combo = self._add_combo_dropdown(container, name, is_for_brackets)
     45         return combo
     46 
     47     def _add_combo_container(self, parent, name):
     48         return ContainerAutoSize(name=name + '_container', parent=parent, align=uiconst.TOTOP, padBottom=8)
     49 
     50     def _add_combo_title(self, parent, name, title, description):
     51         title_container = Container(name=name + 'title_container', parent=parent, align=uiconst.TOTOP, padding=(0, 16, 0, 8), height=16)
     52         EveLabelMedium(name=name + '_label', parent=title_container, align=uiconst.TOLEFT, text=title)
     53         icon_container = ContainerAutoSize(name=name + '_icon_container', parent=title_container, align=uiconst.TOLEFT, padLeft=8)
     54         MoreInfoIcon(name=name + '_description_icon', parent=icon_container, align=uiconst.CENTER, hint=description)
     55 
     56     def _add_combo_dropdown(self, parent, name, is_for_brackets):
     57         container = ContainerAutoSize(name=name + '_combo_container', parent=parent, align=uiconst.TOTOP)
     58         options = []
     59         if is_for_brackets:
     60             options += [(GetByLabel('UI/Overview/ShowAllBrackets'), overviewSettingsConst.BRACKET_FILTER_SHOWALL)]
     61             selected = overviewSettingsConst.BRACKET_FILTER_SHOWALL
     62         else:
     63             selected = overviewUtil.GetDefaultFiltersSorted()[0]
     64         options += overviewUtil.GetFilterComboOptions()
     65         combo = Combo(name=name + '_combo', parent=container, align=uiconst.TOTOP, options=options, select=selected)
     66         return combo
     67 
     68     def Confirm(self, *args):
     69         if not hasattr(self, 'newName'):
     70             return
     71         new_name = self.newName.GetValue()
     72         error = self.funcValidator(new_name)
     73         new_overview_preset = self.overview_presets_combo.GetValue()
     74         new_bracket_preset = self.bracket_presets_combo.GetValue()
     75         in_new_window = self.new_window_checkbox.GetValue()
     76         if error:
     77             prompt_player_fsd_dialog('CustomInfo', {'info': error})
     78         else:
     79             self.result = (new_name,
     80              new_overview_preset,
     81              new_bracket_preset,
     82              in_new_window)
     83             self.SetModalResult(1)
     84 
     85     def Cancel(self, *args):
     86         self.result = (None, None, None)
     87         self.SetModalResult(0)