personalWalletPanel.py (3916B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\neocom\wallet\panels\personal\personalWalletPanel.py 2 import uthread2 3 from carbonui import uiconst 4 from carbonui.primitives.container import Container 5 from eve.client.script.ui.shared.neocom.wallet import walletConst 6 from eve.client.script.ui.shared.neocom.wallet.panels.baseWalletPanel import BaseWalletPanel 7 from eve.client.script.ui.shared.neocom.wallet.panels.personal.evermarkPanel import EverMarkPanel 8 from eve.client.script.ui.shared.neocom.wallet.panels.personal.lpPanel import PersonalLPPanel 9 from eve.client.script.ui.shared.neocom.wallet.panels.personal.personalISKPanel import PersonalISKPanel 10 from eve.client.script.ui.shared.neocom.wallet.panels.personal.plex.main_panel import PlexPanel 11 from eve.client.script.ui.shared.neocom.wallet.tabs.evermarkTab import EverMarkTab 12 from eve.client.script.ui.shared.neocom.wallet.tabs.iskTab import IskTab 13 from eve.client.script.ui.shared.neocom.wallet.tabs.lpTab import LoyaltyPointsTab 14 from eve.client.script.ui.shared.neocom.wallet.tabs.plexTab import PlexTab 15 from eve.client.script.ui.shared.neocom.wallet.walletTabGroup import WalletTabGroup 16 from localization import GetByLabel 17 18 class PersonalWalletPanel(BaseWalletPanel): 19 default_name = 'PersonalWalletPanel' 20 21 def __init__(self, *args, **kwargs): 22 self.tabGroup = None 23 PlexTab.failed_to_load_plex_balance.connect(self._on_failed_to_load_plex_balance) 24 BaseWalletPanel.__init__(self, *args, **kwargs) 25 26 def Close(self): 27 PlexTab.failed_to_load_plex_balance.disconnect(self._on_failed_to_load_plex_balance) 28 super(PersonalWalletPanel, self).Close() 29 30 def ConstructLayout(self): 31 tabGroupParent = Container(name='tabGroupParent', parent=self, align=uiconst.TOTOP, height=76, idx=0) 32 self.tabGroup = WalletTabGroup(name='personalWalletTabGroup', parent=tabGroupParent, align=uiconst.TOALL, showLine=False, settingsID='personalWalletTabGroup', UIIDPrefix='PersonalWalletTab_') 33 34 def Load(self, *args): 35 if self.isInitialized: 36 return 37 self.ConstructPanels() 38 self.tabGroup.AddTab(GetByLabel('UI/Common/ISK'), self.iskPanel, self, walletConst.PANEL_PERSONALISK, tabClass=IskTab) 39 self.tabGroup.AddTab(GetByLabel('UI/Common/PLEX'), self.plexPanel, self, walletConst.PANEL_PLEX, tabClass=PlexTab) 40 self.tabGroup.tabAlign = uiconst.TOTOP_PROP 41 self.tabGroup.AddTab(GetByLabel('UI/Journal/JournalWindow/Agents/LoyaltyPoints'), self.lpPanel, self, walletConst.PANEL_LP, tabClass=LoyaltyPointsTab) 42 self.tabGroup.AddTab(GetByLabel('UI/Wallet/WalletWindow/EverMarks'), self.everMarkPanel, self, walletConst.PANEL_EVERMARKS, tabClass=EverMarkTab) 43 self.tabGroup.AutoSelect(useCallback=False) 44 self.isInitialized = True 45 46 def OnTabSelect(self): 47 self.Load() 48 49 def ConstructPanels(self): 50 self.iskPanel = PersonalISKPanel(parent=self.panelContainer, state=uiconst.UI_HIDDEN, top=16) 51 self.plexPanel = PlexPanel(parent=self.panelContainer, state=uiconst.UI_HIDDEN, top=16) 52 self.lpPanel = PersonalLPPanel(parent=self.panelContainer, state=uiconst.UI_HIDDEN, top=16) 53 self.everMarkPanel = EverMarkPanel(parent=self.panelContainer, state=uiconst.UI_HIDDEN, top=16) 54 55 def BlinkPanelByIDs(self, panelIDs): 56 if self.isInitialized: 57 for panelID in panelIDs: 58 self.tabGroup.BlinkPanelByID(panelID) 59 60 def SelectTab(self, panelID): 61 self.tabGroup.SelectByID(panelID) 62 63 def _on_failed_to_load_plex_balance(self): 64 if self.tabGroup: 65 plex_tab = self.tabGroup.GetTabByID(walletConst.PANEL_PLEX) 66 if plex_tab: 67 plex_tab.Disable() 68 plex_tab.pickState = uiconst.TR2_SPS_CHILDREN 69 self.tabGroup.SelectByID(walletConst.PANEL_PERSONALISK)