ConfTreeNodeEditor.py
changeset 762 aaacc83aa86b
parent 751 a8dace95f965
child 767 36e823a90d94
--- a/ConfTreeNodeEditor.py	Thu Jun 07 01:14:58 2012 +0200
+++ b/ConfTreeNodeEditor.py	Fri Jun 08 12:39:37 2012 +0200
@@ -146,6 +146,7 @@
 class ConfTreeNodeEditor(EditorPanel):
     
     HAS_BASE_PARAMS = True
+    SHOW_PARAMS = True
     
     def _init_ConfNodeEditor(self, prnt):
         self.ConfNodeEditor = None
@@ -156,80 +157,86 @@
         self.SetNeedUpdating(True)
         self.SetMinimumPaneSize(1)
         
-        self.ParamsEditor = wx.ScrolledWindow(self.Editor, -1, size=wx.Size(-1, -1),
-                        style=wx.TAB_TRAVERSAL|wx.SUNKEN_BORDER|wx.HSCROLL|wx.VSCROLL)
-        self.ParamsEditor.SetBackgroundColour(WINDOW_COLOUR)
-        self.ParamsEditor.Bind(wx.EVT_SIZE, self.OnWindowResize)
-        self.ParamsEditor.Bind(wx.EVT_MOUSEWHEEL, self.OnMouseWheel)
-        
-        # Variable allowing disabling of ParamsEditor scroll when Popup shown 
-        self.ScrollingEnabled = True
-        
-        self.ParamsEditorSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=5)
-        self.ParamsEditorSizer.AddGrowableCol(0)
-        self.ParamsEditorSizer.AddGrowableRow(1)
-        
-        self.ParamsEditor.SetSizer(self.ParamsEditorSizer)
-        
-        baseparamseditor_sizer = wx.BoxSizer(wx.HORIZONTAL)
-        self.ParamsEditorSizer.AddSizer(baseparamseditor_sizer, 0, border=5, 
-                                        flag=wx.GROW|wx.LEFT|wx.RIGHT|wx.TOP)
-        
-        self.FullIECChannel = wx.StaticText(self.ParamsEditor, -1)
-        self.FullIECChannel.SetFont(
-            wx.Font(faces["size"], wx.DEFAULT, wx.NORMAL, 
-                    wx.BOLD, faceName = faces["helv"]))
-        baseparamseditor_sizer.AddWindow(self.FullIECChannel, 0, border=0, flag=wx.ALIGN_CENTER_VERTICAL)
-        
-        updownsizer = wx.BoxSizer(wx.VERTICAL)
-        baseparamseditor_sizer.AddSizer(updownsizer, 0, border=5, 
-                                    flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL)
-        
-        ieccupbutton_id = wx.NewId()
-        self.IECCUpButton = wx.lib.buttons.GenBitmapTextButton(
-              id=ieccupbutton_id, bitmap=wx.Bitmap(opjimg('IECCDown')),
-              name='IECUpButton', parent=self.ParamsEditor, pos=wx.Point(0, 0),
-              size=wx.Size(16, 16), style=wx.NO_BORDER)
-        self.IECCUpButton.Bind(wx.EVT_BUTTON, self.GetItemChannelChangedFunction(1), 
-                              id=ieccupbutton_id)
-        updownsizer.AddWindow(self.IECCUpButton, 0, border=0, flag=wx.ALIGN_LEFT)
-        
-        ieccdownbutton_id = wx.NewId()
-        self.IECCDownButton = wx.lib.buttons.GenBitmapButton(
-              id=ieccdownbutton_id, bitmap=wx.Bitmap(opjimg('IECCUp')),
-              name='IECDownButton', parent=self.ParamsEditor, pos=wx.Point(0, 0),
-              size=wx.Size(16, 16), style=wx.NO_BORDER)
-        self.IECCDownButton.Bind(wx.EVT_BUTTON, self.GetItemChannelChangedFunction(-1), 
-                                id=ieccdownbutton_id)
-        updownsizer.AddWindow(self.IECCDownButton, 0, border=0, flag=wx.ALIGN_LEFT)
-        
-        confnodename_id = wx.NewId()
-        self.ConfNodeName = wx.TextCtrl(
-              self.ParamsEditor, confnodename_id, 
-              size=wx.Size(150, 25), style=wx.NO_BORDER)
-        self.ConfNodeName.SetFont(
-            wx.Font(faces["size"] * 0.75, wx.DEFAULT, wx.NORMAL, 
-                    wx.BOLD, faceName = faces["helv"]))
-        self.ConfNodeName.Bind(wx.EVT_TEXT, 
-            self.GetTextCtrlCallBackFunction(self.ConfNodeName, "BaseParams.Name", True), 
-            id=confnodename_id)
-        baseparamseditor_sizer.AddWindow(self.ConfNodeName, 0, border=5, flag=wx.LEFT|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL)
-        
-        buttons_sizer = self.GenerateMethodButtonSizer()
-        baseparamseditor_sizer.AddSizer(buttons_sizer, 0, border=0, flag=wx.ALIGN_CENTER)
-        
-        self.ConfNodeParamsSizer = wx.BoxSizer(wx.VERTICAL)
-        self.ParamsEditorSizer.AddSizer(self.ConfNodeParamsSizer, 0, border=5, 
-                                        flag=wx.LEFT|wx.RIGHT|wx.BOTTOM)
+        if self.SHOW_PARAMS:
+            self.ParamsEditor = wx.ScrolledWindow(self.Editor, -1, size=wx.Size(-1, -1),
+                            style=wx.TAB_TRAVERSAL|wx.SUNKEN_BORDER|wx.HSCROLL|wx.VSCROLL)
+            self.ParamsEditor.SetBackgroundColour(WINDOW_COLOUR)
+            self.ParamsEditor.Bind(wx.EVT_SIZE, self.OnWindowResize)
+            self.ParamsEditor.Bind(wx.EVT_MOUSEWHEEL, self.OnMouseWheel)
+            
+            # Variable allowing disabling of ParamsEditor scroll when Popup shown 
+            self.ScrollingEnabled = True
+            
+            self.ParamsEditorSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=5)
+            self.ParamsEditorSizer.AddGrowableCol(0)
+            self.ParamsEditorSizer.AddGrowableRow(1)
+            
+            self.ParamsEditor.SetSizer(self.ParamsEditorSizer)
+            
+            baseparamseditor_sizer = wx.BoxSizer(wx.HORIZONTAL)
+            self.ParamsEditorSizer.AddSizer(baseparamseditor_sizer, 0, border=5, 
+                                            flag=wx.GROW|wx.LEFT|wx.RIGHT|wx.TOP)
+            
+            self.FullIECChannel = wx.StaticText(self.ParamsEditor, -1)
+            self.FullIECChannel.SetFont(
+                wx.Font(faces["size"], wx.DEFAULT, wx.NORMAL, 
+                        wx.BOLD, faceName = faces["helv"]))
+            baseparamseditor_sizer.AddWindow(self.FullIECChannel, 0, border=0, flag=wx.ALIGN_CENTER_VERTICAL)
+            
+            updownsizer = wx.BoxSizer(wx.VERTICAL)
+            baseparamseditor_sizer.AddSizer(updownsizer, 0, border=5, 
+                                        flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL)
+            
+            ieccupbutton_id = wx.NewId()
+            self.IECCUpButton = wx.lib.buttons.GenBitmapTextButton(
+                  id=ieccupbutton_id, bitmap=wx.Bitmap(opjimg('IECCDown')),
+                  name='IECUpButton', parent=self.ParamsEditor, pos=wx.Point(0, 0),
+                  size=wx.Size(16, 16), style=wx.NO_BORDER)
+            self.IECCUpButton.Bind(wx.EVT_BUTTON, self.GetItemChannelChangedFunction(1), 
+                                  id=ieccupbutton_id)
+            updownsizer.AddWindow(self.IECCUpButton, 0, border=0, flag=wx.ALIGN_LEFT)
+            
+            ieccdownbutton_id = wx.NewId()
+            self.IECCDownButton = wx.lib.buttons.GenBitmapButton(
+                  id=ieccdownbutton_id, bitmap=wx.Bitmap(opjimg('IECCUp')),
+                  name='IECDownButton', parent=self.ParamsEditor, pos=wx.Point(0, 0),
+                  size=wx.Size(16, 16), style=wx.NO_BORDER)
+            self.IECCDownButton.Bind(wx.EVT_BUTTON, self.GetItemChannelChangedFunction(-1), 
+                                    id=ieccdownbutton_id)
+            updownsizer.AddWindow(self.IECCDownButton, 0, border=0, flag=wx.ALIGN_LEFT)
+            
+            confnodename_id = wx.NewId()
+            self.ConfNodeName = wx.TextCtrl(
+                  self.ParamsEditor, confnodename_id, 
+                  size=wx.Size(150, 25), style=wx.NO_BORDER)
+            self.ConfNodeName.SetFont(
+                wx.Font(faces["size"] * 0.75, wx.DEFAULT, wx.NORMAL, 
+                        wx.BOLD, faceName = faces["helv"]))
+            self.ConfNodeName.Bind(wx.EVT_TEXT, 
+                self.GetTextCtrlCallBackFunction(self.ConfNodeName, "BaseParams.Name", True), 
+                id=confnodename_id)
+            baseparamseditor_sizer.AddWindow(self.ConfNodeName, 0, border=5, flag=wx.LEFT|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL)
+            
+            buttons_sizer = self.GenerateMethodButtonSizer()
+            baseparamseditor_sizer.AddSizer(buttons_sizer, 0, border=0, flag=wx.ALIGN_CENTER)
+            
+            self.ConfNodeParamsSizer = wx.BoxSizer(wx.VERTICAL)
+            self.ParamsEditorSizer.AddSizer(self.ConfNodeParamsSizer, 0, border=5, 
+                                            flag=wx.LEFT|wx.RIGHT|wx.BOTTOM)
+        else:
+            self.ParamsEditor = None
         
         self._init_ConfNodeEditor(self.Editor)
             
         if self.ConfNodeEditor is not None:
-            min_size = self.ParamsEditorSizer.GetMinSize()
-            self.Editor.SplitHorizontally(self.ParamsEditor, 
-                                   self.ConfNodeEditor, 
-                                   min(min_size.height, 200))
-        else:
+            if self.ParamsEditor is not None:
+                min_size = self.ParamsEditorSizer.GetMinSize()
+                self.Editor.SplitHorizontally(self.ParamsEditor, 
+                                              self.ConfNodeEditor, 
+                                              min(min_size.height, 200))
+            else:
+                self.Editor.Initialize(self.ConfNodeEditor)
+        elif self.ParamsEditor is not None:
             self.Editor.Initialize(self.ParamsEditor)
     
     def __init__(self, parent, controler, window, tagname=""):
@@ -266,9 +273,10 @@
     
     def RefreshView(self):
         EditorPanel.RefreshView(self)
-        self.ConfNodeName.ChangeValue(self.Controler.MandatoryParams[1].getName())
-        self.RefreshIECChannelControlsState()
-        self.RefreshConfNodeParamsSizer()
+        if self.ParamsEditor is not None:
+            self.ConfNodeName.ChangeValue(self.Controler.MandatoryParams[1].getName())
+            self.RefreshIECChannelControlsState()
+            self.RefreshConfNodeParamsSizer()
     
     def EnableScrolling(self, enable):
         self.ScrollingEnabled = enable