window.py (2659B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\redeem\window.py 2 from carbonui.control.window import Window 3 from carbonui import uiconst 4 from carbonui.primitives.container import Container 5 from carbonui.primitives.sprite import Sprite 6 from eve.client.script.ui.shared.redeem.redeemItemsContainer import RedeemItemsContainer 7 from eve.client.script.ui.shared.redeem.redeemUiConst import REDEEM_WINDOW_ID, REDEEM_NOTIFICATION_ID 8 HEADER_HEIGHT = 32 9 10 def GetRedeemWindow(): 11 return RedeemWindowDark 12 13 14 class RedeemWindowDark(Window): 15 __notifyevents__ = ['OnRedeemingTokensUpdated', 'OnUIScalingChange'] 16 __guid__ = 'form.RedeemWindowDark' 17 default_windowID = REDEEM_WINDOW_ID 18 default_captionLabelPath = 'UI/RedeemWindow/RedeemItem' 19 default_iconNum = 'res:/ui/Texture/WindowIcons/redeemingQueue.png' 20 default_isStackable = False 21 default_width = 760 22 default_height = 640 23 default_minSize = (default_width, default_height) 24 25 def ApplyAttributes(self, attributes): 26 super(RedeemWindowDark, self).ApplyAttributes(attributes) 27 self.stationID = attributes.stationID 28 self.charID = attributes.charID 29 self.redeemData = attributes.redeemData 30 self.ConstructLayout() 31 self._RemoveNeocomNotifications() 32 sm.ScatterEvent('OnRedeemWndOpened') 33 34 def ConstructLayout(self): 35 self.ConstructHeader() 36 self.ConstructMain() 37 38 def ConstructHeader(self): 39 self.redeemIconLabelContainer = Container(name='IconAndLabelContainer', parent=self.sr.headerParent, align=uiconst.TOLEFT_PROP, width=0.3, padding=(8, 0, 0, 0)) 40 self.redeemIconSprite = Sprite(name='RedeemIconSprite', parent=Container(name='RedeemIconContainer', parent=self.redeemIconLabelContainer, align=uiconst.TOLEFT, width=20), align=uiconst.CENTER, state=uiconst.UI_DISABLED, width=20, height=20, texturePath=self.iconNum) 41 42 def ConstructMain(self): 43 self.redeemItemsContainer = RedeemItemsContainer(name='RedeemItemsContainer', parent=self.sr.main, align=uiconst.TOALL, state=uiconst.UI_NORMAL, redeemData=self.redeemData) 44 self.RedeemAll = self.redeemItemsContainer.RedeemAll 45 self.IsReady = self.redeemItemsContainer.IsReady 46 47 def OnUIScalingChange(self, *args): 48 self.sr.main.Flush() 49 self.ConstructMain() 50 51 def _RemoveNeocomNotifications(self): 52 sm.GetService('redeem').MarkAllTokensSeen() 53 sm.GetService('neocom').BlinkOff(REDEEM_NOTIFICATION_ID) 54 55 def OnRedeemingTokensUpdated(self): 56 if sm.GetService('redeem').GetRedeemTokenCount() == 0: 57 self.CloseByUser()