singleLineEditMarketPrice.py (2339B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\market\singleLineEditMarketPrice.py 2 from carbonui.control.singlelineedits.singleLineEditFloat import SingleLineEditFloat 3 from marketutil import ticks 4 from marketutil.const import MAX_ORDER_PRICE 5 from qtyTooltip.qtyConst import EDIT_INPUT_TYPE_ISK 6 7 class SingleLineEditMarketPrice(SingleLineEditFloat): 8 default_inputType = EDIT_INPUT_TYPE_ISK 9 default_setvalue = ticks.ISK_MINIMUM_DIVISION 10 default_minValue = ticks.ISK_MINIMUM_DIVISION 11 default_maxValue = MAX_ORDER_PRICE 12 default_decimalPlaces = 2 13 default_isBuy = False 14 _isTickActivated = True 15 16 def ApplyAttributes(self, attributes): 17 self._isBuy = attributes.get('isBuy', self.default_isBuy) 18 self._isTickActivated = attributes.get('isTickActivated', True) 19 super(SingleLineEditMarketPrice, self).ApplyAttributes(attributes) 20 21 def DeactivateTickAlignment(self): 22 self._isTickActivated = False 23 24 def ActivateTickAlignment(self): 25 self._isTickActivated = True 26 self._RoundToTick() 27 28 def _RoundToTick(self): 29 if not self._isTickActivated: 30 return 31 currentValue = self.GetValue() 32 if currentValue <= ticks.ISK_MINIMUM_DIVISION: 33 self.SetValue(ticks.ISK_MINIMUM_DIVISION) 34 elif not ticks.is_tick(currentValue): 35 if self._isBuy: 36 newValue = ticks.decrement_to_next_tick(currentValue) 37 else: 38 newValue = ticks.increment_to_next_tick(currentValue) 39 self.SetValue(newValue) 40 41 def OnKillFocus(self, *args): 42 self._RoundToTick() 43 super(SingleLineEditMarketPrice, self).OnKillFocus(*args) 44 45 def ChangeNumericValue(self, val): 46 if self._isTickActivated: 47 if val > 0: 48 currentValue = self.GetValue() 49 newValue = ticks.increment_to_next_tick(currentValue) 50 self.SetValue(newValue) 51 elif val < 0: 52 currentValue = self.GetValue() 53 if currentValue > ticks.ISK_MINIMUM_DIVISION: 54 newValue = ticks.decrement_to_next_tick(currentValue) 55 self.SetValue(newValue) 56 else: 57 super(SingleLineEditMarketPrice, self).ChangeNumericValue(val)