dialogs/ForceVariableDialog.py
branchwxPython4
changeset 3303 0ffb41625592
parent 2513 1ee326651a74
child 3750 f62625418bff
equal deleted inserted replaced
3302:c89fc366bebd 3303:0ffb41625592
   187 
   187 
   188         self.IEC_Type = iec_type
   188         self.IEC_Type = iec_type
   189         info_sizer = wx.BoxSizer(wx.VERTICAL)
   189         info_sizer = wx.BoxSizer(wx.VERTICAL)
   190 
   190 
   191         message_label = wx.StaticText(self, label=_("Forcing Variable Value"))
   191         message_label = wx.StaticText(self, label=_("Forcing Variable Value"))
   192         info_sizer.AddWindow(message_label, border=10,
   192         info_sizer.Add(message_label, border=10,
   193                              flag=wx.ALIGN_LEFT | wx.GROW | wx.TOP | wx.LEFT | wx.RIGHT)
   193                              flag=wx.ALIGN_LEFT | wx.GROW | wx.TOP | wx.LEFT | wx.RIGHT)
   194 
   194 
   195         if GetTypeValue[self.IEC_Type] in [getinteger, getfloat]:
   195         if GetTypeValue[self.IEC_Type] in [getinteger, getfloat]:
   196             self.InitCtrlNumber(info_sizer, defaultValue)
   196             self.InitCtrlNumber(info_sizer, defaultValue)
   197         elif self.IEC_Type == "BOOL":
   197         elif self.IEC_Type == "BOOL":
   199         else:
   199         else:
   200             self.InitCtrlDefault(info_sizer, defaultValue)
   200             self.InitCtrlDefault(info_sizer, defaultValue)
   201         self.GetEnteredValue = self.GetValueDefault
   201         self.GetEnteredValue = self.GetValueDefault
   202 
   202 
   203         button_sizer = self.CreateButtonSizer(wx.OK | wx.CANCEL | wx.CENTRE)
   203         button_sizer = self.CreateButtonSizer(wx.OK | wx.CANCEL | wx.CENTRE)
   204         self.Bind(wx.EVT_BUTTON, self.OnOK, button_sizer.GetAffirmativeButton())
   204         self.Bind(wx.EVT_BUTTON, self.OnOK, id=self.GetAffirmativeId())
   205         info_sizer.AddSizer(button_sizer, border=10, flag=wx.ALIGN_RIGHT | wx.ALL)
   205         info_sizer.Add(button_sizer, border=10, flag=wx.ALIGN_RIGHT | wx.ALL)
   206 
   206 
   207         self.SetSizer(info_sizer)
   207         self.SetSizer(info_sizer)
   208         self.Fit()
   208         self.Fit()
   209         self.ValueCtrl.SetFocus()
   209         self.ValueCtrl.SetFocus()
   210 
   210 
   214 
   214 
   215     def InitCtrlDefault(self, info_sizer, defaultValue):
   215     def InitCtrlDefault(self, info_sizer, defaultValue):
   216         """Add simple text control to change variable of any type"""
   216         """Add simple text control to change variable of any type"""
   217         self.ValueCtrl = wx.TextCtrl(self)
   217         self.ValueCtrl = wx.TextCtrl(self)
   218         self.ValueCtrl.SetValue(defaultValue)
   218         self.ValueCtrl.SetValue(defaultValue)
   219         info_sizer.AddWindow(self.ValueCtrl, border=10, proportion=1,
   219         info_sizer.Add(self.ValueCtrl, border=10, proportion=1,
   220                              flag=wx.ALIGN_LEFT | wx.GROW | wx.TOP | wx.LEFT | wx.RIGHT)
   220                              flag=wx.ALIGN_LEFT | wx.GROW | wx.TOP | wx.LEFT | wx.RIGHT)
   221 
   221 
   222     def GetValueDefault(self):
   222     def GetValueDefault(self):
   223         """
   223         """
   224         Returns text representation for a variable value
   224         Returns text representation for a variable value
   233     def InitCtrlNumber(self, info_sizer, defaultValue):
   233     def InitCtrlNumber(self, info_sizer, defaultValue):
   234         """Add controls to change float and integer variables"""
   234         """Add controls to change float and integer variables"""
   235         sizer = wx.BoxSizer(wx.HORIZONTAL)
   235         sizer = wx.BoxSizer(wx.HORIZONTAL)
   236         self.InitCtrlDefault(sizer, defaultValue)
   236         self.InitCtrlDefault(sizer, defaultValue)
   237         self.SpinButtonCtrl = wx.SpinButton(self, style=wx.HORIZONTAL | wx.SP_WRAP)
   237         self.SpinButtonCtrl = wx.SpinButton(self, style=wx.HORIZONTAL | wx.SP_WRAP)
   238         sizer.AddWindow(self.SpinButtonCtrl, border=10,
   238         sizer.Add(self.SpinButtonCtrl, border=10,
   239                         flag=wx.ALIGN_LEFT | wx.GROW | wx.TOP | wx.LEFT | wx.RIGHT | wx.EXPAND)
   239                         flag=wx.ALIGN_LEFT | wx.GROW | wx.TOP | wx.LEFT | wx.RIGHT | wx.EXPAND)
   240         self.Bind(wx.EVT_SPIN_UP, self.SpinButtonChanged)
   240         self.Bind(wx.EVT_SPIN_UP, self.SpinButtonChanged)
   241         self.Bind(wx.EVT_SPIN_DOWN, self.SpinButtonChanged)
   241         self.Bind(wx.EVT_SPIN_DOWN, self.SpinButtonChanged)
   242         info_sizer.AddWindow(sizer, proportion=1, flag=wx.EXPAND)
   242         info_sizer.Add(sizer, proportion=1, flag=wx.EXPAND)
   243 
   243 
   244     def SpinButtonChanged(self, evt):
   244     def SpinButtonChanged(self, evt):
   245         """Increment/decrement variable value"""
   245         """Increment/decrement variable value"""
   246         value = self.GetValue()
   246         value = self.GetValue()
   247         if value is not None:
   247         if value is not None:
   259         self.ValueCtrl = wx.ToggleButton(self, label=_("Toggle value"))
   259         self.ValueCtrl = wx.ToggleButton(self, label=_("Toggle value"))
   260         value = GetTypeValue[self.IEC_Type](defaultValue)
   260         value = GetTypeValue[self.IEC_Type](defaultValue)
   261         if value is not None:
   261         if value is not None:
   262             self.ValueCtrl.SetValue(value)
   262             self.ValueCtrl.SetValue(value)
   263 
   263 
   264         info_sizer.AddWindow(self.ValueCtrl, border=10,
   264         info_sizer.Add(self.ValueCtrl, border=10,
   265                              flag=wx.ALIGN_LEFT | wx.GROW | wx.TOP | wx.LEFT | wx.RIGHT | wx.GROW)
   265                              flag=wx.ALIGN_LEFT | wx.GROW | wx.TOP | wx.LEFT | wx.RIGHT | wx.GROW)
   266 
   266 
   267     def OnOK(self, event):
   267     def OnOK(self, event):
   268         """
   268         """
   269         Checks new entered value
   269         Checks new entered value