entries.py (5033B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\maps\entries.py 2 import localization 3 from carbonui import uiconst 4 from carbonui.primitives.container import Container 5 from carbonui.primitives.fill import Fill 6 from carbonui.primitives.frame import Frame 7 from carbonui.primitives.line import Line 8 from eve.client.script.ui.control import eveIcon 9 from eve.client.script.ui.control.entries.generic import Generic 10 from eve.client.script.ui.control.entries.item import Item 11 from eve.client.script.ui.shared.maps import maputils 12 from eve.common.lib import appConst as const 13 from eve.common.script.sys import idCheckers 14 from eveservices.menu import GetMenuService 15 16 class BracketSelectorEntry(Generic): 17 __guid__ = 'listentry.BracketSelectorEntry' 18 __update_on_reload__ = 1 19 20 def Startup(self, *args): 21 Generic.Startup(self, *args) 22 props = {'parent': self, 23 'align': uiconst.CENTERRIGHT, 24 'idx': 0} 25 pos = (18, 0, 0, 0) 26 eye = eveIcon.Icon(icon='ui_38_16_110', pos=pos, name='eye', hint=localization.GetByLabel('UI/Map/MapPallet/hintShow'), **props) 27 eye.OnClick = self.ToggleVisibility 28 self.sr.eyeoff = eveIcon.Icon(icon='ui_38_16_111', pos=pos, **props) 29 hint = eveIcon.Icon(icon='ui_38_16_109', name='hint', hint=localization.GetByLabel('UI/Map/MapPallet/hintShowHint'), **props) 30 hint.OnClick = self.ToggleBubbleHint 31 self.sr.hintoff = eveIcon.Icon(icon='ui_38_16_111', **props) 32 33 def Load(self, node): 34 Generic.Load(self, node) 35 if node.visible: 36 self.sr.eyeoff.state = uiconst.UI_HIDDEN 37 else: 38 self.sr.eyeoff.state = uiconst.UI_DISABLED 39 if node.showhint: 40 self.sr.hintoff.state = uiconst.UI_HIDDEN 41 else: 42 self.sr.hintoff.state = uiconst.UI_DISABLED 43 44 def ToggleVisibility(self, *args): 45 sel = self.sr.node.scroll.GetSelectedNodes(self.sr.node) 46 visible = not self.sr.node.visible 47 wantedGroups = maputils.GetVisibleSolarsystemBrackets()[:] 48 for node in sel: 49 node.visible = visible 50 if node.groupID not in wantedGroups and visible: 51 wantedGroups.append(node.groupID) 52 elif node.groupID in wantedGroups and not visible: 53 wantedGroups.remove(node.groupID) 54 if node.panel: 55 node.panel.Load(node) 56 57 settings.user.ui.Set('groupsInSolarsystemMap', wantedGroups) 58 sm.ScatterEvent('OnSolarsystemMapSettingsChange', 'brackets') 59 60 def ToggleBubbleHint(self, *args): 61 sel = self.sr.node.scroll.GetSelectedNodes(self.sr.node) 62 showhint = not self.sr.node.showhint 63 wantedHints = maputils.GetHintsOnSolarsystemBrackets()[:] 64 for node in sel: 65 node.showhint = showhint 66 if node.groupID not in wantedHints and showhint: 67 wantedHints.append(node.groupID) 68 elif node.groupID in wantedHints and not showhint: 69 wantedHints.remove(node.groupID) 70 if node.panel: 71 node.panel.Load(node) 72 73 settings.user.ui.Set('hintsInSolarsystemMap', wantedHints) 74 sm.ScatterEvent('OnSolarsystemMapSettingsChange', 'brackets') 75 76 77 class LegendEntry(Generic): 78 __guid__ = 'listentry.LegendEntry' 79 80 def Startup(self, *args): 81 Generic.Startup(self, args) 82 Line(parent=self, align=uiconst.TOBOTTOM) 83 self.sr.legendColor = Container(name='legendColor', parent=self, align=uiconst.TOPLEFT, pos=(2, 2, 12, 12), idx=0) 84 self.sr.colorFill = Fill(parent=self.sr.legendColor) 85 Frame(parent=self.sr.legendColor, color=(0.25, 0.25, 0.25), idx=0) 86 87 def Load(self, node): 88 Generic.Load(self, node) 89 self.sr.label.left = 18 90 if not isinstance(node.legend.color, tuple): 91 c = (node.legend.color.r, 92 node.legend.color.g, 93 node.legend.color.b, 94 node.legend.color.a) 95 node.legend.color.a = 1.0 96 else: 97 c = node.legend.color 98 node.legend.color = (c[0], 99 c[1], 100 c[2], 101 1.0) 102 self.sr.colorFill.SetRGBA(*c) 103 self.key = node.key 104 self.legend = node.legend 105 self.sr.label.Update() 106 107 def GetMenu(self): 108 m = [] 109 if self.legend.data is not None: 110 m += GetMenuService().GetGMMenu(itemID=self.legend.data) 111 if self.legend.data is not None: 112 if idCheckers.IsFaction(self.legend.data): 113 m += GetMenuService().GetMenuFromItemIDTypeID(self.legend.data, const.typeFaction) 114 elif idCheckers.IsRegion(self.legend.data): 115 m += GetMenuService().CelestialMenu(self.legend.data) 116 else: 117 m += GetMenuService().GetMenuFromItemIDTypeID(self.legend.data, const.typeAlliance) 118 return m 119 120 121 class LocationSearchItem(Item): 122 __guid__ = 'listentry.LocationSearchItem' 123 isDragObject = True