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}