singleLineEditInteger.py (2391B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\carbonui\control\singlelineedits\singleLineEditInteger.py 2 import numbers 3 from carbon.common.script.util.commonutils import StripTags 4 from carbonui import uiconst 5 from carbonui.control.singlelineedits.baseSingleLineEditNumber import BaseSingleLineEditNumbers 6 from carbonui.uicore import uicore 7 from eve.common.lib import appConst 8 from qtyTooltip.qtyConst import EDIT_INPUT_TYPE_INT 9 from qtyTooltip.tooltip import LoadTooltipForNumber 10 11 class SingleLineEditInteger(BaseSingleLineEditNumbers): 12 default_name = 'SingleLineEditInteger' 13 default_minValue = 0 14 default_maxValue = appConst.maxInt 15 default_legalCharacters = '-0123456789' 16 default_dataType = int 17 18 def SetText(self, text, format = True): 19 if isinstance(text, numbers.Integral): 20 text = u'{0:d}'.format(text) 21 elif not isinstance(text, basestring): 22 text = repr(self.dataType(text)) 23 if text.lower() == 'l': 24 text = '' 25 text = StripTags(text, stripOnly=['localized']) 26 displayText = text 27 if format: 28 displayText = self.FormatNumeric(text) 29 text = self.StripLeadingZeroesIfNecessary(text) 30 displayText = self.SanitizeText(displayText) 31 self.textLabel.SetText(displayText) 32 self.text = text 33 34 def LoadTooltipPanel(self, tooltipPanel, *args): 35 if not self.text or self.text == '-': 36 return 37 return LoadTooltipForNumber(tooltipPanel, self.hint, self.dataType(self.text), EDIT_INPUT_TYPE_INT) 38 39 def ChangeNumericValue(self, val): 40 if uicore.uilib.Key(uiconst.VK_CONTROL): 41 val *= 10 42 if val > 0: 43 val = max(1, self.dataType(val)) 44 else: 45 val = min(-1, self.dataType(val)) 46 super(SingleLineEditInteger, self).ChangeNumericValue(val) 47 48 def Paste(self, paste, deleteStart = None, deleteEnd = None, forceFocus = False): 49 if '.' in paste: 50 paste = self.dataType(round(float(paste.replace(self.GetLocalizedThousandSeparator(), '')))) 51 super(SingleLineEditInteger, self).Paste(str(paste), deleteStart, deleteEnd, forceFocus) 52 53 def SetMaxValue(self, newMaxValue): 54 if type(newMaxValue) == long: 55 self.dataType = long 56 super(SingleLineEditInteger, self).SetMaxValue(newMaxValue)