handler.py (2235B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\mapView\links\handler.py 2 from eve.client.script.ui.shared.mapView.links.const import SCHEME_FILTER 3 from eve.client.script.ui.shared.maps.mapcommon import STARMODE_MILITIA, STARMODE_PLANETTYPE, STARMODE_SECURITY 4 5 def register_map_link_handler(registry): 6 registry.register(scheme=SCHEME_FILTER, handler=handle_map_filter_link, hint=None) 7 8 9 def handle_map_filter_link(url): 10 filter_id, args = parse_map_link(url) 11 filter_id = int(filter_id) 12 if filter_id in CUSTOM_FILTER_HANDLERS: 13 CUSTOM_FILTER_HANDLERS[filter_id](filter_id, *args) 14 else: 15 _open_filter(filter_id, *args) 16 17 18 def parse_map_link(url): 19 split = url[url.index(':') + 1:].split('//') 20 filter_id = split[0] 21 args = split[1:] if len(split) > 1 else [] 22 return (filter_id, args) 23 24 25 def _open_security_filter(filter_id, *args): 26 from eve.client.script.ui.shared.mapView.mapViewPanel import MapViewPanel 27 from eve.client.script.ui.shared.mapView.sidePanel.widgets.system_security.controller import get_system_security_filter_controller 28 selected_security_tier = args[0] if args else None 29 if selected_security_tier: 30 security_controller = get_system_security_filter_controller() 31 security_controller.set_security_level_override(selected_security_tier) 32 wnd = MapViewPanel.GetIfOpen() 33 if wnd: 34 wnd.SetMapFilter(filter_id, updateFocus=False) 35 if wnd.IsMinimized(): 36 wnd.Maximize() 37 else: 38 MapViewPanel.Open(starColorMode=filter_id) 39 40 41 CUSTOM_FILTER_HANDLERS = {STARMODE_SECURITY: _open_security_filter} 42 COMBINED_STARMODE_IDS = [STARMODE_MILITIA, STARMODE_PLANETTYPE] 43 44 def _open_filter(filter_id, *args): 45 from eve.client.script.ui.shared.mapView.mapViewPanel import MapViewPanel 46 item_id = None 47 if filter_id in COMBINED_STARMODE_IDS: 48 item_id = int(args[0]) if args else None 49 if item_id: 50 filter_id = (filter_id, item_id) 51 wnd = MapViewPanel.GetIfOpen() 52 if wnd: 53 wnd.SetMapFilter(filter_id, updateFocus=False) 54 if wnd.IsMinimized(): 55 wnd.Maximize() 56 else: 57 MapViewPanel.Open(starColorMode=filter_id)