panelSkinLicense.py (2518B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\info\panels\panelSkinLicense.py 2 from carbonui.primitives.container import Container 3 from eve.client.script.ui.control.entries.header import Header 4 from eve.client.script.ui.control.entries.item import Item 5 from eve.client.script.ui.control.entries.label_text import LabelTextSides 6 from eve.client.script.ui.control.entries.util import GetFromClass 7 from eve.client.script.ui.control.eveScroll import Scroll 8 from eve.client.script.ui.shared.skins.uiutil import GetMaterialDragData 9 import evetypes 10 from inventorycommon.const import typeSkinMaterial 11 import localization 12 13 class PanelSkinLicense(Container): 14 15 def ApplyAttributes(self, attributes): 16 super(PanelSkinLicense, self).ApplyAttributes(attributes) 17 self.typeID = attributes.typeID 18 self.Layout() 19 20 def Layout(self): 21 self.scroll = Scroll(parent=self, padding=4) 22 23 def Load(self): 24 entries = [] 25 license = sm.GetService('cosmeticsSvc').GetStaticLicenseByID(self.typeID) 26 entry = GetFromClass(LabelTextSides, data={'label': localization.GetByLabel('UI/Skins/Duration'), 27 'text': license.durationLabel, 28 'icon': 'res:/ui/texture/icons/22_32_16.png'}) 29 entries.append(entry) 30 entry = GetFromClass(SkinMaterialEntry, data={'label': localization.GetByLabel('UI/Skins/Material'), 31 'text': license.material.name, 32 'icon': license.iconTexturePath, 33 'skin': license.skin}) 34 entries.append(entry) 35 entry = GetFromClass(Header, data={'label': localization.GetByLabel('UI/Skins/AppliesToTheseShips')}) 36 entries.append(entry) 37 tempList = [] 38 for typeID in license.skin.types: 39 entry = GetFromClass(Item, data={'typeID': typeID, 40 'itemID': None, 41 'label': evetypes.GetName(typeID), 42 'getIcon': True}) 43 tempList.append(entry) 44 45 entries.extend(sorted(tempList, key=lambda x: x.label)) 46 self.scroll.Load(contentList=entries) 47 48 49 class SkinMaterialEntry(LabelTextSides): 50 isDragObject = True 51 52 def Load(self, node): 53 node.typeID = typeSkinMaterial 54 super(SkinMaterialEntry, self).Load(node) 55 56 def ShowInfo(self, *args): 57 materialID = self.sr.node.skin.materialID 58 sm.StartService('info').ShowInfo(typeSkinMaterial, itemID=materialID) 59 60 def GetDragData(self): 61 return GetMaterialDragData(self.sr.node.skin.material)