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

directionalScanResultEntry.py (3365B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\inflight\scannerFiles\directionalScanResultEntry.py
      2 import evetypes
      3 from carbonui.primitives.container import Container
      4 from carbonui.primitives.sprite import Sprite
      5 from eve.client.script.ui.control.baseListEntry import BaseListEntryCustomColumns
      6 import carbonui.const as uiconst
      7 from localization import GetByLabel
      8 from carbonui.uicore import uicore
      9 from eveservices.menu import GetMenuService
     10 
     11 class DirectionalScanResultEntry(BaseListEntryCustomColumns):
     12 
     13     def ApplyAttributes(self, attributes):
     14         BaseListEntryCustomColumns.ApplyAttributes(self, attributes)
     15         self.AddIconColumn()
     16         self.nameColumn = self.AddColumnText()
     17         self.typeColumn = self.AddColumnText()
     18         self.distanceColumn = self.AddColumnText()
     19 
     20     def AddIconColumn(self):
     21         column = Container(align=uiconst.TOLEFT, width=16, state=uiconst.UI_DISABLED, parent=self)
     22         self.columns.append(column)
     23         self.icon = Sprite(parent=column, align=uiconst.CENTERLEFT, pos=(0, -1, 16, 16))
     24         return column
     25 
     26     def Load(self, node):
     27         if node.selected:
     28             self.Select()
     29         else:
     30             self.Deselect()
     31         self.icon.SetTexturePath(sm.GetService('bracket').GetBracketIcon(node.typeID))
     32         self.nameColumn.text = node.entryName
     33         self.typeColumn.text = node.typeName
     34         self.distanceColumn.text = node.diststr
     35 
     36     def GetHeight(self, *args):
     37         return 20
     38 
     39     def OnDblClick(self, *args):
     40         BaseListEntryCustomColumns.OnDblClick(self, *args)
     41         sm.GetService('info').ShowInfo(self.node.typeID, self.node.itemID)
     42 
     43     def GetMenu(self, *args):
     44         data = self.node
     45         if data.itemID:
     46             return GetMenuService().CelestialMenu(data.itemID, typeID=data.typeID)
     47         return []
     48 
     49     def GetDragData(self, *args):
     50         return self.node.scroll.GetSelectedNodes(self.sr.node)
     51 
     52     def OnClick(self, *args):
     53         BaseListEntryCustomColumns.OnClick(self, *args)
     54         uicore.cmd.ExecuteCombatCommand(self.node.itemID, uiconst.UI_CLICK)
     55 
     56     def OnMouseEnter(self, *args):
     57         BaseListEntryCustomColumns.OnMouseEnter(self, *args)
     58         sm.ScatterEvent('OnDscanEntryMouseEnter', self.node.typeID)
     59 
     60     def OnMouseExit(self, *args):
     61         BaseListEntryCustomColumns.OnMouseExit(self, *args)
     62         sm.ScatterEvent('OnDscanEntryMouseExit')
     63 
     64     @classmethod
     65     def GetCopyData(cls, node):
     66         return '<t>'.join([str(node.typeID),
     67          node.entryName,
     68          node.typeName,
     69          node.diststr])
     70 
     71     @staticmethod
     72     def GetDefaultColumnAndDirection():
     73         return (GetByLabel('UI/Common/ID'), True)
     74 
     75     @staticmethod
     76     def GetFixedColumns():
     77         return {'': 20}
     78 
     79     @staticmethod
     80     def GetColumns():
     81         return ['',
     82          GetByLabel('UI/Common/Name'),
     83          GetByLabel('UI/Common/Type'),
     84          GetByLabel('UI/Common/Distance')]
     85 
     86     @staticmethod
     87     def GetColumnsMinSize():
     88         return {GetByLabel('UI/Common/Name'): 90,
     89          GetByLabel('UI/Common/Type'): 90,
     90          GetByLabel('UI/Common/Distance'): 60}
     91 
     92     @staticmethod
     93     def GetColumnsDefaultSize():
     94         return {'': 16,
     95          GetByLabel('UI/Common/Name'): 160,
     96          GetByLabel('UI/Common/Type'): 130,
     97          GetByLabel('UI/Common/Distance'): 100}