cleanShipButton.py (1612B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\fitting\cleanShipButton.py 2 from __future__ import print_function 3 from carbonui.primitives.container import Container 4 from carbonui.primitives.containerAutoSize import ContainerAutoSize 5 from carbonui.control.button import Button 6 from carbonui import const as uiconst 7 from eve.common.script.net import eveMoniker 8 from localization import GetByLabel 9 from eve.client.script.ui.view.viewStateConst import ViewState 10 11 class CleanShipButton(ContainerAutoSize): 12 default_padding = 8 13 14 def ApplyAttributes(self, attributes): 15 Container.ApplyAttributes(self, attributes) 16 self.controller = attributes.controller 17 self.AddButton() 18 19 def AddButton(self): 20 self.cleanButton = Button(label=GetByLabel('UI/Fitting/FittingWindow/CleanShip'), parent=self, align=uiconst.CENTER, func=self.CleanShip, soundClick='fitting_window_clean_ship_play') 21 22 def CleanShip(self, *args): 23 shipID = self.controller.GetItemID() 24 newDirtTimestamp = eveMoniker.GetShipAccess().ResetDirtTimestamp(shipID) 25 hangar_view = sm.GetService('viewState').GetView(ViewState.Hangar) 26 if hangar_view is not None: 27 hangar_view.OnDirtLevelChanged(shipID) 28 print('Ship cleaned! New dirt timestamp for ship %s is %s' % (shipID, newDirtTimestamp)) 29 30 def Close(self): 31 self.controller = None 32 Container.Close(self) 33 34 def Enable(self, *args): 35 return self.cleanButton.Enable() 36 37 def Disable(self, *args): 38 return self.cleanButton.Disable()