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 HAS_BASE_PARAMS = True |
|
149 SHOW_PARAMS = True |
149 |
150 |
150 def _init_ConfNodeEditor(self, prnt): |
151 def _init_ConfNodeEditor(self, prnt): |
151 self.ConfNodeEditor = None |
152 self.ConfNodeEditor = None |
152 |
153 |
153 def _init_Editor(self, prnt): |
154 def _init_Editor(self, prnt): |
154 self.Editor = wx.SplitterWindow(id=self.ID, name='EditorSplitter', parent=prnt, |
155 self.Editor = wx.SplitterWindow(id=self.ID, name='EditorSplitter', parent=prnt, |
155 size=wx.Size(0, 0), style=wx.SUNKEN_BORDER|wx.SP_3D) |
156 size=wx.Size(0, 0), style=wx.SUNKEN_BORDER|wx.SP_3D) |
156 self.SetNeedUpdating(True) |
157 self.SetNeedUpdating(True) |
157 self.SetMinimumPaneSize(1) |
158 self.SetMinimumPaneSize(1) |
158 |
159 |
159 self.ParamsEditor = wx.ScrolledWindow(self.Editor, -1, size=wx.Size(-1, -1), |
160 if self.SHOW_PARAMS: |
160 style=wx.TAB_TRAVERSAL|wx.SUNKEN_BORDER|wx.HSCROLL|wx.VSCROLL) |
161 self.ParamsEditor = wx.ScrolledWindow(self.Editor, -1, size=wx.Size(-1, -1), |
161 self.ParamsEditor.SetBackgroundColour(WINDOW_COLOUR) |
162 style=wx.TAB_TRAVERSAL|wx.SUNKEN_BORDER|wx.HSCROLL|wx.VSCROLL) |
162 self.ParamsEditor.Bind(wx.EVT_SIZE, self.OnWindowResize) |
163 self.ParamsEditor.SetBackgroundColour(WINDOW_COLOUR) |
163 self.ParamsEditor.Bind(wx.EVT_MOUSEWHEEL, self.OnMouseWheel) |
164 self.ParamsEditor.Bind(wx.EVT_SIZE, self.OnWindowResize) |
164 |
165 self.ParamsEditor.Bind(wx.EVT_MOUSEWHEEL, self.OnMouseWheel) |
165 # Variable allowing disabling of ParamsEditor scroll when Popup shown |
166 |
166 self.ScrollingEnabled = True |
167 # Variable allowing disabling of ParamsEditor scroll when Popup shown |
167 |
168 self.ScrollingEnabled = True |
168 self.ParamsEditorSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=5) |
169 |
169 self.ParamsEditorSizer.AddGrowableCol(0) |
170 self.ParamsEditorSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=5) |
170 self.ParamsEditorSizer.AddGrowableRow(1) |
171 self.ParamsEditorSizer.AddGrowableCol(0) |
171 |
172 self.ParamsEditorSizer.AddGrowableRow(1) |
172 self.ParamsEditor.SetSizer(self.ParamsEditorSizer) |
173 |
173 |
174 self.ParamsEditor.SetSizer(self.ParamsEditorSizer) |
174 baseparamseditor_sizer = wx.BoxSizer(wx.HORIZONTAL) |
175 |
175 self.ParamsEditorSizer.AddSizer(baseparamseditor_sizer, 0, border=5, |
176 baseparamseditor_sizer = wx.BoxSizer(wx.HORIZONTAL) |
176 flag=wx.GROW|wx.LEFT|wx.RIGHT|wx.TOP) |
177 self.ParamsEditorSizer.AddSizer(baseparamseditor_sizer, 0, border=5, |
177 |
178 flag=wx.GROW|wx.LEFT|wx.RIGHT|wx.TOP) |
178 self.FullIECChannel = wx.StaticText(self.ParamsEditor, -1) |
179 |
179 self.FullIECChannel.SetFont( |
180 self.FullIECChannel = wx.StaticText(self.ParamsEditor, -1) |
180 wx.Font(faces["size"], wx.DEFAULT, wx.NORMAL, |
181 self.FullIECChannel.SetFont( |
181 wx.BOLD, faceName = faces["helv"])) |
182 wx.Font(faces["size"], wx.DEFAULT, wx.NORMAL, |
182 baseparamseditor_sizer.AddWindow(self.FullIECChannel, 0, border=0, flag=wx.ALIGN_CENTER_VERTICAL) |
183 wx.BOLD, faceName = faces["helv"])) |
183 |
184 baseparamseditor_sizer.AddWindow(self.FullIECChannel, 0, border=0, flag=wx.ALIGN_CENTER_VERTICAL) |
184 updownsizer = wx.BoxSizer(wx.VERTICAL) |
185 |
185 baseparamseditor_sizer.AddSizer(updownsizer, 0, border=5, |
186 updownsizer = wx.BoxSizer(wx.VERTICAL) |
186 flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL) |
187 baseparamseditor_sizer.AddSizer(updownsizer, 0, border=5, |
187 |
188 flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL) |
188 ieccupbutton_id = wx.NewId() |
189 |
189 self.IECCUpButton = wx.lib.buttons.GenBitmapTextButton( |
190 ieccupbutton_id = wx.NewId() |
190 id=ieccupbutton_id, bitmap=wx.Bitmap(opjimg('IECCDown')), |
191 self.IECCUpButton = wx.lib.buttons.GenBitmapTextButton( |
191 name='IECUpButton', parent=self.ParamsEditor, pos=wx.Point(0, 0), |
192 id=ieccupbutton_id, bitmap=wx.Bitmap(opjimg('IECCDown')), |
192 size=wx.Size(16, 16), style=wx.NO_BORDER) |
193 name='IECUpButton', parent=self.ParamsEditor, pos=wx.Point(0, 0), |
193 self.IECCUpButton.Bind(wx.EVT_BUTTON, self.GetItemChannelChangedFunction(1), |
194 size=wx.Size(16, 16), style=wx.NO_BORDER) |
194 id=ieccupbutton_id) |
195 self.IECCUpButton.Bind(wx.EVT_BUTTON, self.GetItemChannelChangedFunction(1), |
195 updownsizer.AddWindow(self.IECCUpButton, 0, border=0, flag=wx.ALIGN_LEFT) |
196 id=ieccupbutton_id) |
196 |
197 updownsizer.AddWindow(self.IECCUpButton, 0, border=0, flag=wx.ALIGN_LEFT) |
197 ieccdownbutton_id = wx.NewId() |
198 |
198 self.IECCDownButton = wx.lib.buttons.GenBitmapButton( |
199 ieccdownbutton_id = wx.NewId() |
199 id=ieccdownbutton_id, bitmap=wx.Bitmap(opjimg('IECCUp')), |
200 self.IECCDownButton = wx.lib.buttons.GenBitmapButton( |
200 name='IECDownButton', parent=self.ParamsEditor, pos=wx.Point(0, 0), |
201 id=ieccdownbutton_id, bitmap=wx.Bitmap(opjimg('IECCUp')), |
201 size=wx.Size(16, 16), style=wx.NO_BORDER) |
202 name='IECDownButton', parent=self.ParamsEditor, pos=wx.Point(0, 0), |
202 self.IECCDownButton.Bind(wx.EVT_BUTTON, self.GetItemChannelChangedFunction(-1), |
203 size=wx.Size(16, 16), style=wx.NO_BORDER) |
203 id=ieccdownbutton_id) |
204 self.IECCDownButton.Bind(wx.EVT_BUTTON, self.GetItemChannelChangedFunction(-1), |
204 updownsizer.AddWindow(self.IECCDownButton, 0, border=0, flag=wx.ALIGN_LEFT) |
205 id=ieccdownbutton_id) |
205 |
206 updownsizer.AddWindow(self.IECCDownButton, 0, border=0, flag=wx.ALIGN_LEFT) |
206 confnodename_id = wx.NewId() |
207 |
207 self.ConfNodeName = wx.TextCtrl( |
208 confnodename_id = wx.NewId() |
208 self.ParamsEditor, confnodename_id, |
209 self.ConfNodeName = wx.TextCtrl( |
209 size=wx.Size(150, 25), style=wx.NO_BORDER) |
210 self.ParamsEditor, confnodename_id, |
210 self.ConfNodeName.SetFont( |
211 size=wx.Size(150, 25), style=wx.NO_BORDER) |
211 wx.Font(faces["size"] * 0.75, wx.DEFAULT, wx.NORMAL, |
212 self.ConfNodeName.SetFont( |
212 wx.BOLD, faceName = faces["helv"])) |
213 wx.Font(faces["size"] * 0.75, wx.DEFAULT, wx.NORMAL, |
213 self.ConfNodeName.Bind(wx.EVT_TEXT, |
214 wx.BOLD, faceName = faces["helv"])) |
214 self.GetTextCtrlCallBackFunction(self.ConfNodeName, "BaseParams.Name", True), |
215 self.ConfNodeName.Bind(wx.EVT_TEXT, |
215 id=confnodename_id) |
216 self.GetTextCtrlCallBackFunction(self.ConfNodeName, "BaseParams.Name", True), |
216 baseparamseditor_sizer.AddWindow(self.ConfNodeName, 0, border=5, flag=wx.LEFT|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL) |
217 id=confnodename_id) |
217 |
218 baseparamseditor_sizer.AddWindow(self.ConfNodeName, 0, border=5, flag=wx.LEFT|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL) |
218 buttons_sizer = self.GenerateMethodButtonSizer() |
219 |
219 baseparamseditor_sizer.AddSizer(buttons_sizer, 0, border=0, flag=wx.ALIGN_CENTER) |
220 buttons_sizer = self.GenerateMethodButtonSizer() |
220 |
221 baseparamseditor_sizer.AddSizer(buttons_sizer, 0, border=0, flag=wx.ALIGN_CENTER) |
221 self.ConfNodeParamsSizer = wx.BoxSizer(wx.VERTICAL) |
222 |
222 self.ParamsEditorSizer.AddSizer(self.ConfNodeParamsSizer, 0, border=5, |
223 self.ConfNodeParamsSizer = wx.BoxSizer(wx.VERTICAL) |
223 flag=wx.LEFT|wx.RIGHT|wx.BOTTOM) |
224 self.ParamsEditorSizer.AddSizer(self.ConfNodeParamsSizer, 0, border=5, |
|
225 flag=wx.LEFT|wx.RIGHT|wx.BOTTOM) |
|
226 else: |
|
227 self.ParamsEditor = None |
224 |
228 |
225 self._init_ConfNodeEditor(self.Editor) |
229 self._init_ConfNodeEditor(self.Editor) |
226 |
230 |
227 if self.ConfNodeEditor is not None: |
231 if self.ConfNodeEditor is not None: |
228 min_size = self.ParamsEditorSizer.GetMinSize() |
232 if self.ParamsEditor is not None: |
229 self.Editor.SplitHorizontally(self.ParamsEditor, |
233 min_size = self.ParamsEditorSizer.GetMinSize() |
230 self.ConfNodeEditor, |
234 self.Editor.SplitHorizontally(self.ParamsEditor, |
231 min(min_size.height, 200)) |
235 self.ConfNodeEditor, |
232 else: |
236 min(min_size.height, 200)) |
|
237 else: |
|
238 self.Editor.Initialize(self.ConfNodeEditor) |
|
239 elif self.ParamsEditor is not None: |
233 self.Editor.Initialize(self.ParamsEditor) |
240 self.Editor.Initialize(self.ParamsEditor) |
234 |
241 |
235 def __init__(self, parent, controler, window, tagname=""): |
242 def __init__(self, parent, controler, window, tagname=""): |
236 EditorPanel.__init__(self, parent, tagname, window, controler) |
243 EditorPanel.__init__(self, parent, tagname, window, controler) |
237 |
244 |