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

controller.py (1734B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\mapView\sidePanel\widgets\system_security\controller.py
      2 from security.client.const import ALL_SEC, SECURITY_RANGES, ADDITIONAL_CONSTRAINT
      3 from signals import Signal
      4 _instance = None
      5 
      6 def get_system_security_filter_controller():
      7     global _instance
      8     if _instance is None:
      9         _instance = SystemSecurityFilterController()
     10     return _instance
     11 
     12 
     13 class SystemSecurityFilterController:
     14 
     15     def __init__(self):
     16         self._selected_security_level = ALL_SEC
     17         self._selected_security_level_override = None
     18         self.on_security_level_changed = Signal('system_security_filter_controller.on_security_level_changed')
     19 
     20     def get_security_level(self):
     21         return self._selected_security_level
     22 
     23     def get_security_level_override(self):
     24         return self._selected_security_level_override
     25 
     26     def clear_security_level_override(self):
     27         self._selected_security_level_override = None
     28 
     29     def set_security_level(self, security_level):
     30         if security_level in SECURITY_RANGES:
     31             self._selected_security_level = security_level
     32             self.on_security_level_changed()
     33 
     34     def set_security_level_override(self, security_level):
     35         if security_level in SECURITY_RANGES:
     36             self._selected_security_level_override = security_level
     37 
     38     def is_colored(self, system_id, security_status):
     39         is_in_range = SECURITY_RANGES[self._selected_security_level].in_range(security_status)
     40         if self._selected_security_level in ADDITIONAL_CONSTRAINT:
     41             is_in_range = is_in_range and ADDITIONAL_CONSTRAINT[self._selected_security_level](system_id)
     42         return is_in_range