organizationInfo.py (2733B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\cosmetics\ship\controls\organizationInfo.py 2 import evelink.client 3 from carbonui import Align, TextColor, uiconst 4 from carbonui.text.styles import TextHeader, TextDetail 5 from carbonui.primitives.container import Container 6 from carbonui.primitives.containerAutoSize import ContainerAutoSize 7 from eve.client.script.ui.control.eveIcon import GetLogoIcon 8 from localization import GetByLabel 9 10 class OrganizationInfo(Container): 11 default_display = False 12 default_width = 300 13 default_height = 64 14 15 def __init__(self, organization_id, *args, **kwargs): 16 super(OrganizationInfo, self).__init__(*args, **kwargs) 17 self._organization_id = organization_id 18 self._compact_mode = False 19 self.icon = None 20 self.construct_layout() 21 22 def construct_layout(self): 23 self.icon_container = Container(name='icon_container', parent=self, align=Align.TOLEFT, pos=(0, 0, 64, 64)) 24 self.icon = GetLogoIcon(name='icon', parent=self.icon_container, align=Align.TOALL, state=uiconst.UI_NORMAL, itemID=self.organization_id) 25 self.icon.OnClick = self.on_icon_click 26 self.text_container = ContainerAutoSize(name='text_container', parent=self, align=Align.CENTERLEFT, width=228, left=72, padTop=16) 27 self.description_label = TextDetail(name='description_label', parent=self.text_container, align=Align.TOTOP, text=self.description_text, color=TextColor.SECONDARY, top=-16) 28 self.name_label = TextHeader(name='name_label', parent=self.text_container, align=Align.TOTOP, state=uiconst.UI_NORMAL, text=evelink.client.owner_link(self.organization_id), maxLines=3, autoFadeSides=16, bold=True) 29 30 def on_icon_click(self, *args): 31 sm.GetService('info').ShowInfo(typeID=cfg.eveowners.Get(self.organization_id).typeID, itemID=self.organization_id) 32 33 def update_compact_mode(self): 34 self.text_container.display = not self.compact_mode 35 self.width = 64 if self.compact_mode else self.default_width 36 if self.compact_mode: 37 self.icon.SetHint(u'%s\n%s' % (self.description_text, cfg.eveowners.Get(self.organization_id).name)) 38 else: 39 self.icon.SetHint(None) 40 41 @property 42 def description_text(self): 43 return GetByLabel('UI/Personalization/ShipSkins/SKINR/TargetedAt') 44 45 @property 46 def organization_id(self): 47 return self._organization_id 48 49 @property 50 def compact_mode(self): 51 return self._compact_mode 52 53 @compact_mode.setter 54 def compact_mode(self, value): 55 if self._compact_mode == value: 56 return 57 self._compact_mode = value 58 self.update_compact_mode()