201 size=wx.Size(16, 16), style=wx.NO_BORDER) |
201 size=wx.Size(16, 16), style=wx.NO_BORDER) |
202 self.IECCUpButton.Bind(wx.EVT_BUTTON, self.GetItemChannelChangedFunction(1), |
202 self.IECCUpButton.Bind(wx.EVT_BUTTON, self.GetItemChannelChangedFunction(1), |
203 id=ieccupbutton_id) |
203 id=ieccupbutton_id) |
204 updownsizer.AddWindow(self.IECCUpButton, 0, border=0, flag=wx.ALIGN_LEFT) |
204 updownsizer.AddWindow(self.IECCUpButton, 0, border=0, flag=wx.ALIGN_LEFT) |
205 |
205 |
206 self.RefreshIECChannelControlsState() |
|
207 |
|
208 confnodename_id = wx.NewId() |
206 confnodename_id = wx.NewId() |
209 self.ConfNodeName = wx.TextCtrl( |
207 self.ConfNodeName = wx.TextCtrl( |
210 self.ParamsEditor, confnodename_id, |
208 self.ParamsEditor, confnodename_id, |
211 size=wx.Size(150, 25), style=wx.NO_BORDER) |
209 size=wx.Size(150, 25), style=wx.NO_BORDER) |
212 self.ConfNodeName.SetFont( |
210 self.ConfNodeName.SetFont( |
213 wx.Font(faces["size"] * 0.75, wx.DEFAULT, wx.NORMAL, |
211 wx.Font(faces["size"] * 0.75, wx.DEFAULT, wx.NORMAL, |
214 wx.BOLD, faceName = faces["helv"])) |
212 wx.BOLD, faceName = faces["helv"])) |
215 self.ConfNodeName.ChangeValue(self.Controler.MandatoryParams[1].getName()) |
|
216 self.ConfNodeName.Bind(wx.EVT_TEXT, |
213 self.ConfNodeName.Bind(wx.EVT_TEXT, |
217 self.GetTextCtrlCallBackFunction(self.ConfNodeName, "BaseParams.Name"), |
214 self.GetTextCtrlCallBackFunction(self.ConfNodeName, "BaseParams.Name", True), |
218 id=confnodename_id) |
215 id=confnodename_id) |
219 baseparamseditor_sizer.AddWindow(self.ConfNodeName, 0, border=5, flag=wx.LEFT|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL) |
216 baseparamseditor_sizer.AddWindow(self.ConfNodeName, 0, border=5, flag=wx.LEFT|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL) |
220 |
217 |
221 buttons_sizer = self.GenerateMethodButtonSizer() |
218 buttons_sizer = self.GenerateMethodButtonSizer() |
222 baseparamseditor_sizer.AddSizer(buttons_sizer, 0, border=0, flag=wx.ALIGN_CENTER) |
219 baseparamseditor_sizer.AddSizer(buttons_sizer, 0, border=0, flag=wx.ALIGN_CENTER) |
223 |
220 |
224 self.ConfNodeParamsSizer = wx.BoxSizer(wx.VERTICAL) |
221 self.ConfNodeParamsSizer = wx.BoxSizer(wx.VERTICAL) |
225 self.ParamsEditorSizer.AddSizer(self.ConfNodeParamsSizer, 0, border=5, |
222 self.ParamsEditorSizer.AddSizer(self.ConfNodeParamsSizer, 0, border=5, |
226 flag=wx.LEFT|wx.RIGHT|wx.BOTTOM) |
223 flag=wx.LEFT|wx.RIGHT|wx.BOTTOM) |
227 |
|
228 self.RefreshConfNodeParamsSizer() |
|
229 |
224 |
230 self._init_ConfNodeEditor(self.Editor) |
225 self._init_ConfNodeEditor(self.Editor) |
231 |
226 |
232 if self.ConfNodeEditor is not None: |
227 if self.ConfNodeEditor is not None: |
233 min_size = self.ParamsEditorSizer.GetMinSize() |
228 min_size = self.ParamsEditorSizer.GetMinSize() |
332 staticbox = wx.StaticBox(id=-1, label=_(label), |
333 staticbox = wx.StaticBox(id=-1, label=_(label), |
333 name='%s_staticbox'%element_infos["name"], parent=self.ParamsEditor, |
334 name='%s_staticbox'%element_infos["name"], parent=self.ParamsEditor, |
334 pos=wx.Point(0, 0), size=wx.Size(10, 0), style=0) |
335 pos=wx.Point(0, 0), size=wx.Size(10, 0), style=0) |
335 staticboxsizer = wx.StaticBoxSizer(staticbox, wx.VERTICAL) |
336 staticboxsizer = wx.StaticBoxSizer(staticbox, wx.VERTICAL) |
336 if first: |
337 if first: |
337 sizer.AddSizer(staticboxsizer, 0, border=0, flag=wx.GROW|wx.TOP) |
338 sizer.AddSizer(staticboxsizer, 0, border=5, flag=wx.GROW|wx.TOP|wx.BOTTOM) |
338 else: |
339 else: |
339 sizer.AddSizer(staticboxsizer, 0, border=0, flag=wx.GROW) |
340 sizer.AddSizer(staticboxsizer, 0, border=5, flag=wx.GROW|wx.BOTTOM) |
340 self.GenerateSizerElements(staticboxsizer, element_infos["children"], element_path) |
341 self.GenerateSizerElements(staticboxsizer, element_infos["children"], element_path) |
341 else: |
342 else: |
342 boxsizer = wx.FlexGridSizer(cols=3, rows=1) |
343 boxsizer = wx.FlexGridSizer(cols=3, rows=1) |
343 boxsizer.AddGrowableCol(1) |
344 boxsizer.AddGrowableCol(1) |
344 if first: |
345 if first: |
495 return OnChoiceChanged |
496 return OnChoiceChanged |
496 |
497 |
497 def GetChoiceContentCallBackFunction(self, choicectrl, staticboxsizer, path): |
498 def GetChoiceContentCallBackFunction(self, choicectrl, staticboxsizer, path): |
498 def OnChoiceContentChanged(event): |
499 def OnChoiceContentChanged(event): |
499 res = self.SetConfNodeParamsAttribute(path, choicectrl.GetStringSelection()) |
500 res = self.SetConfNodeParamsAttribute(path, choicectrl.GetStringSelection()) |
|
501 wx.CallAfter(self.RefreshConfNodeParamsSizer) |
500 event.Skip() |
502 event.Skip() |
501 return OnChoiceContentChanged |
503 return OnChoiceContentChanged |
502 |
504 |
503 def GetTextCtrlCallBackFunction(self, textctrl, path): |
505 def GetTextCtrlCallBackFunction(self, textctrl, path, refresh=False): |
504 def OnTextCtrlChanged(event): |
506 def OnTextCtrlChanged(event): |
505 res = self.SetConfNodeParamsAttribute(path, textctrl.GetValue()) |
507 res = self.SetConfNodeParamsAttribute(path, textctrl.GetValue()) |
506 if res != textctrl.GetValue(): |
508 if res != textctrl.GetValue(): |
507 textctrl.ChangeValue(res) |
509 textctrl.ChangeValue(res) |
508 if textctrl == self.ConfNodeName: |
510 if refresh: |
509 wx.CallAfter(self.ParentWindow._Refresh, TITLE, FILEMENU, PROJECTTREE, PAGETITLES) |
511 wx.CallAfter(self.ParentWindow._Refresh, TITLE, FILEMENU, PROJECTTREE, PAGETITLES) |
510 wx.CallAfter(self.ParentWindow.SelectProjectTreeItem, self.GetTagName()) |
512 wx.CallAfter(self.ParentWindow.SelectProjectTreeItem, self.GetTagName()) |
511 event.Skip() |
513 event.Skip() |
512 return OnTextCtrlChanged |
514 return OnTextCtrlChanged |
513 |
515 |
529 dialog.Destroy() |
531 dialog.Destroy() |
530 event.Skip() |
532 event.Skip() |
531 return OnBrowseButton |
533 return OnBrowseButton |
532 |
534 |
533 def OnWindowResize(self, event): |
535 def OnWindowResize(self, event): |
534 self.GetBestSize() |
536 self.ParamsEditor.GetBestSize() |
535 xstart, ystart = self.ParamsEditor.GetViewStart() |
537 xstart, ystart = self.ParamsEditor.GetViewStart() |
536 window_size = self.ParamsEditor.GetClientSize() |
538 window_size = self.ParamsEditor.GetClientSize() |
537 maxx, maxy = self.ParamsEditorSizer.GetMinSize() |
539 maxx, maxy = self.ParamsEditorSizer.GetMinSize() |
538 posx = max(0, min(xstart, (maxx - window_size[0]) / SCROLLBAR_UNIT)) |
540 posx = max(0, min(xstart, (maxx - window_size[0]) / SCROLLBAR_UNIT)) |
539 posy = max(0, min(ystart, (maxy - window_size[1]) / SCROLLBAR_UNIT)) |
541 posy = max(0, min(ystart, (maxy - window_size[1]) / SCROLLBAR_UNIT)) |