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

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()