cleanupSkyhookEntryController.py (3231B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\sov\sovHub\skyhooksCleanup\cleanupSkyhookEntryController.py 2 from carbonui import TextColor 3 from clientsettings.setting import SessionSettingBool 4 from eveexceptions import ExceptionEater 5 from localization import GetByLabel 6 import orbitalSkyhook.const as reinforceConst 7 from signals import Signal 8 from signals.signalUtil import ConnectSignals, DisconnectSignals 9 from eve.client.script.ui import eveThemeColor 10 MODE_ACQUIRE = 1 11 MODE_DESTROY = 2 12 13 class CleanupSkyhookEntryController(object): 14 15 def __init__(self, slimItem, wndContoller): 16 self._slimItem = slimItem 17 self._wndContoller = wndContoller 18 self._transitionMode = MODE_ACQUIRE 19 self._processedValue = None 20 self.checkedSettings = SessionSettingBool(True) 21 self.on_entry_updated = Signal(signalName='on_entry_updated') 22 self.on_mode_updated = Signal(signalName='on_mode_updated') 23 signalsAndCallbacks = self.GetSignalsAndCallbacks() 24 ConnectSignals(signalsAndCallbacks) 25 26 def GetSignalsAndCallbacks(self): 27 return [(self.checkedSettings.on_change, self.OnCheckboxChanged)] 28 29 @property 30 def itemID(self): 31 return self._slimItem.itemID 32 33 @property 34 def typeID(self): 35 return self._slimItem.typeID 36 37 @property 38 def locationText(self): 39 return cfg.evelocations.Get(self._slimItem.planetID).name 40 41 @property 42 def ownerText(self): 43 return cfg.eveowners.Get(self._slimItem.ownerID).name 44 45 @property 46 def processedValue(self): 47 return self._processedValue 48 49 @processedValue.setter 50 def processedValue(self, value): 51 self._processedValue = value 52 53 @property 54 def statusText(self): 55 skyhookState = self._slimItem.skyhook_state 56 labelPath = reinforceConst.STATE_LABELS.get(skyhookState, 'UI/Generic/Unknown') 57 return GetByLabel(labelPath) 58 59 @property 60 def statusColor(self): 61 skyhookState = self._slimItem.skyhook_state 62 if skyhookState in [reinforceConst.STATE_ARMOR_REINFORCE, reinforceConst.STATE_HULL_REINFORCE]: 63 return eveThemeColor.THEME_ALERT 64 else: 65 return TextColor.NORMAL 66 67 def OnCheckboxChanged(self, *args): 68 self.on_entry_updated() 69 70 def OnEntryClicked(self): 71 self.checkedSettings.toggle() 72 73 def IsChecked(self): 74 return self.checkedSettings.is_enabled() 75 76 def IsInAcquireMode(self): 77 return self._transitionMode == MODE_ACQUIRE 78 79 def IsInDestroyMode(self): 80 return self._transitionMode == MODE_DESTROY 81 82 def IsProcessed(self): 83 return bool(self._processedValue) 84 85 def SetTransitMode(self, transitMode): 86 self._transitionMode = transitMode 87 self.on_mode_updated() 88 89 def SetCheckedValue(self, newValue): 90 if self.checkedSettings.get() == newValue: 91 return 92 self.checkedSettings.toggle() 93 94 def __del__(self): 95 with ExceptionEater('Deleting CleanupSkyhookEntryController'): 96 signalsAndCallbacks = self.GetSignalsAndCallbacks() 97 DisconnectSignals(signalsAndCallbacks) 98 self._wndContoller = None