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

tooltip.py (3486B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\infoPanels\milestoneTimer\tooltip.py
      2 from carbonui import uiconst
      3 from carbonui.control.button import Button
      4 from eve.client.script.ui.control.tooltips import TooltipPanel
      5 from eve.client.script.ui.control import tooltipConst
      6 from eve.client.script.ui.shared.infoPanels.milestoneTimer.milestoneTimerMessenger import MilestoneTimerMessenger
      7 from eve.client.script.ui.tooltips.tooltipsWrappers import TooltipBaseWrapper
      8 from localization import GetByLabel
      9 
     10 class MilestoneTooltip(TooltipBaseWrapper):
     11 
     12     def __init__(self, milestoneID, totalSeconds, secondsLeftFunc, *args, **kwargs):
     13         super(MilestoneTooltip, self).__init__(*args, **kwargs)
     14         self.milestoneID = milestoneID
     15         self.totalSeconds = totalSeconds
     16         self.secondsLeftFunc = secondsLeftFunc
     17 
     18     def CreateTooltip(self, parent, owner, idx):
     19         self.tooltipPanel = TooltipPanel(parent=parent, owner=owner, idx=idx)
     20         self.tooltipPanel.LoadGeneric1ColumnTemplate()
     21         self.tooltipPanel.SetState(uiconst.UI_NORMAL)
     22         self.tooltipPanel.margin = tooltipConst.TOOLTIP_MARGIN
     23         self.ConstructEncouragementSection()
     24         MilestoneTimerMessenger(sm.GetService('publicGatewaySvc')).tooltip_displayed(self.milestoneID)
     25         return self.tooltipPanel
     26 
     27     def ConstructEncouragementSection(self):
     28         self.tooltipPanel.AddLabelMedium(text=GetByLabel('UI/Crimewatch/Timers/milestoneRewardTooltip', minutes=self.totalSeconds / 60.0), wrapWidth=200)
     29         self.tooltipPanel.AddSpacer(height=10)
     30         self.tooltipPanel.AddCaptionMedium(text=GetByLabel('UI/Milestones/MinutesLoggedIn', minutesPassed=self.secondsLeftFunc() / 60.0, totalMinutes=self.totalSeconds / 60.0), wrapWidth=200)
     31 
     32 
     33 class MilestoneRewardTooltip(TooltipBaseWrapper):
     34 
     35     def __init__(self, milestoneID, iskAmount, claimFunc, milestoneMinutes, *args, **kwargs):
     36         super(MilestoneRewardTooltip, self).__init__(*args, **kwargs)
     37         self.milestoneID = milestoneID
     38         self.iskAmount = iskAmount
     39         self.claimFunc = claimFunc
     40         self.milestoneMinutes = milestoneMinutes
     41 
     42     def CreateTooltip(self, parent, owner, idx):
     43         self.tooltipPanel = TooltipPanel(parent=parent, owner=owner, idx=idx)
     44         self.tooltipPanel.LoadGeneric1ColumnTemplate()
     45         self.tooltipPanel.SetState(uiconst.UI_NORMAL)
     46         self.tooltipPanel.margin = tooltipConst.TOOLTIP_MARGIN
     47         self.ConstructRewardClaimSection()
     48         MilestoneTimerMessenger(sm.GetService('publicGatewaySvc')).tooltip_displayed(self.milestoneID)
     49         return self.tooltipPanel
     50 
     51     def ConstructRewardClaimSection(self):
     52         self.tooltipPanel.AddCaptionLarge(text=GetByLabel('UI/Agency/Rewards'), wrapWidth=200, textAlign=uiconst.CENTER)
     53         self.tooltipPanel.AddSpacer(height=10)
     54         self.tooltipPanel.AddLabelMedium(text=GetByLabel('UI/Milestones/Congratulations', minutesPlayed=self.milestoneMinutes), wrapWidth=200)
     55         self.tooltipPanel.AddSpacer(height=10)
     56         self.tooltipPanel.AddCaptionSmall(text=GetByLabel('UI/Milestones/ClaimISK', amount=self.iskAmount), wrapWidth=200)
     57         self.tooltipPanel.AddSpacer(height=5)
     58         button = Button(name='claimMilestoneRewardButton', align=uiconst.CENTERLEFT, label=GetByLabel('UI/Seasons/ClaimReward'), func=self.claimFunc, analyticID='claimMilestoneRewardButton')
     59         self.tooltipPanel.AddCell(button, cellPadding=(0, 10, 0, 10))