homefrontSiteInfoContainer.py (2926B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\agencyNew\ui\contentPageInfoConts\homefrontSiteInfoContainer.py 2 from carbonui import uiconst, TextColor 3 from carbonui.control.scrollContainer import ScrollContainer 4 from eve.client.script.ui.control.eveLabel import EveLabelMedium, EveHeaderLarge 5 from eve.client.script.ui.shared.agencyNew.ui.common.descriptionIcon import DescriptionIconLabel 6 from eve.client.script.ui.shared.agencyNew.ui.contentPageInfoConts.jobInfoContainer import JobContentPageInfoContainer 7 from localization import GetByLabel 8 from jobboard.client import get_homefront_operation_job 9 10 class HomefrontSiteInfoContainer(JobContentPageInfoContainer): 11 default_name = 'CombatAnomalyInfoContainer' 12 default_headerText = GetByLabel('UI/Agency/SitesInSystem') 13 __notifyevents__ = ['OnClientEvent_DestinationSet'] 14 15 def __init__(self, *args, **kwargs): 16 super(HomefrontSiteInfoContainer, self).__init__(*args, **kwargs) 17 sm.RegisterNotify(self) 18 19 def Close(self): 20 sm.UnregisterNotify(self) 21 super(HomefrontSiteInfoContainer, self).Close() 22 23 def OnClientEvent_DestinationSet(self, *args, **kwargs): 24 self.OnScrollEntryClicked(self.clickedEntry) 25 26 def ConstructLayout(self): 27 super(HomefrontSiteInfoContainer, self).ConstructLayout() 28 self.gameplayDescription = DescriptionIconLabel(parent=self, state=uiconst.UI_HIDDEN, align=uiconst.TOTOP, text=GetByLabel('UI/Dungeons/GameplayDescriptionHeader'), padTop=16) 29 self.bottomCont = ScrollContainer(parent=self, align=uiconst.TOALL, padTop=16) 30 self.loreDescriptionHeader = EveHeaderLarge(parent=self.bottomCont, state=uiconst.UI_HIDDEN, align=uiconst.TOTOP, text=GetByLabel('UI/Common/Description'), color=TextColor.SECONDARY) 31 self.loreDescriptionBody = EveLabelMedium(parent=self.bottomCont, align=uiconst.TOTOP, state=uiconst.UI_HIDDEN) 32 33 def OnScrollEntryClicked(self, clickedEntry): 34 super(HomefrontSiteInfoContainer, self).OnScrollEntryClicked(clickedEntry) 35 contentPiece = clickedEntry.contentPiece 36 loreDescription = contentPiece.GetSiteDescription() 37 if loreDescription: 38 self.loreDescriptionBody.text = loreDescription 39 self.loreDescriptionHeader.Show() 40 self.loreDescriptionBody.Show() 41 else: 42 self.loreDescriptionHeader.Hide() 43 self.loreDescriptionBody.Hide() 44 gameplayDescription = contentPiece.GetSiteGameplayDescription() 45 if gameplayDescription: 46 self.gameplayDescription.SetHint(gameplayDescription) 47 self.gameplayDescription.Show() 48 else: 49 self.gameplayDescription.Hide() 50 51 def GetEntryContentPieces(self): 52 return self.contentPiece.GetSiteContentPieces() 53 54 def _GetJob(self, instanceID): 55 return get_homefront_operation_job(instanceID)