diff -r 7788545f4137 -r aaacc83aa86b ConfTreeNodeEditor.py --- 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