trainingOverviewPanel.py (4168B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\skillPlan\trainingOverviewPanel\trainingOverviewPanel.py 2 import eve.client.script.ui.shared.pointerTool.pointerToolConst as pConst 3 import eveicon 4 import uthread2 5 from carbonui import uiconst 6 from carbonui.control.button import Button 7 from carbonui.primitives.container import Container 8 from carbonui.uianimations import animations 9 from eve.client.script.ui.skillPlan import skillPlanUISignals 10 from eve.client.script.ui.skillPlan.controls.milestoneIndicatorHeader import MilestoneIndicatorHeader 11 from eve.client.script.ui.skillPlan.milestone.skillPlanProgressIndicator import SkillPlanProgressIndicator 12 from eve.client.script.ui.skillPlan.skillQueuePanel.skillQueuePanelNew import SkillQueuePanelNew 13 from localization import GetByLabel 14 from player_messaging.client.ui_message import prompt_player_fsd_dialog 15 from skills.skillplan import skillPlanSignals 16 from skills.skillplan.skillPlanService import GetSkillPlanSvc 17 18 class TrainingOverviewPanel(Container): 19 20 def ApplyAttributes(self, attributes): 21 super(TrainingOverviewPanel, self).ApplyAttributes(attributes) 22 self.skillPlan = None 23 skillPlanSignals.on_tracked_plan_changed.connect(self.OnTrackedPlanChanged) 24 skillPlanSignals.on_deleted.connect(self.OnSkillPlanDeleted) 25 self.trackedCont = Container(name='trackedCont', parent=self, align=uiconst.TOTOP_PROP, height=0.4) 26 self.skillPlanProgressIndicator = None 27 self.skillQueue = SkillQueuePanelNew(parent=self, align=uiconst.TOALL, uniqueUiName=pConst.UNIQUE_NAME_SKILLQUEUE) 28 uthread2.start_tasklet(self.InitializeTrackedPlan) 29 30 def OnSkillPlanDeleted(self, skillPlanID): 31 if self.skillPlan and self.skillPlan.GetID() == skillPlanID: 32 self.SetSkillPlan(None) 33 34 def InitializeTrackedPlan(self): 35 skillPlan = GetSkillPlanSvc().GetTrackedSkillPlan() 36 if skillPlan: 37 self.trackedCont.Show() 38 uthread2.start_tasklet(self.SetSkillPlan, skillPlan) 39 else: 40 self.trackedCont.Hide() 41 42 def CheckConstructTrackedCont(self): 43 if not self.skillPlanProgressIndicator: 44 self.headerCont = MilestoneIndicatorHeader(parent=self.trackedCont, align=uiconst.TOTOP, captionText=GetByLabel('UI/SkillPlan/TrackedSkillPlan'), highlightNotInTraining=True) 45 self.headerCont.OnClick = self.OnSkillPlanNameClicked 46 untrackButtonCont = Container(parent=self.trackedCont, name='untrackButtonCont', align=uiconst.TOBOTTOM, height=36, padBottom=4) 47 self.untrackButton = Button(name='untrackButton', parent=untrackButtonCont, align=uiconst.CENTER, texturePath=eveicon.camera_untrack, iconSize=20, hint=GetByLabel('UI/SkillPlan/UntrackPlanHint'), func=self._OnUntrackButtonClicked) 48 self.skillPlanProgressIndicator = SkillPlanProgressIndicator(parent=self.trackedCont, align=uiconst.TOALL, highlightNotInTraining=True, tooltipDirection=uiconst.POINT_LEFT_2, padBottom=10) 49 50 def _OnUntrackButtonClicked(self, *args): 51 if self.skillPlan: 52 if GetSkillPlanSvc().IsSkillPlanTracked(self.skillPlan.GetID()): 53 if prompt_player_fsd_dialog('AskUntrackPlan', {}, uiconst.YESNO, suppress=uiconst.ID_YES) == uiconst.ID_YES: 54 GetSkillPlanSvc().SetTrackedSkillPlanID(None) 55 56 def OnSkillPlanNameClicked(self, *args): 57 if self.skillPlan: 58 skillPlanUISignals.on_selected(self.skillPlan) 59 60 def OnTrackedPlanChanged(self, _, skillPlan): 61 if self.destroyed: 62 return 63 self.SetSkillPlan(skillPlan) 64 animations.FadeTo(self.trackedCont, 0.0, 1.0, duration=0.6) 65 66 def SetSkillPlan(self, skillPlan): 67 self.skillPlan = skillPlan 68 if skillPlan is not None: 69 self.CheckConstructTrackedCont() 70 self.trackedCont.Show() 71 self.skillPlanProgressIndicator.SetSkillPlan(skillPlan) 72 self.headerCont.SetSkillPlanName(skillPlan.GetName()) 73 elif self.trackedCont: 74 self.trackedCont.Hide() 75 self.skillPlanProgressIndicator.ClearSkillPlan()