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

progress.py (2182B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\achievement_system\client\ui\window\card\components\progress.py
      2 import threadutils
      3 from carbonui import Align, TextColor, uiconst
      4 from carbonui.primitives.container import Container
      5 from carbonui.primitives.containerAutoSize import ContainerAutoSize
      6 from carbonui.text.styles import TextDetail, TextBody
      7 from eve.client.script.ui.control.gauge import Gauge
      8 from localization import GetByLabel
      9 
     10 class AchievementProgressHover(ContainerAutoSize):
     11     label_container_height = 16
     12     label_class = TextDetail
     13 
     14     def __init__(self, controller, *args, **kwargs):
     15         super(AchievementProgressHover, self).__init__(*args, **kwargs)
     16         self.controller = controller
     17         self.construct_layout()
     18         self.update()
     19 
     20     def construct_layout(self):
     21         label_container = Container(name='label_container', parent=self, align=Align.TOTOP, height=self.label_container_height)
     22         self.title_label = self.label_class(name='title_label', parent=label_container, align=Align.TOLEFT, text=GetByLabel('UI/Common/Progress'), color=TextColor.SECONDARY)
     23         self.score_label = self.label_class(name='score_label', parent=label_container, align=Align.TOLEFT, state=uiconst.UI_NORMAL, padLeft=4)
     24         self.gauge = Gauge(name='gauge', parent=self, align=Align.TOTOP, gaugeHeight=4, padTop=4)
     25 
     26     @threadutils.highlander_threaded
     27     def update(self):
     28         self.update_color()
     29         self.update_value()
     30 
     31     def update_color(self):
     32         self.gauge.SetColor(self.controller.milestone_progress_bar_color)
     33 
     34     def update_value(self):
     35         self.score_label.text = '(%s)' % self.controller.progress_score_text_for_selected_milestone
     36         self.score_label.hint = self.controller.progress_score_hint_for_selected_milestone
     37         self.gauge.SetValue(self.controller.percent_progress_towards_selected_milestone, animate=False)
     38 
     39     def OnColorThemeChanged(self):
     40         super(AchievementProgressHover, self).OnColorThemeChanged()
     41         self.update_color()
     42 
     43 
     44 class AchievementProgressExpanded(AchievementProgressHover):
     45     label_container_height = 20
     46     label_class = TextBody