shipName.py (2920B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\cosmetics\ship\controls\shipName.py 2 import eveicon 3 import evetypes 4 from carbonui import Align, uiconst, TextColor 5 from carbonui.text.styles import TextHeader 6 from carbonui.primitives.container import Container 7 from carbonui.primitives.sprite import Sprite 8 from carbonui.uiconst import BlendMode 9 from eveservices.menu import GetMenuService 10 11 class ShipName(Container): 12 default_width = 158 13 default_height = 58 14 default_state = uiconst.UI_NORMAL 15 16 def __init__(self, ship_type_id = None, *args, **kwargs): 17 super(ShipName, self).__init__(*args, **kwargs) 18 self._ship_type_id = ship_type_id 19 self.construct_layout() 20 self.update() 21 22 def construct_layout(self): 23 sprite_container = Container(name='sprite_container', parent=self, align=Align.TOTOP, height=27) 24 self.ship_group_icon = Sprite(name='ship_group_icon', parent=sprite_container, align=Align.CENTERTOP, state=uiconst.UI_DISABLED, pos=(0, 8, 16, 16), blendMode=BlendMode.ADD, color=TextColor.NORMAL) 25 Sprite(name='highlight', parent=sprite_container, align=Align.CENTERTOP, state=uiconst.UI_DISABLED, texturePath='res:/UI/Texture/classes/Cosmetics/Ship/ship_name_highlight.png', pos=(0, -8, 45, 19), blendMode=BlendMode.ADD) 26 Sprite(name='background', parent=sprite_container, align=Align.CENTERTOP, state=uiconst.UI_DISABLED, texturePath='res:/UI/Texture/classes/Cosmetics/Ship/ship_name_background.png', pos=(0, 0, 158, 27)) 27 label_container = Container(name='label_container', parent=self, align=Align.TOTOP, height=23, padTop=8) 28 self.label = TextHeader(name='label', parent=label_container, align=Align.CENTER) 29 30 def update(self): 31 if self.ship_type_id: 32 self.label.text = evetypes.GetName(self.ship_type_id) 33 ship_group_id = evetypes.GetShipGroupID(self.ship_type_id) 34 if ship_group_id is not None: 35 self.ship_group_icon.texturePath = cfg.infoBubbleGroups.get(ship_group_id)['iconSmall'] 36 else: 37 self.ship_group_icon.texturePath = sm.GetService('bracket').GetBracketIcon(self.ship_type_id) 38 else: 39 self.label.text = None 40 self.ship_group_icon.texturePath = eveicon.spaceship_command 41 42 @property 43 def ship_type_id(self): 44 return self._ship_type_id 45 46 @ship_type_id.setter 47 def ship_type_id(self, value): 48 if self._ship_type_id == value: 49 return 50 self._ship_type_id = value 51 self.update() 52 53 def OnClick(self, *args): 54 if self.ship_type_id: 55 sm.GetService('info').ShowInfo(self.ship_type_id) 56 57 def GetMenu(self): 58 if not self.ship_type_id: 59 return None 60 return GetMenuService().GetMenuFromItemIDTypeID(itemID=None, typeID=self.ship_type_id, includeMarketDetails=True)