editors/ConfTreeNodeEditor.py
branchsvghmi
changeset 3288 8f3cb4b47cbb
parent 2704 4ba3bdc7d71f
child 3291 7d0e7e4d88cd
equal deleted inserted replaced
3287:70a76083c59c 3288:8f3cb4b47cbb
   383                 sizer.AddSizer(staticboxsizer, border=5, flag=flags)
   383                 sizer.AddSizer(staticboxsizer, border=5, flag=flags)
   384                 self.GenerateSizerElements(staticboxsizer,
   384                 self.GenerateSizerElements(staticboxsizer,
   385                                            element_infos["children"],
   385                                            element_infos["children"],
   386                                            element_path)
   386                                            element_path)
   387             else:
   387             else:
   388                 boxsizer = wx.FlexGridSizer(cols=3, rows=1)
   388                 boxsizer = wx.FlexGridSizer(cols=4, rows=1)
   389                 boxsizer.AddGrowableCol(1)
   389                 boxsizer.AddGrowableCol(1)
   390                 flags = (wx.GROW | wx.BOTTOM | wx.LEFT | wx.RIGHT)
   390                 flags = (wx.GROW | wx.BOTTOM | wx.LEFT | wx.RIGHT)
   391                 if first:
   391                 if first:
   392                     flags |= wx.TOP
   392                     flags |= wx.TOP
   393                 sizer.AddSizer(boxsizer, border=5, flag=flags)
   393                 sizer.AddSizer(boxsizer, border=5, flag=flags)
   470                                   self.GetTextCtrlCallBackFunction(spinctrl, element_path),
   470                                   self.GetTextCtrlCallBackFunction(spinctrl, element_path),
   471                                   spinctrl)
   471                                   spinctrl)
   472 
   472 
   473                 else:
   473                 else:
   474                     if element_infos["type"] == "boolean":
   474                     if element_infos["type"] == "boolean":
   475                         checkbox = wx.CheckBox(self.ParamsEditor, size=wx.Size(17, 25))
   475                         checkbox = wx.CheckBox(self.ParamsEditor)
   476                         boxsizer.AddWindow(checkbox)
   476                         boxsizer.AddWindow(checkbox, border=5,
       
   477                                    flag=wx.ALIGN_CENTER_VERTICAL | wx.RIGHT)
   477                         if element_infos["value"] is not None:
   478                         if element_infos["value"] is not None:
   478                             checkbox.SetValue(element_infos["value"])
   479                             checkbox.SetValue(element_infos["value"])
   479                         checkbox.Bind(wx.EVT_CHECKBOX,
   480                         checkbox.Bind(wx.EVT_CHECKBOX,
   480                                       self.GetCheckBoxCallBackFunction(checkbox, element_path),
   481                                       self.GetCheckBoxCallBackFunction(checkbox, element_path),
   481                                       checkbox)
   482                                       checkbox)
   524                             textctrl.ChangeValue(str(element_infos["value"]))
   525                             textctrl.ChangeValue(str(element_infos["value"]))
   525                         callback = self.GetTextCtrlCallBackFunction(textctrl, element_path)
   526                         callback = self.GetTextCtrlCallBackFunction(textctrl, element_path)
   526                         textctrl.Bind(wx.EVT_TEXT_ENTER, callback)
   527                         textctrl.Bind(wx.EVT_TEXT_ENTER, callback)
   527                         textctrl.Bind(wx.EVT_TEXT, callback)
   528                         textctrl.Bind(wx.EVT_TEXT, callback)
   528                         textctrl.Bind(wx.EVT_KILL_FOCUS, callback)
   529                         textctrl.Bind(wx.EVT_KILL_FOCUS, callback)
       
   530 
       
   531                 if not isinstance(element_infos["type"], list) and element_infos["use"] == "optional":
       
   532                     bt = wx.BitmapButton(self.ParamsEditor, 
       
   533                         bitmap=wx.ArtProvider.GetBitmap(wx.ART_UNDO, wx.ART_TOOLBAR, (16,16)),
       
   534                         style=wx.BORDER_NONE)
       
   535                     self.Bind(wx.EVT_BUTTON, 
       
   536                               self.GetResetFunction(element_path),
       
   537                               bt)
       
   538 
       
   539                     boxsizer.AddWindow(bt)
   529             first = False
   540             first = False
   530         sizer.Layout()
   541         sizer.Layout()
   531         self.RefreshScrollbars()
   542         self.RefreshScrollbars()
   532 
   543 
   533     def GetItemChannelChangedFunction(self, dir):
   544     def GetItemChannelChangedFunction(self, dir):
   588                 wx.CallAfter(self.ParentWindow._Refresh, TITLE, FILEMENU, PROJECTTREE, PAGETITLES)
   599                 wx.CallAfter(self.ParentWindow._Refresh, TITLE, FILEMENU, PROJECTTREE, PAGETITLES)
   589                 wx.CallAfter(self.ParentWindow.SelectProjectTreeItem, self.GetTagName())
   600                 wx.CallAfter(self.ParentWindow.SelectProjectTreeItem, self.GetTagName())
   590             event.Skip()
   601             event.Skip()
   591         return OnTextCtrlChanged
   602         return OnTextCtrlChanged
   592 
   603 
       
   604     def GetResetFunction(self, path):
       
   605         def OnResetBt(event):
       
   606             res = self.SetConfNodeParamsAttribute(path, None)
       
   607             wx.CallAfter(self.RefreshView)
       
   608             event.Skip()
       
   609         return OnResetBt
       
   610 
   593     def GetCheckBoxCallBackFunction(self, chkbx, path):
   611     def GetCheckBoxCallBackFunction(self, chkbx, path):
   594         def OnCheckBoxChanged(event):
   612         def OnCheckBoxChanged(event):
   595             res = self.SetConfNodeParamsAttribute(path, chkbx.IsChecked())
   613             res = self.SetConfNodeParamsAttribute(path, chkbx.IsChecked())
   596             chkbx.SetValue(res)
   614             chkbx.SetValue(res)
   597             event.Skip()
   615             event.Skip()