edit.py (2928B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\control\entries\edit.py 2 import logging 3 from carbonui import Density, uiconst 4 from carbonui.control.scrollentries import SE_BaseClassCore 5 from carbonui.control.singlelineedits.singleLineEditFloat import SingleLineEditFloat 6 from carbonui.control.singlelineedits.singleLineEditInteger import SingleLineEditInteger 7 from carbonui.control.singlelineedits.singleLineEditText import SingleLineEditText 8 from carbonui.primitives.container import Container 9 from eve.client.script.ui.control.eveLabel import EveLabelSmall 10 from eve.client.script.ui.util import uix 11 log = logging.getLogger(__name__) 12 13 class EditEntry(SE_BaseClassCore): 14 __guid__ = 'listentry.Edit' 15 __params__ = ['label'] 16 default_showHilite = False 17 18 def Startup(self, args): 19 Container(name='push', parent=self, height=3, align=uiconst.TOTOP) 20 Container(name='push', parent=self, width=128, align=uiconst.TOLEFT) 21 Container(name='push', parent=self, width=3, align=uiconst.TORIGHT) 22 self.sr.label = EveLabelSmall(text='', parent=self, left=8, top=5, width=112, state=uiconst.UI_DISABLED) 23 self.sr.edit = SingleLineEditText(name='textEdit', parent=self, align=uiconst.TOTOP, density=Density.COMPACT) 24 25 def Load(self, node): 26 self.sr.node = node 27 self.sr.label.text = self.sr.node.label 28 if self.sr.node.Get('lines', 1) != 1: 29 log.error('listentry.Edit is not multi line') 30 if self.sr.node.Get('intmode', 0): 31 minInt, maxInt = self.sr.node.intmode 32 self.sr.edit.Close() 33 self.sr.edit = SingleLineEditInteger(name='intEdit', parent=self, align=uiconst.TOTOP, minValue=minInt, maxValue=maxInt) 34 elif self.sr.node.Get('floatmode', 0): 35 minFloat, maxFloat = self.sr.node.floatmode 36 self.sr.edit.Close() 37 self.sr.edit = SingleLineEditFloat(name='floatEdit', parent=self, align=uiconst.TOTOP, minValue=minFloat, maxValue=maxFloat) 38 if self.sr.node.Get('setValue', None) is None: 39 self.sr.node.setValue = '' 40 if self.sr.node.Get('hintText', None): 41 self.sr.edit.SetHintText(self.sr.node.hintText) 42 self.sr.edit.SetValue(self.sr.node.setValue) 43 if self.sr.node.Get('maxLength', None): 44 self.sr.edit.SetMaxLength(self.sr.node.maxLength) 45 if self.sr.node.Get('name', ''): 46 self.sr.edit.name = self.sr.node.name 47 self.sr.edit.OnChange = self.OnChange 48 self.sr.node.GetValue = self.sr.edit.GetValue 49 50 def OnChange(self, *args): 51 if self is not None and not self.destroyed and self.sr.node is not None: 52 self.sr.node.setValue = self.sr.edit.GetValue() 53 54 def GetHeight(self, *args): 55 node, width = args 56 node.height = max(22, uix.GetTextHeight(node.label, width=112)) + 6 57 return node.height