nebulaSelector.py (2221B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\cosmetics\ship\pages\studio\nebulaSelector.py 2 import localization 3 from carbonui import Align 4 from carbonui.primitives.container import Container 5 from carbonui.control.combo import Combo 6 from eve.client.script.ui.cosmetics.ship.pages.studio import studioSignals 7 from eve.client.script.ui.cosmetics.ship.pages.studio import nebulaConsts 8 9 class NebulaSelector(Container): 10 default_width = 400 11 default_height = 400 12 13 def __init__(self, *args, **kwargs): 14 super(NebulaSelector, self).__init__(*args, **kwargs) 15 self.nebula_combo = None 16 self.connect_signals() 17 if nebulaConsts.skinr_nebula_backgrounds_enabled(): 18 self.create_and_apply_background() 19 20 def Close(self): 21 try: 22 self.disconnect_signals() 23 finally: 24 super(NebulaSelector, self).Close() 25 26 def connect_signals(self): 27 studioSignals.on_backgrounds_enabled.connect(self.toggle_nebula_selector) 28 29 def disconnect_signals(self): 30 studioSignals.on_backgrounds_enabled.disconnect(self.toggle_nebula_selector) 31 32 def toggle_nebula_selector(self, backgrounds_enabled): 33 if backgrounds_enabled(): 34 if self.nebula_combo is None: 35 self.create_and_apply_background() 36 else: 37 self.disable_background() 38 39 def create_and_apply_background(self): 40 self.create_combo() 41 self.nebula_combo.SetValue(nebulaConsts.SELECTED_SKINR_BACKGROUND.get()) 42 43 def disable_background(self): 44 self.nebula_combo.Close() 45 self.nebula_combo = None 46 nebulaConsts.SELECTED_SKINR_BACKGROUND.set(nebulaConsts.BackgroundEnum.Empty) 47 48 def create_combo(self): 49 self.nebula_combo = Combo(parent=self, name='nebula_combo', callback=self.on_combo, options=self.get_nebula_combo_options(), padding=(55, 0, 16, 0), align=Align.TOTOP) 50 51 def get_nebula_combo_options(self): 52 return [ (localization.GetByLabel(value), key) for key, value in nebulaConsts.SKINR_NEBULA_LOC_LABELS.items() ] 53 54 def on_combo(self, *args): 55 nebulaConsts.SELECTED_SKINR_BACKGROUND.set(self.nebula_combo.GetValue())