checkbox.py (2714B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\control\entries\checkbox.py 2 import carbonui.control.checkbox 3 import carbonui.control.radioButton 4 import uthread 5 from carbonui import uiconst 6 from eve.client.script.ui.control.entries.generic import Generic 7 from eve.client.script.ui.util import uix 8 9 class CheckboxEntry(Generic): 10 __guid__ = 'listentry.Checkbox' 11 __params__ = ['cfgname', 'retval'] 12 13 def Startup(self, *args): 14 Generic.Startup(self, args) 15 self.sr.label.top = 0 16 self.sr.label.SetAlign(uiconst.CENTERLEFT) 17 18 def Load(self, args): 19 Generic.Load(self, args) 20 data = self.sr.node 21 group = data.Get('group', None) 22 if group: 23 self.sr.checkbox = carbonui.control.radioButton.RadioButton(align=uiconst.CENTERLEFT, pos=(0, 0, 16, 16), state=uiconst.UI_DISABLED, callback=self.CheckBoxChange, parent=self, idx=0, groupname=group, retval=data.retval, checked=data.checked, settingsKey=data.cfgname) 24 else: 25 self.sr.checkbox = carbonui.control.checkbox.Checkbox(align=uiconst.CENTERLEFT, pos=(0, 0, 16, 16), state=uiconst.UI_DISABLED, callback=self.CheckBoxChange, parent=self, idx=0, checked=data.checked, settingsKey=data.cfgname) 26 self.sr.label.text = data.label 27 self.sr.label.tabs = data.get('tabs', []) 28 self.sr.checkbox.left = 4 + 16 * data.Get('sublevel', 0) 29 self.sr.label.left = 24 + 16 * data.Get('sublevel', 0) 30 self.sr.label.Update() 31 32 def CheckBoxChange(self, cb): 33 self.sr.node.checked = self.sr.checkbox.checked 34 self.sr.node.OnChange(cb, self.sr.node) 35 36 def GetHeight(self, *args): 37 node, width = args 38 height = CheckboxEntry.GetDynamicHeight(node, width) 39 node.height = height 40 return height 41 42 def OnCharSpace(self, enteredChar, *args): 43 uthread.pool('checkbox::OnChar', self.OnClick, self) 44 return 1 45 46 @staticmethod 47 def GetDynamicHeight(node, width): 48 height = max(19, uix.GetTextHeight(node.label, maxLines=1) + 4) 49 return height 50 51 def OnClick(self, *args): 52 self.sr.checkbox.OnClick(*args) 53 54 def OnMouseEnter(self, *args): 55 super(CheckboxEntry, self).OnMouseEnter(*args) 56 self.sr.checkbox.OnMouseEnter(*args) 57 58 def OnMouseExit(self, *args): 59 super(CheckboxEntry, self).OnMouseExit(*args) 60 self.sr.checkbox.OnMouseExit(*args) 61 62 def OnMouseDown(self, *args): 63 super(CheckboxEntry, self).OnMouseDown(*args) 64 self.sr.checkbox.OnMouseDown(*args) 65 66 def OnMouseUp(self, *args): 67 super(CheckboxEntry, self).OnMouseUp(*args) 68 self.sr.checkbox.OnMouseUp(*args)