--- a/etherlab/ConfigEditor.py Sat Sep 29 15:03:17 2018 +0300
+++ b/etherlab/ConfigEditor.py Sat Sep 29 15:16:21 2018 +0300
@@ -90,13 +90,13 @@
self.AddWindow(self.VariablesFilter, flag=wx.GROW)
self.VariablesGrid = wx.gizmos.TreeListCtrl(parent,
- style=wx.TR_DEFAULT_STYLE |
- wx.TR_ROW_LINES |
- wx.TR_COLUMN_LINES |
- wx.TR_HIDE_ROOT |
- wx.TR_FULL_ROW_HIGHLIGHT)
+ style=wx.TR_DEFAULT_STYLE |
+ wx.TR_ROW_LINES |
+ wx.TR_COLUMN_LINES |
+ wx.TR_HIDE_ROOT |
+ wx.TR_FULL_ROW_HIGHLIGHT)
self.VariablesGrid.GetMainWindow().Bind(wx.EVT_LEFT_DOWN,
- self.OnVariablesGridLeftClick)
+ self.OnVariablesGridLeftClick)
self.AddWindow(self.VariablesGrid, flag=wx.GROW)
self.Filters = []
@@ -276,12 +276,12 @@
main_sizer.AddGrowableRow(1)
variables_label = wx.StaticText(self.EthercatNodeEditor,
- label=_('Variable entries:'))
+ label=_('Variable entries:'))
main_sizer.AddWindow(variables_label, border=10, flag=wx.TOP | wx.LEFT | wx.RIGHT)
self.NodeVariables = NodeVariablesSizer(self.EthercatNodeEditor, self.Controler)
main_sizer.AddSizer(self.NodeVariables, border=10,
- flag=wx.GROW | wx.BOTTOM | wx.LEFT | wx.RIGHT)
+ flag=wx.GROW | wx.BOTTOM | wx.LEFT | wx.RIGHT)
self.EthercatNodeEditor.SetSizer(main_sizer)
@@ -304,7 +304,7 @@
# -------------------For EtherCAT Management ----------------------------------------------
def _create_EtherCATManagementEditor(self, prnt):
self.EtherCATManagementEditor = wx.ScrolledWindow(prnt,
- style=wx.TAB_TRAVERSAL | wx.HSCROLL | wx.VSCROLL)
+ style=wx.TAB_TRAVERSAL | wx.HSCROLL | wx.VSCROLL)
self.EtherCATManagementEditor.Bind(wx.EVT_SIZE, self.OnResize)
self.EtherCATManagermentEditor_Main_Sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=5)
@@ -327,7 +327,9 @@
posy = max(0, min(ystart, (maxy - window_size[1]) / SCROLLBAR_UNIT))
self.EtherCATManagementEditor.Scroll(posx, posy)
self.EtherCATManagementEditor.SetScrollbars(SCROLLBAR_UNIT, SCROLLBAR_UNIT,
- maxx / SCROLLBAR_UNIT, maxy / SCROLLBAR_UNIT, posx, posy)
+ maxx / SCROLLBAR_UNIT,
+ maxy / SCROLLBAR_UNIT,
+ posx, posy)
event.Skip()
# -------------------------------------------------------------------------------------------------------
@@ -634,18 +636,20 @@
posy = max(0, min(ystart, (maxy - window_size[1]) / SCROLLBAR_UNIT))
self.MasterStateEditor.Scroll(posx, posy)
self.MasterStateEditor.SetScrollbars(SCROLLBAR_UNIT, SCROLLBAR_UNIT,
- maxx / SCROLLBAR_UNIT, maxy / SCROLLBAR_UNIT, posx, posy)
+ maxx / SCROLLBAR_UNIT,
+ maxy / SCROLLBAR_UNIT,
+ posx, posy)
event.Skip()
def _create_EthercatMasterEditor(self, prnt):
self.EthercatMasterEditor = wx.ScrolledWindow(prnt,
- style=wx.TAB_TRAVERSAL | wx.HSCROLL | wx.VSCROLL)
+ style=wx.TAB_TRAVERSAL | wx.HSCROLL | wx.VSCROLL)
self.EthercatMasterEditor.Bind(wx.EVT_SIZE, self.OnResize)
self.EthercatMasterEditorSizer = wx.BoxSizer(wx.VERTICAL)
self.NodesFilter = wx.ComboBox(self.EthercatMasterEditor,
- style=wx.TE_PROCESS_ENTER)
+ style=wx.TE_PROCESS_ENTER)
self.Bind(wx.EVT_COMBOBOX, self.OnNodesFilterChanged, self.NodesFilter)
self.Bind(wx.EVT_TEXT_ENTER, self.OnNodesFilterChanged, self.NodesFilter)
self.NodesFilter.Bind(wx.EVT_CHAR, self.OnNodesFilterKeyDown)
@@ -653,9 +657,9 @@
process_variables_header = wx.BoxSizer(wx.HORIZONTAL)
process_variables_label = wx.StaticText(self.EthercatMasterEditor,
- label=_("Process variables mapped between nodes:"))
+ label=_("Process variables mapped between nodes:"))
process_variables_header.AddWindow(process_variables_label, 1,
- flag=wx.ALIGN_CENTER_VERTICAL)
+ flag=wx.ALIGN_CENTER_VERTICAL)
for name, bitmap, help in [
("AddVariableButton", "add_element", _("Add process variable")),
@@ -663,7 +667,7 @@
("UpVariableButton", "up", _("Move process variable up")),
("DownVariableButton", "down", _("Move process variable down"))]:
button = wx.lib.buttons.GenBitmapButton(self.EthercatMasterEditor, bitmap=GetBitmap(bitmap),
- size=wx.Size(28, 28), style=wx.NO_BORDER)
+ size=wx.Size(28, 28), style=wx.NO_BORDER)
button.SetToolTipString(help)
setattr(self, name, button)
process_variables_header.AddWindow(button, border=5, flag=wx.LEFT)
@@ -672,23 +676,23 @@
self.ProcessVariablesGrid.SetMinSize(wx.Size(0, 150))
self.ProcessVariablesGrid.SetDropTarget(ProcessVariableDropTarget(self))
self.ProcessVariablesGrid.Bind(wx.grid.EVT_GRID_CELL_CHANGE,
- self.OnProcessVariablesGridCellChange)
+ self.OnProcessVariablesGridCellChange)
self.ProcessVariablesGrid.Bind(wx.grid.EVT_GRID_CELL_LEFT_CLICK,
- self.OnProcessVariablesGridCellLeftClick)
+ self.OnProcessVariablesGridCellLeftClick)
self.ProcessVariablesGrid.Bind(wx.EVT_KEY_DOWN, self.OnProcessVariablesGridKeyDown)
startup_commands_header = wx.BoxSizer(wx.HORIZONTAL)
startup_commands_label = wx.StaticText(self.EthercatMasterEditor,
- label=_("Startup service variables assignments:"))
+ label=_("Startup service variables assignments:"))
startup_commands_header.AddWindow(startup_commands_label, 1,
- flag=wx.ALIGN_CENTER_VERTICAL)
+ flag=wx.ALIGN_CENTER_VERTICAL)
for name, bitmap, help in [
("AddCommandButton", "add_element", _("Add startup service variable")),
("DeleteCommandButton", "remove_element", _("Remove startup service variable"))]:
button = wx.lib.buttons.GenBitmapButton(self.EthercatMasterEditor, bitmap=GetBitmap(bitmap),
- size=wx.Size(28, 28), style=wx.NO_BORDER)
+ size=wx.Size(28, 28), style=wx.NO_BORDER)
button.SetToolTipString(help)
setattr(self, name, button)
startup_commands_header.AddWindow(button, border=5, flag=wx.LEFT)
@@ -697,9 +701,9 @@
self.StartupCommandsGrid.SetDropTarget(StartupCommandDropTarget(self))
self.StartupCommandsGrid.SetMinSize(wx.Size(0, 150))
self.StartupCommandsGrid.Bind(wx.grid.EVT_GRID_CELL_CHANGE,
- self.OnStartupCommandsGridCellChange)
+ self.OnStartupCommandsGridCellChange)
self.StartupCommandsGrid.Bind(wx.grid.EVT_GRID_EDITOR_SHOWN,
- self.OnStartupCommandsGridEditorShow)
+ self.OnStartupCommandsGridEditorShow)
self.NodesVariables = MasterNodesVariablesSizer(self.EthercatMasterEditor, self.Controler)
@@ -715,20 +719,20 @@
staticbox_sizer.AddSizer(main_staticbox_sizer, 1, flag=wx.GROW)
main_staticbox_sizer.AddWindow(self.NodesFilter, border=5, flag=wx.GROW | wx.ALL)
main_staticbox_sizer.AddSizer(process_variables_header, border=5,
- flag=wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM)
+ flag=wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM)
main_staticbox_sizer.AddWindow(self.ProcessVariablesGrid, 1,
- border=5, flag=wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM)
+ border=5, flag=wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM)
main_staticbox_sizer.AddSizer(startup_commands_header,
- border=5, flag=wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM)
+ border=5, flag=wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM)
main_staticbox_sizer.AddWindow(self.StartupCommandsGrid, 1,
- border=5, flag=wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM)
+ border=5, flag=wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM)
second_staticbox = wx.StaticBox(self.EthercatMasterEditor, label=_("Nodes variables filter:"))
second_staticbox_sizer = wx.StaticBoxSizer(second_staticbox, wx.VERTICAL)
second_staticbox_sizer.AddSizer(self.NodesVariables, 1, border=5, flag=wx.GROW | wx.ALL)
main_staticbox_sizer.AddSizer(second_staticbox_sizer, 1,
- border=5, flag=wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM)
+ border=5, flag=wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM)
self.EthercatMasterEditor.SetSizer(self.EthercatMasterEditorSizer)
@@ -1069,7 +1073,9 @@
posy = max(0, min(ystart, (maxy - window_size[1]) / SCROLLBAR_UNIT))
self.EthercatMasterEditor.Scroll(posx, posy)
self.EthercatMasterEditor.SetScrollbars(SCROLLBAR_UNIT, SCROLLBAR_UNIT,
- maxx / SCROLLBAR_UNIT, maxy / SCROLLBAR_UNIT, posx, posy)
+ maxx / SCROLLBAR_UNIT,
+ maxy / SCROLLBAR_UNIT,
+ posx, posy)
event.Skip()
# def OnButtonClick(self, event):
@@ -1113,15 +1119,15 @@
self.AddGrowableRow(3)
ESI_files_label = wx.StaticText(parent,
- label=_("ESI Files:"))
+ label=_("ESI Files:"))
self.AddWindow(ESI_files_label, border=10,
- flag=wx.TOP | wx.LEFT | wx.RIGHT)
+ flag=wx.TOP | wx.LEFT | wx.RIGHT)
folder_tree_sizer = wx.FlexGridSizer(cols=2, hgap=5, rows=1, vgap=0)
folder_tree_sizer.AddGrowableCol(0)
folder_tree_sizer.AddGrowableRow(0)
self.AddSizer(folder_tree_sizer, border=10,
- flag=wx.GROW | wx.LEFT | wx.RIGHT)
+ flag=wx.GROW | wx.LEFT | wx.RIGHT)
self.ESIFiles = FolderTree(parent, self.GetPath(), editable=False)
self.ESIFiles.SetFilter(".xml")
@@ -1129,12 +1135,13 @@
buttons_sizer = wx.BoxSizer(wx.VERTICAL)
folder_tree_sizer.AddSizer(buttons_sizer,
- flag=wx.ALIGN_CENTER_VERTICAL)
+ flag=wx.ALIGN_CENTER_VERTICAL)
for idx, (name, bitmap, help, callback) in enumerate(buttons):
button = wx.lib.buttons.GenBitmapButton(parent,
- bitmap=GetBitmap(bitmap),
- size=wx.Size(28, 28), style=wx.NO_BORDER)
+ bitmap=GetBitmap(bitmap),
+ size=wx.Size(28, 28),
+ style=wx.NO_BORDER)
button.SetToolTipString(help)
setattr(self, name, button)
if idx > 0:
@@ -1148,26 +1155,26 @@
buttons_sizer.AddWindow(button, border=10, flag=flag)
modules_label = wx.StaticText(parent,
- label=_("Modules library:"))
+ label=_("Modules library:"))
self.AddSizer(modules_label, border=10,
- flag=wx.LEFT | wx.RIGHT)
+ flag=wx.LEFT | wx.RIGHT)
self.ModulesGrid = wx.gizmos.TreeListCtrl(parent,
- style=wx.TR_DEFAULT_STYLE |
- wx.TR_ROW_LINES |
- wx.TR_COLUMN_LINES |
- wx.TR_HIDE_ROOT |
- wx.TR_FULL_ROW_HIGHLIGHT)
+ style=wx.TR_DEFAULT_STYLE |
+ wx.TR_ROW_LINES |
+ wx.TR_COLUMN_LINES |
+ wx.TR_HIDE_ROOT |
+ wx.TR_FULL_ROW_HIGHLIGHT)
self.ModulesGrid.GetMainWindow().Bind(wx.EVT_LEFT_DOWN,
- self.OnModulesGridLeftDown)
+ self.OnModulesGridLeftDown)
self.ModulesGrid.Bind(wx.EVT_TREE_BEGIN_LABEL_EDIT,
- self.OnModulesGridBeginLabelEdit)
+ self.OnModulesGridBeginLabelEdit)
self.ModulesGrid.Bind(wx.EVT_TREE_END_LABEL_EDIT,
- self.OnModulesGridEndLabelEdit)
+ self.OnModulesGridEndLabelEdit)
self.ModulesGrid.GetHeaderWindow().Bind(wx.EVT_MOTION,
- self.OnModulesGridHeaderMotion)
+ self.OnModulesGridHeaderMotion)
self.AddWindow(self.ModulesGrid, border=10,
- flag=wx.GROW | wx.BOTTOM | wx.LEFT | wx.RIGHT)
+ flag=wx.GROW | wx.BOTTOM | wx.LEFT | wx.RIGHT)
for colname, colsize, colalign in zip(
[_("Name")] + [param_infos["column_label"]
@@ -1202,8 +1209,8 @@
if not root.IsOk():
root = self.ModulesGrid.AddRoot("Modules")
self.GenerateModulesGridBranch(root,
- self.ModuleLibrary.GetModulesLibrary(),
- GetVariablesTableColnames())
+ self.ModuleLibrary.GetModulesLibrary(),
+ GetVariablesTableColnames())
self.ModulesGrid.Expand(root)
def GenerateModulesGridBranch(self, root, modules, colnames):
@@ -1237,9 +1244,10 @@
def OnImportButton(self, event):
dialog = wx.FileDialog(self.ParentWindow,
- _("Choose an XML file"),
- os.getcwd(), "",
- _("XML files (*.xml)|*.xml|All files|*.*"), wx.OPEN)
+ _("Choose an XML file"),
+ os.getcwd(), "",
+ _("XML files (*.xml)|*.xml|All files|*.*"),
+ wx.OPEN)
if dialog.ShowModal() == wx.ID_OK:
filepath = dialog.GetPath()
@@ -1247,8 +1255,9 @@
wx.CallAfter(self.RefreshView)
else:
message = wx.MessageDialog(self,
- _("No such XML file: %s\n") % filepath,
- _("Error"), wx.OK | wx.ICON_ERROR)
+ _("No such XML file: %s\n") % filepath,
+ _("Error"),
+ wx.OK | wx.ICON_ERROR)
message.ShowModal()
message.Destroy()
dialog.Destroy()
@@ -1261,8 +1270,9 @@
folder, filename = os.path.split(filepath)
dialog = wx.MessageDialog(self.ParentWindow,
- _("Do you really want to delete the file '%s'?") % filename,
- _("Delete File"), wx.YES_NO | wx.ICON_QUESTION)
+ _("Do you really want to delete the file '%s'?") % filename,
+ _("Delete File"),
+ wx.YES_NO | wx.ICON_QUESTION)
remove = dialog.ShowModal() == wx.ID_YES
dialog.Destroy()
@@ -1313,8 +1323,9 @@
event.Skip()
except ValueError:
message = wx.MessageDialog(self,
- _("Module %s must be an integer!") % stripped_column_label,
- _("Error"), wx.OK | wx.ICON_ERROR)
+ _("Module %s must be an integer!") % stripped_column_label,
+ _("Error"),
+ wx.OK | wx.ICON_ERROR)
message.ShowModal()
message.Destroy()
event.Veto()
@@ -1340,25 +1351,29 @@
def __init__(self, parent, database):
wx.Dialog.__init__(self, parent,
- size=wx.Size(700, 500), title=_('ESI Files Database management'),
- style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER)
+ size=wx.Size(700, 500),
+ title=_('ESI Files Database management'),
+ style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER)
main_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=10)
main_sizer.AddGrowableCol(0)
main_sizer.AddGrowableRow(0)
- self.DatabaseSizer = LibraryEditorSizer(self, database,
- [("ImportButton", "ImportESI", _("Import file to ESI files database"), None),
- ("DeleteButton", "remove_element", _("Remove file from database"), None)])
+ self.DatabaseSizer = LibraryEditorSizer(
+ self, database,
+ [
+ ("ImportButton", "ImportESI", _("Import file to ESI files database"), None),
+ ("DeleteButton", "remove_element", _("Remove file from database"), None)
+ ])
self.DatabaseSizer.SetControlMinSize(wx.Size(0, 0))
main_sizer.AddSizer(self.DatabaseSizer, border=10,
- flag=wx.GROW | wx.TOP | wx.LEFT | wx.RIGHT)
+ flag=wx.GROW | wx.TOP | wx.LEFT | wx.RIGHT)
button_sizer = self.CreateButtonSizer(wx.OK | wx.CANCEL | wx.CENTRE)
button_sizer.GetAffirmativeButton().SetLabel(_("Add file to project"))
button_sizer.GetCancelButton().SetLabel(_("Close"))
main_sizer.AddSizer(button_sizer, border=10,
- flag=wx.ALIGN_RIGHT | wx.BOTTOM | wx.LEFT | wx.RIGHT)
+ flag=wx.ALIGN_RIGHT | wx.BOTTOM | wx.LEFT | wx.RIGHT)
self.SetSizer(main_sizer)
@@ -1375,14 +1390,17 @@
def _create_ModuleLibraryEditor(self, prnt):
self.ModuleLibraryEditor = wx.ScrolledWindow(prnt,
- style=wx.TAB_TRAVERSAL | wx.HSCROLL | wx.VSCROLL)
+ style=wx.TAB_TRAVERSAL | wx.HSCROLL | wx.VSCROLL)
self.ModuleLibraryEditor.Bind(wx.EVT_SIZE, self.OnResize)
- self.ModuleLibrarySizer = LibraryEditorSizer(self.ModuleLibraryEditor,
+ self.ModuleLibrarySizer = LibraryEditorSizer(
+ self.ModuleLibraryEditor,
self.Controler.GetModulesLibraryInstance(),
- [("ImportButton", "ImportESI", _("Import ESI file"), None),
- ("AddButton", "ImportDatabase", _("Add file from ESI files database"), self.OnAddButton),
- ("DeleteButton", "remove_element", _("Remove file from library"), None)])
+ [
+ ("ImportButton", "ImportESI", _("Import ESI file"), None),
+ ("AddButton", "ImportDatabase", _("Add file from ESI files database"), self.OnAddButton),
+ ("DeleteButton", "remove_element", _("Remove file from library"), None)
+ ])
self.ModuleLibrarySizer.SetControlMinSize(wx.Size(0, 200))
self.ModuleLibraryEditor.SetSizer(self.ModuleLibrarySizer)
@@ -1399,7 +1417,7 @@
def OnAddButton(self, event):
dialog = DatabaseManagementDialog(self,
- self.Controler.GetModulesDatabaseInstance())
+ self.Controler.GetModulesDatabaseInstance())
if dialog.ShowModal() == wx.ID_OK:
module_library = self.Controler.GetModulesLibraryInstance()
@@ -1420,5 +1438,7 @@
posy = max(0, min(ystart, (maxy - window_size[1]) / SCROLLBAR_UNIT))
self.ModuleLibraryEditor.Scroll(posx, posy)
self.ModuleLibraryEditor.SetScrollbars(SCROLLBAR_UNIT, SCROLLBAR_UNIT,
- maxx / SCROLLBAR_UNIT, maxy / SCROLLBAR_UNIT, posx, posy)
+ maxx / SCROLLBAR_UNIT,
+ maxy / SCROLLBAR_UNIT,
+ posx, posy)
event.Skip()