ConfTreeNodeEditor.py
changeset 775 172be32a2482
parent 767 36e823a90d94
child 781 cdc6393705ce
equal deleted inserted replaced
774:78b5fa92dd1c 775:172be32a2482
   143         if self._bitmap:
   143         if self._bitmap:
   144             dc.DrawBitmap(self._bitmap, 0, 0, True)
   144             dc.DrawBitmap(self._bitmap, 0, 0, True)
   145 
   145 
   146 class ConfTreeNodeEditor(EditorPanel):
   146 class ConfTreeNodeEditor(EditorPanel):
   147     
   147     
   148     HAS_BASE_PARAMS = True
   148     SHOW_BASE_PARAMS = True
   149     SHOW_PARAMS = True
   149     SHOW_PARAMS = True
   150     
   150     
   151     def _init_ConfNodeEditor(self, prnt):
   151     def _init_ConfNodeEditor(self, prnt):
   152         self.ConfNodeEditor = None
   152         self.ConfNodeEditor = None
   153     
   153     
   165             self.ParamsEditor.Bind(wx.EVT_MOUSEWHEEL, self.OnMouseWheel)
   165             self.ParamsEditor.Bind(wx.EVT_MOUSEWHEEL, self.OnMouseWheel)
   166             
   166             
   167             # Variable allowing disabling of ParamsEditor scroll when Popup shown 
   167             # Variable allowing disabling of ParamsEditor scroll when Popup shown 
   168             self.ScrollingEnabled = True
   168             self.ScrollingEnabled = True
   169             
   169             
   170             self.ParamsEditorSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=5)
   170             if self.SHOW_BASE_PARAMS:
   171             self.ParamsEditorSizer.AddGrowableCol(0)
   171                 self.ParamsEditorSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=5)
   172             self.ParamsEditorSizer.AddGrowableRow(1)
   172                 self.ParamsEditorSizer.AddGrowableCol(0)
   173             
   173                 self.ParamsEditorSizer.AddGrowableRow(1)
   174             self.ParamsEditor.SetSizer(self.ParamsEditorSizer)
   174                 
   175             
   175                 self.ParamsEditor.SetSizer(self.ParamsEditorSizer)
   176             baseparamseditor_sizer = wx.BoxSizer(wx.HORIZONTAL)
   176                 
   177             self.ParamsEditorSizer.AddSizer(baseparamseditor_sizer, 0, border=5, 
   177                 baseparamseditor_sizer = wx.BoxSizer(wx.HORIZONTAL)
   178                                             flag=wx.GROW|wx.LEFT|wx.RIGHT|wx.TOP)
   178                 self.ParamsEditorSizer.AddSizer(baseparamseditor_sizer, 0, border=5, 
   179             
   179                                                 flag=wx.GROW|wx.LEFT|wx.RIGHT|wx.TOP)
   180             self.FullIECChannel = wx.StaticText(self.ParamsEditor, -1)
   180                 
   181             self.FullIECChannel.SetFont(
   181                 self.FullIECChannel = wx.StaticText(self.ParamsEditor, -1)
   182                 wx.Font(faces["size"], wx.DEFAULT, wx.NORMAL, 
   182                 self.FullIECChannel.SetFont(
   183                         wx.BOLD, faceName = faces["helv"]))
   183                     wx.Font(faces["size"], wx.DEFAULT, wx.NORMAL, 
   184             baseparamseditor_sizer.AddWindow(self.FullIECChannel, 0, border=0, flag=wx.ALIGN_CENTER_VERTICAL)
   184                             wx.BOLD, faceName = faces["helv"]))
   185             
   185                 baseparamseditor_sizer.AddWindow(self.FullIECChannel, 0, border=0, flag=wx.ALIGN_CENTER_VERTICAL)
   186             updownsizer = wx.BoxSizer(wx.VERTICAL)
   186                 
   187             baseparamseditor_sizer.AddSizer(updownsizer, 0, border=5, 
   187                 updownsizer = wx.BoxSizer(wx.VERTICAL)
   188                                         flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL)
   188                 baseparamseditor_sizer.AddSizer(updownsizer, 0, border=5, 
   189             
   189                                             flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL)
   190             ieccupbutton_id = wx.NewId()
   190                 
   191             self.IECCUpButton = wx.lib.buttons.GenBitmapTextButton(
   191                 ieccupbutton_id = wx.NewId()
   192                   id=ieccupbutton_id, bitmap=wx.Bitmap(opjimg('IECCDown')),
   192                 self.IECCUpButton = wx.lib.buttons.GenBitmapTextButton(
   193                   name='IECUpButton', parent=self.ParamsEditor, pos=wx.Point(0, 0),
   193                       id=ieccupbutton_id, bitmap=wx.Bitmap(opjimg('IECCDown')),
   194                   size=wx.Size(16, 16), style=wx.NO_BORDER)
   194                       name='IECUpButton', parent=self.ParamsEditor, pos=wx.Point(0, 0),
   195             self.IECCUpButton.Bind(wx.EVT_BUTTON, self.GetItemChannelChangedFunction(1), 
   195                       size=wx.Size(16, 16), style=wx.NO_BORDER)
   196                                   id=ieccupbutton_id)
   196                 self.IECCUpButton.Bind(wx.EVT_BUTTON, self.GetItemChannelChangedFunction(1), 
   197             updownsizer.AddWindow(self.IECCUpButton, 0, border=0, flag=wx.ALIGN_LEFT)
   197                                       id=ieccupbutton_id)
   198             
   198                 updownsizer.AddWindow(self.IECCUpButton, 0, border=0, flag=wx.ALIGN_LEFT)
   199             ieccdownbutton_id = wx.NewId()
   199                 
   200             self.IECCDownButton = wx.lib.buttons.GenBitmapButton(
   200                 ieccdownbutton_id = wx.NewId()
   201                   id=ieccdownbutton_id, bitmap=wx.Bitmap(opjimg('IECCUp')),
   201                 self.IECCDownButton = wx.lib.buttons.GenBitmapButton(
   202                   name='IECDownButton', parent=self.ParamsEditor, pos=wx.Point(0, 0),
   202                       id=ieccdownbutton_id, bitmap=wx.Bitmap(opjimg('IECCUp')),
   203                   size=wx.Size(16, 16), style=wx.NO_BORDER)
   203                       name='IECDownButton', parent=self.ParamsEditor, pos=wx.Point(0, 0),
   204             self.IECCDownButton.Bind(wx.EVT_BUTTON, self.GetItemChannelChangedFunction(-1), 
   204                       size=wx.Size(16, 16), style=wx.NO_BORDER)
   205                                     id=ieccdownbutton_id)
   205                 self.IECCDownButton.Bind(wx.EVT_BUTTON, self.GetItemChannelChangedFunction(-1), 
   206             updownsizer.AddWindow(self.IECCDownButton, 0, border=0, flag=wx.ALIGN_LEFT)
   206                                         id=ieccdownbutton_id)
   207             
   207                 updownsizer.AddWindow(self.IECCDownButton, 0, border=0, flag=wx.ALIGN_LEFT)
   208             confnodename_id = wx.NewId()
   208                 
   209             self.ConfNodeName = wx.TextCtrl(
   209                 confnodename_id = wx.NewId()
   210                   self.ParamsEditor, confnodename_id, 
   210                 self.ConfNodeName = wx.TextCtrl(
   211                   size=wx.Size(150, 25), style=wx.NO_BORDER)
   211                       self.ParamsEditor, confnodename_id, 
   212             self.ConfNodeName.SetFont(
   212                       size=wx.Size(150, 25), style=wx.NO_BORDER)
   213                 wx.Font(faces["size"] * 0.75, wx.DEFAULT, wx.NORMAL, 
   213                 self.ConfNodeName.SetFont(
   214                         wx.BOLD, faceName = faces["helv"]))
   214                     wx.Font(faces["size"] * 0.75, wx.DEFAULT, wx.NORMAL, 
   215             self.ConfNodeName.Bind(wx.EVT_TEXT, 
   215                             wx.BOLD, faceName = faces["helv"]))
   216                 self.GetTextCtrlCallBackFunction(self.ConfNodeName, "BaseParams.Name", True), 
   216                 self.ConfNodeName.Bind(wx.EVT_TEXT, 
   217                 id=confnodename_id)
   217                     self.GetTextCtrlCallBackFunction(self.ConfNodeName, "BaseParams.Name", True), 
   218             baseparamseditor_sizer.AddWindow(self.ConfNodeName, 0, border=5, flag=wx.LEFT|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL)
   218                     id=confnodename_id)
   219             
   219                 baseparamseditor_sizer.AddWindow(self.ConfNodeName, 0, border=5, flag=wx.LEFT|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL)
   220             buttons_sizer = self.GenerateMethodButtonSizer()
   220                 
   221             baseparamseditor_sizer.AddSizer(buttons_sizer, 0, border=0, flag=wx.ALIGN_CENTER)
   221                 buttons_sizer = self.GenerateMethodButtonSizer()
       
   222                 baseparamseditor_sizer.AddSizer(buttons_sizer, 0, border=0, flag=wx.ALIGN_CENTER)
       
   223             
       
   224             else:
       
   225                 self.ParamsEditorSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=1, vgap=5)
       
   226                 self.ParamsEditorSizer.AddGrowableCol(0)
       
   227                 self.ParamsEditorSizer.AddGrowableRow(0)
   222             
   228             
   223             self.ConfNodeParamsSizer = wx.BoxSizer(wx.VERTICAL)
   229             self.ConfNodeParamsSizer = wx.BoxSizer(wx.VERTICAL)
   224             self.ParamsEditorSizer.AddSizer(self.ConfNodeParamsSizer, 0, border=5, 
   230             self.ParamsEditorSizer.AddSizer(self.ConfNodeParamsSizer, 0, border=5, 
   225                                             flag=wx.LEFT|wx.RIGHT|wx.BOTTOM)
   231                                             flag=wx.LEFT|wx.RIGHT|wx.BOTTOM)
       
   232             
       
   233             self.RefreshConfNodeParamsSizer()
   226         else:
   234         else:
   227             self.ParamsEditor = None
   235             self.ParamsEditor = None
   228         
   236         
   229         self._init_ConfNodeEditor(self.Editor)
   237         self._init_ConfNodeEditor(self.Editor)
   230             
   238             
   272         pass
   280         pass
   273     
   281     
   274     def RefreshView(self):
   282     def RefreshView(self):
   275         EditorPanel.RefreshView(self)
   283         EditorPanel.RefreshView(self)
   276         if self.ParamsEditor is not None:
   284         if self.ParamsEditor is not None:
   277             self.ConfNodeName.ChangeValue(self.Controler.MandatoryParams[1].getName())
   285             if self.SHOW_BASE_PARAMS:
   278             self.RefreshIECChannelControlsState()
   286                 self.ConfNodeName.ChangeValue(self.Controler.MandatoryParams[1].getName())
       
   287                 self.RefreshIECChannelControlsState()
   279             self.RefreshConfNodeParamsSizer()
   288             self.RefreshConfNodeParamsSizer()
   280     
   289     
   281     def EnableScrolling(self, enable):
   290     def EnableScrolling(self, enable):
   282         self.ScrollingEnabled = enable
   291         self.ScrollingEnabled = enable
   283     
   292