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

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)