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

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()