stanceButtons.py (1317B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\inflight\stanceButtons.py 2 import carbonui.const as uiconst 3 from carbonui.primitives.container import Container 4 from eve.client.script.ui.inflight import shipstance 5 from eve.client.script.ui.inflight.ship_stance_button import ShipStanceButton 6 7 class StanceButtons(Container): 8 9 def ApplyAttributes(self, attributes): 10 self._heightOffset = 32 11 Container.ApplyAttributes(self, attributes) 12 self.buttonSize = attributes.buttonSize 13 self.shipStanceButtons = [] 14 15 def HasStances(self): 16 return bool(self.shipStanceButtons) 17 18 def UpdateButtonsForShip(self, shipID, typeID): 19 self._RemoveStanceButtons() 20 self._AddStanceButtons(shipID, typeID) 21 22 def _AddStanceButtons(self, shipID, typeID): 23 for idx, kwargs in enumerate(shipstance.get_ship_stance_buttons_args(typeID, shipID)): 24 self.shipStanceButtons.append(ShipStanceButton(parent=self, shipID=shipID, typeID=typeID, left=(10 * (idx % 2)), top=(40 * idx), width=self.buttonSize, height=self.buttonSize, align=uiconst.TOPLEFT, **kwargs)) 25 26 def _RemoveStanceButtons(self): 27 for stanceButton in self.shipStanceButtons: 28 stanceButton.Close() 29 30 self.shipStanceButtons = []