ui.py (1787B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\uihider\ui.py 2 import abc 3 import weakref 4 from carbonui.uicore import uicore 5 6 class InputDisabler(object): 7 8 def __init__(self, is_context_menu_disabled = False, is_manual_piloting_disabled = False): 9 self.is_context_menu_disabled = is_context_menu_disabled 10 self.is_manual_piloting_disabled = is_manual_piloting_disabled 11 12 def register_handlers(self): 13 uicore.uilib.SetEventHandlerResolver(self.resolve_event_handler) 14 uicore.uilib.SetMenuHandlerResolver(self.resolve_menu_handler) 15 16 def unregister_handlers(self): 17 uicore.uilib.SetEventHandlerResolver(None) 18 uicore.uilib.SetMenuHandlerResolver(None) 19 20 def resolve_event_handler(self, ui_object, handler_name): 21 if self.is_manual_piloting_disabled: 22 if handler_name == 'OnDblClick': 23 if is_name_equal(ui_object, 'l_inflight'): 24 return (None, None) 25 elif handler_name == 'OnKeyDown': 26 if is_name_equal(ui_object, 'Desktop'): 27 return (None, None) 28 elif handler_name == 'OnClick': 29 name = getattr(ui_object, 'name', None) 30 if name == 'SpeedGauge': 31 return (None, None) 32 if 'ModuleButton_' in name: 33 target_id = sm.GetService('target').GetActiveTargetID() 34 if target_id is None: 35 return (None, None) 36 return ui_object.FindEventHandler(handler_name) 37 38 def resolve_menu_handler(self, ui_object): 39 if self.is_context_menu_disabled: 40 return None 41 42 43 def is_name_equal(ui_object, name): 44 return getattr(ui_object, 'name', None) == name