--- a/WampOptionsEditor.py Wed Jun 02 16:11:04 2021 +0200
+++ b/WampOptionsEditor.py Tue Jun 08 08:23:31 2021 +0200
@@ -7,7 +7,7 @@
from collections import namedtuple
from OptionsParsing import ParseOptions, VARIABLETYPE, GenOptions, OptionsType
-[ID_OPTIONSWIZARDDIALOG,ID_ONCHANGE,ID_OPTIONSTYPECHOICE,ID_SUBGROUPTEXT,ID_UNITTEXT,ID_VALUECHECKBOX,ID_MINSPIN,ID_MAXSPIN,ID_PRECISIONSPIN, ID_INITIALSPIN,ID_SCADACHECKBOX,ID_OTHERTEXT,ID_DESCRIPTION,ID_STATIC] = [wx.NewId() for _init_ctrls in range(14)]
+[ID_OPTIONSWIZARDDIALOG,ID_ONCHANGE,ID_OPTIONSTYPECHOICE,ID_SUBGROUPTEXT,ID_UNITTEXT,ID_VALUECHECKBOX,ID_MINSPIN,ID_MAXSPIN,ID_PRECISIONSPIN, ID_INITIALSPIN,ID_SCADACHECKBOX,ID_DISABLECHECKBOX,ID_OTHERTEXT,ID_DESCRIPTION,ID_STATIC] = [wx.NewId() for _init_ctrls in range(15)] excluded_chars = [ord(i) for i in '\n"']
@@ -57,6 +57,10 @@
self.PropertySizer.AddWindow(wx.StaticText(self, wx.ID_ANY, _("Tags:")), flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT, border=15)
self.PropertySizer.AddWindow(self.Tags, flag=wx.GROW)
+ self.PropertySizer.AddWindow(self.DisableCheckbox, flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT, border=15) + self.PropertySizer.AddWindow(wx.StaticText(self, wx.ID_ANY, _("Disable display in xEye")), 1, flag=wx.GROW | wx.EXPAND) self.PropertySizer.AddGrowableCol(1, 1)
self.MainSizer.AddSizer(self.PropertySizer, flag=wx.GROW | wx.UP | wx.RIGHT, border=15)
self.ButtonSizer.AddWindow(self.ClearButton)
@@ -88,6 +92,7 @@
self.StaticCheckbox = wx.CheckBox(parent=self, id=ID_STATIC)
self.OtherText = wx.TextCtrl(parent=self, id=ID_OTHERTEXT)
self.Tags = wx.TextCtrl(parent=self, id=ID_DESCRIPTION, size=(-1, 100), style=wx.TE_MULTILINE|wx.SUNKEN_BORDER)
+ self.DisableCheckbox = wx.CheckBox(parent=self, id=ID_DISABLECHECKBOX) self.ClearButton = wx.Button(self, wx.ID_CLEAR, _("Clear"))
self.ButtonSizer = self.CreateButtonSizer(wx.OK|wx.CANCEL)
self.ValueCheckbox.Bind(wx.EVT_CHECKBOX, self.EnableValue)
@@ -95,6 +100,7 @@
self.OtherText.Enable(False)
self.UnitText.Enable(False)
self.ScadaCheckbox.Enable(False)
+ self.DisableCheckbox.Enable(False) self.SubgroupText.Enable(False)
self.ValueCheckbox.Enable(False)
self.MinSpin.Enable(False)
@@ -105,6 +111,7 @@
self.Bind(wx.EVT_CHOICE, self.Enabler, self.OptionsTypeChoice)
self.Bind(wx.EVT_BUTTON, self.clearOptions, self.ClearButton)
self.Bind(wx.EVT_CHECKBOX, self.Enabler, self.ScadaCheckbox)
+ self.Bind(wx.EVT_CHECKBOX, self.Enabler, self.DisableCheckbox) @@ -124,6 +131,7 @@
elif self.OptionsTypeChoice.GetSelection() in [1,3]:
self.ScadaCheckbox.Enable(True)
self.OtherText.Enable(True)
+ self.DisableCheckbox.Enable(True) self.SubgroupText.Enable(True)
self.UnitText.Enable(True)
self.OnChangeCheckbox.Enable(True)
@@ -132,6 +140,7 @@
self.ScadaCheckbox.Enable(True)
self.OtherText.Enable(True)
+ self.DisableCheckbox.Enable(True) self.SubgroupText.Enable(True)
self.UnitText.Enable(True)
self.OnChangeCheckbox.SetValue(False)
@@ -160,6 +169,7 @@
self.ScadaCheckbox.SetValue(False)
self.StaticCheckbox.SetValue(False)
self.OtherText.SetValue("")
+ self.DisableCheckbox.SetValue(False) self.MinSpin.Enable(False)
self.MaxSpin.Enable(False)
self.StaticCheckbox.Enable(False)
@@ -168,6 +178,7 @@
self.OnChangeCheckbox.Enable(False)
self.OtherText.Enable(False)
+ self.DisableCheckbox.Enable(False) self.SubgroupText.Enable(False)
self.UnitText.Enable(False)
self.ScadaCheckbox.Enable(False)
@@ -195,6 +206,7 @@
self.OnChangeCheckbox.SetValue(res.is_onchange)
self.ScadaCheckbox.SetValue(res.is_scada)
self.StaticCheckbox.SetValue(res.is_static)
+ self.DisableCheckbox.SetValue(res.disable) self.StaticCheckbox.Enable(
res.is_static or (res.variable_type_selection == 3 and res.is_scada))
@@ -226,6 +238,7 @@
opts.is_onchange = self.OnChangeCheckbox.GetValue()
opts.is_scada = self.ScadaCheckbox.GetValue()
opts.is_static = self.StaticCheckbox.GetValue()
+ opts.disable = self.DisableCheckbox.GetValue() if self.MinSpin.IsEnabled():
opts.min = self.MinSpin.GetValue()