632 maxx, maxy = self.MasterStateEditor.GetMinSize() |
634 maxx, maxy = self.MasterStateEditor.GetMinSize() |
633 posx = max(0, min(xstart, (maxx - window_size[0]) / SCROLLBAR_UNIT)) |
635 posx = max(0, min(xstart, (maxx - window_size[0]) / SCROLLBAR_UNIT)) |
634 posy = max(0, min(ystart, (maxy - window_size[1]) / SCROLLBAR_UNIT)) |
636 posy = max(0, min(ystart, (maxy - window_size[1]) / SCROLLBAR_UNIT)) |
635 self.MasterStateEditor.Scroll(posx, posy) |
637 self.MasterStateEditor.Scroll(posx, posy) |
636 self.MasterStateEditor.SetScrollbars(SCROLLBAR_UNIT, SCROLLBAR_UNIT, |
638 self.MasterStateEditor.SetScrollbars(SCROLLBAR_UNIT, SCROLLBAR_UNIT, |
637 maxx / SCROLLBAR_UNIT, maxy / SCROLLBAR_UNIT, posx, posy) |
639 maxx / SCROLLBAR_UNIT, |
|
640 maxy / SCROLLBAR_UNIT, |
|
641 posx, posy) |
638 event.Skip() |
642 event.Skip() |
639 |
643 |
640 def _create_EthercatMasterEditor(self, prnt): |
644 def _create_EthercatMasterEditor(self, prnt): |
641 self.EthercatMasterEditor = wx.ScrolledWindow(prnt, |
645 self.EthercatMasterEditor = wx.ScrolledWindow(prnt, |
642 style=wx.TAB_TRAVERSAL | wx.HSCROLL | wx.VSCROLL) |
646 style=wx.TAB_TRAVERSAL | wx.HSCROLL | wx.VSCROLL) |
643 self.EthercatMasterEditor.Bind(wx.EVT_SIZE, self.OnResize) |
647 self.EthercatMasterEditor.Bind(wx.EVT_SIZE, self.OnResize) |
644 |
648 |
645 self.EthercatMasterEditorSizer = wx.BoxSizer(wx.VERTICAL) |
649 self.EthercatMasterEditorSizer = wx.BoxSizer(wx.VERTICAL) |
646 |
650 |
647 self.NodesFilter = wx.ComboBox(self.EthercatMasterEditor, |
651 self.NodesFilter = wx.ComboBox(self.EthercatMasterEditor, |
648 style=wx.TE_PROCESS_ENTER) |
652 style=wx.TE_PROCESS_ENTER) |
649 self.Bind(wx.EVT_COMBOBOX, self.OnNodesFilterChanged, self.NodesFilter) |
653 self.Bind(wx.EVT_COMBOBOX, self.OnNodesFilterChanged, self.NodesFilter) |
650 self.Bind(wx.EVT_TEXT_ENTER, self.OnNodesFilterChanged, self.NodesFilter) |
654 self.Bind(wx.EVT_TEXT_ENTER, self.OnNodesFilterChanged, self.NodesFilter) |
651 self.NodesFilter.Bind(wx.EVT_CHAR, self.OnNodesFilterKeyDown) |
655 self.NodesFilter.Bind(wx.EVT_CHAR, self.OnNodesFilterKeyDown) |
652 |
656 |
653 process_variables_header = wx.BoxSizer(wx.HORIZONTAL) |
657 process_variables_header = wx.BoxSizer(wx.HORIZONTAL) |
654 |
658 |
655 process_variables_label = wx.StaticText(self.EthercatMasterEditor, |
659 process_variables_label = wx.StaticText(self.EthercatMasterEditor, |
656 label=_("Process variables mapped between nodes:")) |
660 label=_("Process variables mapped between nodes:")) |
657 process_variables_header.AddWindow(process_variables_label, 1, |
661 process_variables_header.AddWindow(process_variables_label, 1, |
658 flag=wx.ALIGN_CENTER_VERTICAL) |
662 flag=wx.ALIGN_CENTER_VERTICAL) |
659 |
663 |
660 for name, bitmap, help in [ |
664 for name, bitmap, help in [ |
661 ("AddVariableButton", "add_element", _("Add process variable")), |
665 ("AddVariableButton", "add_element", _("Add process variable")), |
662 ("DeleteVariableButton", "remove_element", _("Remove process variable")), |
666 ("DeleteVariableButton", "remove_element", _("Remove process variable")), |
663 ("UpVariableButton", "up", _("Move process variable up")), |
667 ("UpVariableButton", "up", _("Move process variable up")), |
664 ("DownVariableButton", "down", _("Move process variable down"))]: |
668 ("DownVariableButton", "down", _("Move process variable down"))]: |
665 button = wx.lib.buttons.GenBitmapButton(self.EthercatMasterEditor, bitmap=GetBitmap(bitmap), |
669 button = wx.lib.buttons.GenBitmapButton(self.EthercatMasterEditor, bitmap=GetBitmap(bitmap), |
666 size=wx.Size(28, 28), style=wx.NO_BORDER) |
670 size=wx.Size(28, 28), style=wx.NO_BORDER) |
667 button.SetToolTipString(help) |
671 button.SetToolTipString(help) |
668 setattr(self, name, button) |
672 setattr(self, name, button) |
669 process_variables_header.AddWindow(button, border=5, flag=wx.LEFT) |
673 process_variables_header.AddWindow(button, border=5, flag=wx.LEFT) |
670 |
674 |
671 self.ProcessVariablesGrid = CustomGrid(self.EthercatMasterEditor, style=wx.VSCROLL) |
675 self.ProcessVariablesGrid = CustomGrid(self.EthercatMasterEditor, style=wx.VSCROLL) |
672 self.ProcessVariablesGrid.SetMinSize(wx.Size(0, 150)) |
676 self.ProcessVariablesGrid.SetMinSize(wx.Size(0, 150)) |
673 self.ProcessVariablesGrid.SetDropTarget(ProcessVariableDropTarget(self)) |
677 self.ProcessVariablesGrid.SetDropTarget(ProcessVariableDropTarget(self)) |
674 self.ProcessVariablesGrid.Bind(wx.grid.EVT_GRID_CELL_CHANGE, |
678 self.ProcessVariablesGrid.Bind(wx.grid.EVT_GRID_CELL_CHANGE, |
675 self.OnProcessVariablesGridCellChange) |
679 self.OnProcessVariablesGridCellChange) |
676 self.ProcessVariablesGrid.Bind(wx.grid.EVT_GRID_CELL_LEFT_CLICK, |
680 self.ProcessVariablesGrid.Bind(wx.grid.EVT_GRID_CELL_LEFT_CLICK, |
677 self.OnProcessVariablesGridCellLeftClick) |
681 self.OnProcessVariablesGridCellLeftClick) |
678 self.ProcessVariablesGrid.Bind(wx.EVT_KEY_DOWN, self.OnProcessVariablesGridKeyDown) |
682 self.ProcessVariablesGrid.Bind(wx.EVT_KEY_DOWN, self.OnProcessVariablesGridKeyDown) |
679 |
683 |
680 startup_commands_header = wx.BoxSizer(wx.HORIZONTAL) |
684 startup_commands_header = wx.BoxSizer(wx.HORIZONTAL) |
681 |
685 |
682 startup_commands_label = wx.StaticText(self.EthercatMasterEditor, |
686 startup_commands_label = wx.StaticText(self.EthercatMasterEditor, |
683 label=_("Startup service variables assignments:")) |
687 label=_("Startup service variables assignments:")) |
684 startup_commands_header.AddWindow(startup_commands_label, 1, |
688 startup_commands_header.AddWindow(startup_commands_label, 1, |
685 flag=wx.ALIGN_CENTER_VERTICAL) |
689 flag=wx.ALIGN_CENTER_VERTICAL) |
686 |
690 |
687 for name, bitmap, help in [ |
691 for name, bitmap, help in [ |
688 ("AddCommandButton", "add_element", _("Add startup service variable")), |
692 ("AddCommandButton", "add_element", _("Add startup service variable")), |
689 ("DeleteCommandButton", "remove_element", _("Remove startup service variable"))]: |
693 ("DeleteCommandButton", "remove_element", _("Remove startup service variable"))]: |
690 button = wx.lib.buttons.GenBitmapButton(self.EthercatMasterEditor, bitmap=GetBitmap(bitmap), |
694 button = wx.lib.buttons.GenBitmapButton(self.EthercatMasterEditor, bitmap=GetBitmap(bitmap), |
691 size=wx.Size(28, 28), style=wx.NO_BORDER) |
695 size=wx.Size(28, 28), style=wx.NO_BORDER) |
692 button.SetToolTipString(help) |
696 button.SetToolTipString(help) |
693 setattr(self, name, button) |
697 setattr(self, name, button) |
694 startup_commands_header.AddWindow(button, border=5, flag=wx.LEFT) |
698 startup_commands_header.AddWindow(button, border=5, flag=wx.LEFT) |
695 |
699 |
696 self.StartupCommandsGrid = CustomGrid(self.EthercatMasterEditor, style=wx.VSCROLL) |
700 self.StartupCommandsGrid = CustomGrid(self.EthercatMasterEditor, style=wx.VSCROLL) |
697 self.StartupCommandsGrid.SetDropTarget(StartupCommandDropTarget(self)) |
701 self.StartupCommandsGrid.SetDropTarget(StartupCommandDropTarget(self)) |
698 self.StartupCommandsGrid.SetMinSize(wx.Size(0, 150)) |
702 self.StartupCommandsGrid.SetMinSize(wx.Size(0, 150)) |
699 self.StartupCommandsGrid.Bind(wx.grid.EVT_GRID_CELL_CHANGE, |
703 self.StartupCommandsGrid.Bind(wx.grid.EVT_GRID_CELL_CHANGE, |
700 self.OnStartupCommandsGridCellChange) |
704 self.OnStartupCommandsGridCellChange) |
701 self.StartupCommandsGrid.Bind(wx.grid.EVT_GRID_EDITOR_SHOWN, |
705 self.StartupCommandsGrid.Bind(wx.grid.EVT_GRID_EDITOR_SHOWN, |
702 self.OnStartupCommandsGridEditorShow) |
706 self.OnStartupCommandsGridEditorShow) |
703 |
707 |
704 self.NodesVariables = MasterNodesVariablesSizer(self.EthercatMasterEditor, self.Controler) |
708 self.NodesVariables = MasterNodesVariablesSizer(self.EthercatMasterEditor, self.Controler) |
705 |
709 |
706 main_staticbox = wx.StaticBox(self.EthercatMasterEditor, label=_("Node filter:")) |
710 main_staticbox = wx.StaticBox(self.EthercatMasterEditor, label=_("Node filter:")) |
707 staticbox_sizer = wx.StaticBoxSizer(main_staticbox, wx.VERTICAL) |
711 staticbox_sizer = wx.StaticBoxSizer(main_staticbox, wx.VERTICAL) |
713 main_staticbox_sizer.AddGrowableRow(4) |
717 main_staticbox_sizer.AddGrowableRow(4) |
714 main_staticbox_sizer.AddGrowableRow(5) |
718 main_staticbox_sizer.AddGrowableRow(5) |
715 staticbox_sizer.AddSizer(main_staticbox_sizer, 1, flag=wx.GROW) |
719 staticbox_sizer.AddSizer(main_staticbox_sizer, 1, flag=wx.GROW) |
716 main_staticbox_sizer.AddWindow(self.NodesFilter, border=5, flag=wx.GROW | wx.ALL) |
720 main_staticbox_sizer.AddWindow(self.NodesFilter, border=5, flag=wx.GROW | wx.ALL) |
717 main_staticbox_sizer.AddSizer(process_variables_header, border=5, |
721 main_staticbox_sizer.AddSizer(process_variables_header, border=5, |
718 flag=wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM) |
722 flag=wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM) |
719 main_staticbox_sizer.AddWindow(self.ProcessVariablesGrid, 1, |
723 main_staticbox_sizer.AddWindow(self.ProcessVariablesGrid, 1, |
720 border=5, flag=wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM) |
724 border=5, flag=wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM) |
721 main_staticbox_sizer.AddSizer(startup_commands_header, |
725 main_staticbox_sizer.AddSizer(startup_commands_header, |
722 border=5, flag=wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM) |
726 border=5, flag=wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM) |
723 main_staticbox_sizer.AddWindow(self.StartupCommandsGrid, 1, |
727 main_staticbox_sizer.AddWindow(self.StartupCommandsGrid, 1, |
724 border=5, flag=wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM) |
728 border=5, flag=wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM) |
725 |
729 |
726 second_staticbox = wx.StaticBox(self.EthercatMasterEditor, label=_("Nodes variables filter:")) |
730 second_staticbox = wx.StaticBox(self.EthercatMasterEditor, label=_("Nodes variables filter:")) |
727 second_staticbox_sizer = wx.StaticBoxSizer(second_staticbox, wx.VERTICAL) |
731 second_staticbox_sizer = wx.StaticBoxSizer(second_staticbox, wx.VERTICAL) |
728 second_staticbox_sizer.AddSizer(self.NodesVariables, 1, border=5, flag=wx.GROW | wx.ALL) |
732 second_staticbox_sizer.AddSizer(self.NodesVariables, 1, border=5, flag=wx.GROW | wx.ALL) |
729 |
733 |
730 main_staticbox_sizer.AddSizer(second_staticbox_sizer, 1, |
734 main_staticbox_sizer.AddSizer(second_staticbox_sizer, 1, |
731 border=5, flag=wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM) |
735 border=5, flag=wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM) |
732 |
736 |
733 self.EthercatMasterEditor.SetSizer(self.EthercatMasterEditorSizer) |
737 self.EthercatMasterEditor.SetSizer(self.EthercatMasterEditorSizer) |
734 |
738 |
735 return self.EthercatMasterEditor |
739 return self.EthercatMasterEditor |
736 |
740 |
1111 self.AddGrowableCol(0) |
1117 self.AddGrowableCol(0) |
1112 self.AddGrowableRow(1) |
1118 self.AddGrowableRow(1) |
1113 self.AddGrowableRow(3) |
1119 self.AddGrowableRow(3) |
1114 |
1120 |
1115 ESI_files_label = wx.StaticText(parent, |
1121 ESI_files_label = wx.StaticText(parent, |
1116 label=_("ESI Files:")) |
1122 label=_("ESI Files:")) |
1117 self.AddWindow(ESI_files_label, border=10, |
1123 self.AddWindow(ESI_files_label, border=10, |
1118 flag=wx.TOP | wx.LEFT | wx.RIGHT) |
1124 flag=wx.TOP | wx.LEFT | wx.RIGHT) |
1119 |
1125 |
1120 folder_tree_sizer = wx.FlexGridSizer(cols=2, hgap=5, rows=1, vgap=0) |
1126 folder_tree_sizer = wx.FlexGridSizer(cols=2, hgap=5, rows=1, vgap=0) |
1121 folder_tree_sizer.AddGrowableCol(0) |
1127 folder_tree_sizer.AddGrowableCol(0) |
1122 folder_tree_sizer.AddGrowableRow(0) |
1128 folder_tree_sizer.AddGrowableRow(0) |
1123 self.AddSizer(folder_tree_sizer, border=10, |
1129 self.AddSizer(folder_tree_sizer, border=10, |
1124 flag=wx.GROW | wx.LEFT | wx.RIGHT) |
1130 flag=wx.GROW | wx.LEFT | wx.RIGHT) |
1125 |
1131 |
1126 self.ESIFiles = FolderTree(parent, self.GetPath(), editable=False) |
1132 self.ESIFiles = FolderTree(parent, self.GetPath(), editable=False) |
1127 self.ESIFiles.SetFilter(".xml") |
1133 self.ESIFiles.SetFilter(".xml") |
1128 folder_tree_sizer.AddWindow(self.ESIFiles, flag=wx.GROW) |
1134 folder_tree_sizer.AddWindow(self.ESIFiles, flag=wx.GROW) |
1129 |
1135 |
1130 buttons_sizer = wx.BoxSizer(wx.VERTICAL) |
1136 buttons_sizer = wx.BoxSizer(wx.VERTICAL) |
1131 folder_tree_sizer.AddSizer(buttons_sizer, |
1137 folder_tree_sizer.AddSizer(buttons_sizer, |
1132 flag=wx.ALIGN_CENTER_VERTICAL) |
1138 flag=wx.ALIGN_CENTER_VERTICAL) |
1133 |
1139 |
1134 for idx, (name, bitmap, help, callback) in enumerate(buttons): |
1140 for idx, (name, bitmap, help, callback) in enumerate(buttons): |
1135 button = wx.lib.buttons.GenBitmapButton(parent, |
1141 button = wx.lib.buttons.GenBitmapButton(parent, |
1136 bitmap=GetBitmap(bitmap), |
1142 bitmap=GetBitmap(bitmap), |
1137 size=wx.Size(28, 28), style=wx.NO_BORDER) |
1143 size=wx.Size(28, 28), |
|
1144 style=wx.NO_BORDER) |
1138 button.SetToolTipString(help) |
1145 button.SetToolTipString(help) |
1139 setattr(self, name, button) |
1146 setattr(self, name, button) |
1140 if idx > 0: |
1147 if idx > 0: |
1141 flag = wx.TOP |
1148 flag = wx.TOP |
1142 else: |
1149 else: |
1146 if callback is not None: |
1153 if callback is not None: |
1147 parent.Bind(wx.EVT_BUTTON, callback, button) |
1154 parent.Bind(wx.EVT_BUTTON, callback, button) |
1148 buttons_sizer.AddWindow(button, border=10, flag=flag) |
1155 buttons_sizer.AddWindow(button, border=10, flag=flag) |
1149 |
1156 |
1150 modules_label = wx.StaticText(parent, |
1157 modules_label = wx.StaticText(parent, |
1151 label=_("Modules library:")) |
1158 label=_("Modules library:")) |
1152 self.AddSizer(modules_label, border=10, |
1159 self.AddSizer(modules_label, border=10, |
1153 flag=wx.LEFT | wx.RIGHT) |
1160 flag=wx.LEFT | wx.RIGHT) |
1154 |
1161 |
1155 self.ModulesGrid = wx.gizmos.TreeListCtrl(parent, |
1162 self.ModulesGrid = wx.gizmos.TreeListCtrl(parent, |
1156 style=wx.TR_DEFAULT_STYLE | |
1163 style=wx.TR_DEFAULT_STYLE | |
1157 wx.TR_ROW_LINES | |
1164 wx.TR_ROW_LINES | |
1158 wx.TR_COLUMN_LINES | |
1165 wx.TR_COLUMN_LINES | |
1159 wx.TR_HIDE_ROOT | |
1166 wx.TR_HIDE_ROOT | |
1160 wx.TR_FULL_ROW_HIGHLIGHT) |
1167 wx.TR_FULL_ROW_HIGHLIGHT) |
1161 self.ModulesGrid.GetMainWindow().Bind(wx.EVT_LEFT_DOWN, |
1168 self.ModulesGrid.GetMainWindow().Bind(wx.EVT_LEFT_DOWN, |
1162 self.OnModulesGridLeftDown) |
1169 self.OnModulesGridLeftDown) |
1163 self.ModulesGrid.Bind(wx.EVT_TREE_BEGIN_LABEL_EDIT, |
1170 self.ModulesGrid.Bind(wx.EVT_TREE_BEGIN_LABEL_EDIT, |
1164 self.OnModulesGridBeginLabelEdit) |
1171 self.OnModulesGridBeginLabelEdit) |
1165 self.ModulesGrid.Bind(wx.EVT_TREE_END_LABEL_EDIT, |
1172 self.ModulesGrid.Bind(wx.EVT_TREE_END_LABEL_EDIT, |
1166 self.OnModulesGridEndLabelEdit) |
1173 self.OnModulesGridEndLabelEdit) |
1167 self.ModulesGrid.GetHeaderWindow().Bind(wx.EVT_MOTION, |
1174 self.ModulesGrid.GetHeaderWindow().Bind(wx.EVT_MOTION, |
1168 self.OnModulesGridHeaderMotion) |
1175 self.OnModulesGridHeaderMotion) |
1169 self.AddWindow(self.ModulesGrid, border=10, |
1176 self.AddWindow(self.ModulesGrid, border=10, |
1170 flag=wx.GROW | wx.BOTTOM | wx.LEFT | wx.RIGHT) |
1177 flag=wx.GROW | wx.BOTTOM | wx.LEFT | wx.RIGHT) |
1171 |
1178 |
1172 for colname, colsize, colalign in zip( |
1179 for colname, colsize, colalign in zip( |
1173 [_("Name")] + [param_infos["column_label"] |
1180 [_("Name")] + [param_infos["column_label"] |
1174 for param, param_infos in |
1181 for param, param_infos in |
1175 self.ModuleLibrary.MODULES_EXTRA_PARAMS], |
1182 self.ModuleLibrary.MODULES_EXTRA_PARAMS], |
1338 |
1349 |
1339 class DatabaseManagementDialog(wx.Dialog): |
1350 class DatabaseManagementDialog(wx.Dialog): |
1340 |
1351 |
1341 def __init__(self, parent, database): |
1352 def __init__(self, parent, database): |
1342 wx.Dialog.__init__(self, parent, |
1353 wx.Dialog.__init__(self, parent, |
1343 size=wx.Size(700, 500), title=_('ESI Files Database management'), |
1354 size=wx.Size(700, 500), |
1344 style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER) |
1355 title=_('ESI Files Database management'), |
|
1356 style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER) |
1345 |
1357 |
1346 main_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=10) |
1358 main_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=10) |
1347 main_sizer.AddGrowableCol(0) |
1359 main_sizer.AddGrowableCol(0) |
1348 main_sizer.AddGrowableRow(0) |
1360 main_sizer.AddGrowableRow(0) |
1349 |
1361 |
1350 self.DatabaseSizer = LibraryEditorSizer(self, database, |
1362 self.DatabaseSizer = LibraryEditorSizer( |
1351 [("ImportButton", "ImportESI", _("Import file to ESI files database"), None), |
1363 self, database, |
1352 ("DeleteButton", "remove_element", _("Remove file from database"), None)]) |
1364 [ |
|
1365 ("ImportButton", "ImportESI", _("Import file to ESI files database"), None), |
|
1366 ("DeleteButton", "remove_element", _("Remove file from database"), None) |
|
1367 ]) |
1353 self.DatabaseSizer.SetControlMinSize(wx.Size(0, 0)) |
1368 self.DatabaseSizer.SetControlMinSize(wx.Size(0, 0)) |
1354 main_sizer.AddSizer(self.DatabaseSizer, border=10, |
1369 main_sizer.AddSizer(self.DatabaseSizer, border=10, |
1355 flag=wx.GROW | wx.TOP | wx.LEFT | wx.RIGHT) |
1370 flag=wx.GROW | wx.TOP | wx.LEFT | wx.RIGHT) |
1356 |
1371 |
1357 button_sizer = self.CreateButtonSizer(wx.OK | wx.CANCEL | wx.CENTRE) |
1372 button_sizer = self.CreateButtonSizer(wx.OK | wx.CANCEL | wx.CENTRE) |
1358 button_sizer.GetAffirmativeButton().SetLabel(_("Add file to project")) |
1373 button_sizer.GetAffirmativeButton().SetLabel(_("Add file to project")) |
1359 button_sizer.GetCancelButton().SetLabel(_("Close")) |
1374 button_sizer.GetCancelButton().SetLabel(_("Close")) |
1360 main_sizer.AddSizer(button_sizer, border=10, |
1375 main_sizer.AddSizer(button_sizer, border=10, |
1361 flag=wx.ALIGN_RIGHT | wx.BOTTOM | wx.LEFT | wx.RIGHT) |
1376 flag=wx.ALIGN_RIGHT | wx.BOTTOM | wx.LEFT | wx.RIGHT) |
1362 |
1377 |
1363 self.SetSizer(main_sizer) |
1378 self.SetSizer(main_sizer) |
1364 |
1379 |
1365 self.DatabaseSizer.RefreshView() |
1380 self.DatabaseSizer.RefreshView() |
1366 |
1381 |
1373 CONFNODEEDITOR_TABS = [ |
1388 CONFNODEEDITOR_TABS = [ |
1374 (_("Modules Library"), "_create_ModuleLibraryEditor")] |
1389 (_("Modules Library"), "_create_ModuleLibraryEditor")] |
1375 |
1390 |
1376 def _create_ModuleLibraryEditor(self, prnt): |
1391 def _create_ModuleLibraryEditor(self, prnt): |
1377 self.ModuleLibraryEditor = wx.ScrolledWindow(prnt, |
1392 self.ModuleLibraryEditor = wx.ScrolledWindow(prnt, |
1378 style=wx.TAB_TRAVERSAL | wx.HSCROLL | wx.VSCROLL) |
1393 style=wx.TAB_TRAVERSAL | wx.HSCROLL | wx.VSCROLL) |
1379 self.ModuleLibraryEditor.Bind(wx.EVT_SIZE, self.OnResize) |
1394 self.ModuleLibraryEditor.Bind(wx.EVT_SIZE, self.OnResize) |
1380 |
1395 |
1381 self.ModuleLibrarySizer = LibraryEditorSizer(self.ModuleLibraryEditor, |
1396 self.ModuleLibrarySizer = LibraryEditorSizer( |
|
1397 self.ModuleLibraryEditor, |
1382 self.Controler.GetModulesLibraryInstance(), |
1398 self.Controler.GetModulesLibraryInstance(), |
1383 [("ImportButton", "ImportESI", _("Import ESI file"), None), |
1399 [ |
1384 ("AddButton", "ImportDatabase", _("Add file from ESI files database"), self.OnAddButton), |
1400 ("ImportButton", "ImportESI", _("Import ESI file"), None), |
1385 ("DeleteButton", "remove_element", _("Remove file from library"), None)]) |
1401 ("AddButton", "ImportDatabase", _("Add file from ESI files database"), self.OnAddButton), |
|
1402 ("DeleteButton", "remove_element", _("Remove file from library"), None) |
|
1403 ]) |
1386 self.ModuleLibrarySizer.SetControlMinSize(wx.Size(0, 200)) |
1404 self.ModuleLibrarySizer.SetControlMinSize(wx.Size(0, 200)) |
1387 self.ModuleLibraryEditor.SetSizer(self.ModuleLibrarySizer) |
1405 self.ModuleLibraryEditor.SetSizer(self.ModuleLibrarySizer) |
1388 |
1406 |
1389 return self.ModuleLibraryEditor |
1407 return self.ModuleLibraryEditor |
1390 |
1408 |