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

assetSafety.py (2229B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\assets\assetSafety.py
      2 from carbon.common.script.util.timerstuff import AutoTimer
      3 from carbonui import const as uiconst
      4 from carbonui.primitives.container import Container
      5 from carbonui.util.bunch import Bunch
      6 from eve.client.script.ui.control.eveScroll import Scroll
      7 from eve.client.script.ui.shared.assets.assetSafetyEntry import AssetSafetyEntry
      8 import blue
      9 from localization import GetByLabel
     10 
     11 class AssetSafetyCont(Container):
     12 
     13     def ApplyAttributes(self, attributes):
     14         Container.ApplyAttributes(self, attributes)
     15         self.assetSafetyController = attributes.controller
     16         self.assetSafetyScroll = Scroll(name='assetSafetyScroll', id='assetSafetyScrollGUID', parent=self, align=uiconst.TOALL)
     17         self.updateCounter = None
     18 
     19     def Load(self):
     20         scrollList = GetAssetSafetyScrollContent(self.assetSafetyController)
     21         headers = AssetSafetyEntry.GetHeaders()
     22         self.assetSafetyScroll.sr.minColumnWidth = AssetSafetyEntry.GetMinimumColWidth()
     23         self.assetSafetyScroll.sr.defaultColumnWidth = AssetSafetyEntry.GetDefaultColumnWidth()
     24         self.assetSafetyScroll.Load(contentList=scrollList, headers=headers, noContentHint=GetByLabel('UI/Corporations/Assets/NoItemsFound'))
     25         self.updateCounter = AutoTimer(1000, self.UpdateCounters_thread)
     26 
     27     def UpdateCounters_thread(self):
     28         for eachEntry in self.assetSafetyScroll.GetNodes():
     29             panel = getattr(eachEntry, 'panel', None)
     30             if not panel or panel.destroyed:
     31                 continue
     32             if isinstance(panel, AssetSafetyEntry):
     33                 panel.UpdateProgress()
     34 
     35     def Close(self):
     36         Container.Close(self)
     37         self.updateCounter = None
     38 
     39 
     40 def GetAssetSafetyScrollContent(controller):
     41     scrollList = []
     42     safetyRowSet = controller.GetItemsInSafety()
     43     for safetyData in safetyRowSet:
     44         node = Bunch(safetyData=safetyData, decoClass=AssetSafetyEntry, sortValues=AssetSafetyEntry.GetColumnSortValues(safetyData), label='<t>'.join(AssetSafetyEntry.GetNameAndSystem(safetyData)))
     45         scrollList.append(node)
     46         blue.pyos.BeNice()
     47 
     48     return scrollList