deltaContainer.py (2910B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\market\deltaContainer.py 2 from carbon.common.script.util.format import FmtAmt 3 from carbonui import const as uiconst 4 from carbonui.primitives.containerAutoSize import ContainerAutoSize 5 from carbonui.util.color import Color 6 from eve.client.script.ui.control.eveLabel import EveLabelSmall 7 from eve.client.script.ui.control.glowSprite import GlowSprite 8 from localization import GetByLabel 9 10 class DeltaContainer(ContainerAutoSize): 11 default_state = uiconst.UI_NORMAL 12 default_height = 20 13 upArrow = 'res:/UI/Texture/classes/MultiSell/up.png' 14 downArrow = 'res:/UI/Texture/classes/MultiSell/down.png' 15 equalSprite = 'res:/UI/Texture/classes/MultiSell/equal.png' 16 belowColor = '<color=0xffff5050>' 17 aboveColor = '<color=0xff00ff00>' 18 19 def ApplyAttributes(self, attributes): 20 super(DeltaContainer, self).ApplyAttributes(attributes) 21 delta = attributes.delta 22 self.func = attributes.func 23 self.icon = GlowSprite(name='icon', parent=self, align=uiconst.CENTERRIGHT, width=16, height=16, state=uiconst.UI_DISABLED, color=Color.WHITE) 24 self.deltaText = EveLabelSmall(parent=self, align=uiconst.CENTERRIGHT, left=20) 25 self.UpdateDelta(delta) 26 27 def OnClick(self): 28 self.func() 29 30 def OnMouseEnter(self, *args): 31 self.icon.OnMouseEnter() 32 33 def OnMouseExit(self, *args): 34 self.icon.OnMouseExit() 35 36 def UpdateDelta(self, delta): 37 deltaText = self.GetDeltaText(delta) 38 if delta > 0: 39 self.deltaText.text = deltaText 40 self.deltaText.align = uiconst.BOTTOMRIGHT 41 texturePath = self.upArrow 42 elif delta < 0: 43 self.deltaText.text = deltaText 44 self.deltaText.align = uiconst.TOPRIGHT 45 texturePath = self.downArrow 46 else: 47 self.deltaText.text = '' 48 texturePath = self.equalSprite 49 self.icon.SetTexturePath(texturePath) 50 51 def GetDeltaText(self, delta): 52 if delta < 0: 53 color = self.belowColor 54 else: 55 color = self.aboveColor 56 if abs(delta) < 1.0: 57 showFraction = 1 58 else: 59 showFraction = 0 60 deltaText = '%s%s</color>' % (color, GetByLabel('UI/Common/Percentage', percentage=FmtAmt(delta * 100, showFraction=showFraction))) 61 return deltaText 62 63 64 class BuyDeltaContainer(DeltaContainer): 65 upArrow = 'res:/UI/Texture/classes/MultiSell/upBuy.png' 66 downArrow = 'res:/UI/Texture/classes/MultiSell/downBuy.png' 67 belowColor = '<color=0xff00ff00>' 68 aboveColor = '<color=0xffff5050>' 69 70 71 class SellDeltaContainer(DeltaContainer): 72 upArrow = 'res:/UI/Texture/classes/MultiSell/up.png' 73 downArrow = 'res:/UI/Texture/classes/MultiSell/down.png' 74 belowColor = '<color=0xffff5050>' 75 aboveColor = '<color=0xff00ff00>'