buyerFee.py (3727B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\cosmetics\ship\controls\buyerFee.py 2 from carbonui import Align, TextColor, uiconst 3 from carbonui.text.styles import TextHeader, TextBody 4 from carbonui.primitives.container import Container 5 from carbonui.primitives.containerAutoSize import ContainerAutoSize 6 from carbonui.primitives.fill import Fill 7 from eve.client.script.ui import eveColor 8 from eve.client.script.ui.control.infoIcon import InfoIcon 9 from eve.client.script.ui.control.itemIcon import ItemIcon 10 from eve.client.script.ui.control.tooltips import TooltipPanel 11 from eve.common.script.util.eveFormat import FmtAmt 12 from inventorycommon.const import typeLoyaltyPointsHeraldry 13 from localization import GetByLabel 14 15 class BuyerFee(ContainerAutoSize): 16 default_display = False 17 default_alignMode = Align.TOTOP 18 19 def __init__(self, *args, **kwargs): 20 super(BuyerFee, self).__init__(*args, **kwargs) 21 self._amount = None 22 self.construct_layout() 23 24 def construct_layout(self): 25 self.construct_header() 26 self.construct_fee() 27 28 def construct_header(self): 29 title_container = Container(name='title_container', parent=self, align=Align.TOTOP, height=26) 30 TextHeader(name='title_label', parent=title_container, align=Align.TOLEFT, text=GetByLabel('UI/Personalization/ShipSkins/SKINR/BrandManagerListing'), color=eveColor.SUCCESS_GREEN) 31 HeaderInfoIcon(name='info_icon', parent=ContainerAutoSize(parent=title_container, align=Align.TOLEFT, padLeft=4), align=Align.CENTERLEFT) 32 33 def construct_fee(self): 34 self.fee_container = ContainerAutoSize(name='fee_container', parent=self, align=Align.TOTOP, alignMode=uiconst.TOTOP) 35 self.construct_amount_container() 36 TextBody(name='subheader_label', parent=self.fee_container, align=Align.TOTOP, text=self.subheader_label_text, padding=(0, 4, 0, 4)) 37 38 def construct_amount_container(self): 39 amount_container = ContainerAutoSize(name='amount_container', parent=self.fee_container, align=Align.TOPRIGHT, alignMode=Align.CENTERRIGHT, state=uiconst.UI_NORMAL, hint=GetByLabel('UI/Personalization/ShipSkins/SKINR/BuyersFeeHint')) 40 Fill(bgParent=self.fee_container, color=eveColor.SUCCESS_GREEN, opacity=0.2) 41 ItemIcon(name='evermark_icon', parent=amount_container, align=uiconst.CENTERLEFT, width=16, height=16, typeID=typeLoyaltyPointsHeraldry) 42 self.amount_label = TextBody(name='amount_label', parent=amount_container, align=Align.CENTERRIGHT, color=TextColor.SECONDARY, padding=(20, 4, 0, 4)) 43 44 def update(self): 45 self.display = self.amount is not None and self.amount > 0 46 self.amount_label.text = None if self.amount is None else FmtAmt(self.amount) 47 48 @property 49 def subheader_label_text(self): 50 return GetByLabel('UI/Personalization/ShipSkins/SKINR/BrandManagerListingDescription') 51 52 @property 53 def amount(self): 54 return self._amount 55 56 @amount.setter 57 def amount(self, value): 58 self._amount = value 59 self.update() 60 61 62 class HeaderInfoIcon(InfoIcon): 63 64 def ConstructTooltipPanel(self): 65 return HeaderTooltipPanel() 66 67 68 class HeaderTooltipPanel(TooltipPanel): 69 70 def __init__(self, **kw): 71 super(HeaderTooltipPanel, self).__init__(**kw) 72 self.LoadStandardSpacing() 73 self.AddCell(TextBody(text=GetByLabel('UI/Personalization/ShipSkins/SKINR/BrandManagerListingInfo'), width=300), colSpan=2) 74 75 76 class SellSKINBuyerFee(BuyerFee): 77 pass 78 79 80 class BuySKINBuyerFee(BuyerFee): 81 default_height = 60 82 83 @property 84 def subheader_label_text(self): 85 return GetByLabel('UI/Personalization/ShipSkins/SKINR/BuyerEverMarkFee')