559 def _create_EthercatMasterEditor(self, prnt): |
559 def _create_EthercatMasterEditor(self, prnt): |
560 self.EthercatMasterEditor = wx.ScrolledWindow(prnt, |
560 self.EthercatMasterEditor = wx.ScrolledWindow(prnt, |
561 style=wx.TAB_TRAVERSAL|wx.HSCROLL|wx.VSCROLL) |
561 style=wx.TAB_TRAVERSAL|wx.HSCROLL|wx.VSCROLL) |
562 self.EthercatMasterEditor.Bind(wx.EVT_SIZE, self.OnResize) |
562 self.EthercatMasterEditor.Bind(wx.EVT_SIZE, self.OnResize) |
563 |
563 |
564 main_sizer = wx.BoxSizer(wx.VERTICAL) |
564 self.EthercatMasterEditorSizer = wx.BoxSizer(wx.VERTICAL) |
565 |
565 |
566 self.NodesFilter = wx.ComboBox(self.EthercatMasterEditor, |
566 self.NodesFilter = wx.ComboBox(self.EthercatMasterEditor, |
567 style=wx.TE_PROCESS_ENTER) |
567 style=wx.TE_PROCESS_ENTER) |
568 self.Bind(wx.EVT_COMBOBOX, self.OnNodesFilterChanged, self.NodesFilter) |
568 self.Bind(wx.EVT_COMBOBOX, self.OnNodesFilterChanged, self.NodesFilter) |
569 self.Bind(wx.EVT_TEXT_ENTER, self.OnNodesFilterChanged, self.NodesFilter) |
569 self.Bind(wx.EVT_TEXT_ENTER, self.OnNodesFilterChanged, self.NodesFilter) |
618 self.StartupCommandsGrid.Bind(wx.grid.EVT_GRID_CELL_CHANGE, |
618 self.StartupCommandsGrid.Bind(wx.grid.EVT_GRID_CELL_CHANGE, |
619 self.OnStartupCommandsGridCellChange) |
619 self.OnStartupCommandsGridCellChange) |
620 self.StartupCommandsGrid.Bind(wx.grid.EVT_GRID_EDITOR_SHOWN, |
620 self.StartupCommandsGrid.Bind(wx.grid.EVT_GRID_EDITOR_SHOWN, |
621 self.OnStartupCommandsGridEditorShow) |
621 self.OnStartupCommandsGridEditorShow) |
622 |
622 |
623 second_staticbox = wx.StaticBox(self.EthercatMasterEditor, label=_("Nodes variables filter:")) |
|
624 second_staticbox_sizer = wx.StaticBoxSizer(second_staticbox, wx.VERTICAL) |
|
625 |
|
626 self.NodesVariables = MasterNodesVariablesSizer(self.EthercatMasterEditor, self.Controler) |
623 self.NodesVariables = MasterNodesVariablesSizer(self.EthercatMasterEditor, self.Controler) |
627 second_staticbox_sizer.AddSizer(self.NodesVariables, 1, border=5, flag=wx.GROW|wx.ALL) |
|
628 |
624 |
629 main_staticbox = wx.StaticBox(self.EthercatMasterEditor, label=_("Node filter:")) |
625 main_staticbox = wx.StaticBox(self.EthercatMasterEditor, label=_("Node filter:")) |
630 staticbox_sizer = wx.StaticBoxSizer(main_staticbox, wx.VERTICAL) |
626 staticbox_sizer = wx.StaticBoxSizer(main_staticbox, wx.VERTICAL) |
631 main_sizer.AddSizer(staticbox_sizer, 0, border=10, flag=wx.GROW|wx.ALL) |
627 self.EthercatMasterEditorSizer.AddSizer(staticbox_sizer, 0, border=10, flag=wx.GROW|wx.ALL) |
|
628 |
632 main_staticbox_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=6, vgap=0) |
629 main_staticbox_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=6, vgap=0) |
633 main_staticbox_sizer.AddGrowableCol(0) |
630 main_staticbox_sizer.AddGrowableCol(0) |
634 main_staticbox_sizer.AddGrowableRow(2) |
631 main_staticbox_sizer.AddGrowableRow(2) |
635 main_staticbox_sizer.AddGrowableRow(4) |
632 main_staticbox_sizer.AddGrowableRow(4) |
636 main_staticbox_sizer.AddGrowableRow(5) |
633 main_staticbox_sizer.AddGrowableRow(5) |
642 border=5, flag=wx.GROW|wx.LEFT|wx.RIGHT|wx.BOTTOM) |
639 border=5, flag=wx.GROW|wx.LEFT|wx.RIGHT|wx.BOTTOM) |
643 main_staticbox_sizer.AddSizer(startup_commands_header, |
640 main_staticbox_sizer.AddSizer(startup_commands_header, |
644 border=5, flag=wx.GROW|wx.LEFT|wx.RIGHT|wx.BOTTOM) |
641 border=5, flag=wx.GROW|wx.LEFT|wx.RIGHT|wx.BOTTOM) |
645 main_staticbox_sizer.AddWindow(self.StartupCommandsGrid, 1, |
642 main_staticbox_sizer.AddWindow(self.StartupCommandsGrid, 1, |
646 border=5, flag=wx.GROW|wx.LEFT|wx.RIGHT|wx.BOTTOM) |
643 border=5, flag=wx.GROW|wx.LEFT|wx.RIGHT|wx.BOTTOM) |
|
644 |
|
645 second_staticbox = wx.StaticBox(self.EthercatMasterEditor, label=_("Nodes variables filter:")) |
|
646 second_staticbox_sizer = wx.StaticBoxSizer(second_staticbox, wx.VERTICAL) |
|
647 second_staticbox_sizer.AddSizer(self.NodesVariables, 1, border=5, flag=wx.GROW|wx.ALL) |
|
648 |
647 main_staticbox_sizer.AddSizer(second_staticbox_sizer, 1, |
649 main_staticbox_sizer.AddSizer(second_staticbox_sizer, 1, |
648 border=5, flag=wx.GROW|wx.LEFT|wx.RIGHT|wx.BOTTOM) |
650 border=5, flag=wx.GROW|wx.LEFT|wx.RIGHT|wx.BOTTOM) |
649 |
651 |
650 self.EthercatMasterEditor.SetSizer(main_sizer) |
652 self.EthercatMasterEditor.SetSizer(self.EthercatMasterEditorSizer) |
651 |
653 |
652 return self.EthercatMasterEditor |
654 return self.EthercatMasterEditor |
653 |
655 |
654 def __init__(self, parent, controler, window): |
656 def __init__(self, parent, controler, window): |
655 ConfTreeNodeEditor.__init__(self, parent, controler, window) |
657 ConfTreeNodeEditor.__init__(self, parent, controler, window) |
972 |
974 |
973 def OnResize(self, event): |
975 def OnResize(self, event): |
974 self.EthercatMasterEditor.GetBestSize() |
976 self.EthercatMasterEditor.GetBestSize() |
975 xstart, ystart = self.EthercatMasterEditor.GetViewStart() |
977 xstart, ystart = self.EthercatMasterEditor.GetViewStart() |
976 window_size = self.EthercatMasterEditor.GetClientSize() |
978 window_size = self.EthercatMasterEditor.GetClientSize() |
977 maxx, maxy = self.EthercatMasterEditor.GetMinSize() |
979 maxx, maxy = self.EthercatMasterEditorSizer.GetMinSize() |
978 posx = max(0, min(xstart, (maxx - window_size[0]) / SCROLLBAR_UNIT)) |
980 posx = max(0, min(xstart, (maxx - window_size[0]) / SCROLLBAR_UNIT)) |
979 posy = max(0, min(ystart, (maxy - window_size[1]) / SCROLLBAR_UNIT)) |
981 posy = max(0, min(ystart, (maxy - window_size[1]) / SCROLLBAR_UNIT)) |
980 self.EthercatMasterEditor.Scroll(posx, posy) |
982 self.EthercatMasterEditor.Scroll(posx, posy) |
981 self.EthercatMasterEditor.SetScrollbars(SCROLLBAR_UNIT, SCROLLBAR_UNIT, |
983 self.EthercatMasterEditor.SetScrollbars(SCROLLBAR_UNIT, SCROLLBAR_UNIT, |
982 maxx / SCROLLBAR_UNIT, maxy / SCROLLBAR_UNIT, posx, posy) |
984 maxx / SCROLLBAR_UNIT, maxy / SCROLLBAR_UNIT, posx, posy) |