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