683 self.AddButton.Enable(not self.PouIsUsed or self.Filter not in ["Interface", "Input", "Output", "InOut"]) |
683 self.AddButton.Enable(not self.PouIsUsed or self.Filter not in ["Interface", "Input", "Output", "InOut"]) |
684 self.DeleteButton.Enable(table_length > 0 and row_edit and row_class not in ["Input", "Output", "InOut"]) |
684 self.DeleteButton.Enable(table_length > 0 and row_edit and row_class not in ["Input", "Output", "InOut"]) |
685 self.UpButton.Enable(table_length > 0 and row > 0 and self.Filter == "All" and row_class not in ["Input", "Output", "InOut"]) |
685 self.UpButton.Enable(table_length > 0 and row > 0 and self.Filter == "All" and row_class not in ["Input", "Output", "InOut"]) |
686 self.DownButton.Enable(table_length > 0 and row < table_length - 1 and self.Filter == "All" and row_class not in ["Input", "Output", "InOut"]) |
686 self.DownButton.Enable(table_length > 0 and row < table_length - 1 and self.Filter == "All" and row_class not in ["Input", "Output", "InOut"]) |
687 |
687 |
|
688 def CloseVariablesGridEditControl(self): |
|
689 row = self.VariablesGrid.GetGridCursorRow() |
|
690 col = self.VariablesGrid.GetGridCursorCol() |
|
691 self.VariablesGrid.SetGridCursor(row, col) |
|
692 |
688 def OnAddButton(self, event): |
693 def OnAddButton(self, event): |
|
694 self.CloseVariablesGridEditControl() |
689 new_row = self.DefaultValue.copy() |
695 new_row = self.DefaultValue.copy() |
690 if self.Filter in self.DefaultTypes: |
696 if self.Filter in self.DefaultTypes: |
691 new_row["Class"] = self.DefaultTypes[self.Filter] |
697 new_row["Class"] = self.DefaultTypes[self.Filter] |
692 else: |
698 else: |
693 new_row["Class"] = self.Filter |
699 new_row["Class"] = self.Filter |
701 self.RefreshValues(row_index) |
707 self.RefreshValues(row_index) |
702 self.RefreshButtons() |
708 self.RefreshButtons() |
703 event.Skip() |
709 event.Skip() |
704 |
710 |
705 def OnDeleteButton(self, event): |
711 def OnDeleteButton(self, event): |
706 row = self.Table.GetRow(self.VariablesGrid.GetGridCursorRow()) |
712 self.CloseVariablesGridEditControl() |
707 self.Values.remove(row) |
713 row_index = self.Table.GetRow(self.VariablesGrid.GetGridCursorRow()) |
|
714 self.Values.remove(row_index) |
708 self.SaveValues() |
715 self.SaveValues() |
709 self.RefreshValues() |
716 self.RefreshValues(row_index) |
710 self.RefreshButtons() |
717 self.RefreshButtons() |
711 event.Skip() |
718 event.Skip() |
712 |
719 |
713 def OnUpButton(self, event): |
720 def OnUpButton(self, event): |
|
721 self.CloseVariablesGridEditControl() |
714 self.MoveValue(self.VariablesGrid.GetGridCursorRow(), -1) |
722 self.MoveValue(self.VariablesGrid.GetGridCursorRow(), -1) |
715 self.RefreshButtons() |
723 self.RefreshButtons() |
716 event.Skip() |
724 event.Skip() |
717 |
725 |
718 def OnDownButton(self, event): |
726 def OnDownButton(self, event): |
|
727 self.CloseVariablesGridEditControl() |
719 self.MoveValue(self.VariablesGrid.GetGridCursorRow(), 1) |
728 self.MoveValue(self.VariablesGrid.GetGridCursorRow(), 1) |
720 self.RefreshButtons() |
729 self.RefreshButtons() |
721 event.Skip() |
730 event.Skip() |
722 |
731 |
723 def OnVariablesGridCellChange(self, event): |
732 def OnVariablesGridCellChange(self, event): |
878 self.SaveValues() |
887 self.SaveValues() |
879 self.RefreshValues() |
888 self.RefreshValues() |
880 self.VariablesGrid.SetGridCursor(new_index, self.VariablesGrid.GetGridCursorCol()) |
889 self.VariablesGrid.SetGridCursor(new_index, self.VariablesGrid.GetGridCursorCol()) |
881 |
890 |
882 def RefreshValues(self, select=0): |
891 def RefreshValues(self, select=0): |
883 if len(self.Table.data) > 0: |
|
884 self.VariablesGrid.SetGridCursor(0, 1) |
|
885 data = [] |
892 data = [] |
886 for num, variable in enumerate(self.Values): |
893 for num, variable in enumerate(self.Values): |
887 if variable["Class"] in self.ClassList: |
894 if variable["Class"] in self.ClassList: |
888 variable["Number"] = num + 1 |
895 variable["Number"] = num + 1 |
889 data.append(variable) |
896 data.append(variable) |
890 self.Table.SetData(data) |
897 self.Table.SetData(data) |
|
898 self.Table.ResetView(self.VariablesGrid) |
891 if len(self.Table.data) > 0: |
899 if len(self.Table.data) > 0: |
892 if select == -1: |
900 if select == -1: |
893 select = len(self.Table.data) - 1 |
901 select = len(self.Table.data) - 1 |
894 self.VariablesGrid.SetGridCursor(select, 1) |
902 else: |
895 self.VariablesGrid.MakeCellVisible(select, 1) |
903 select = min(select, len(self.Table.data) - 1) |
896 self.Table.ResetView(self.VariablesGrid) |
904 col = max(1, self.VariablesGrid.GetGridCursorCol()) |
897 |
905 self.VariablesGrid.SetGridCursor(select, col) |
|
906 self.VariablesGrid.MakeCellVisible(select, col) |
|
907 self.VariablesGrid.SetFocus() |
|
908 |
898 def SaveValues(self, buffer = True): |
909 def SaveValues(self, buffer = True): |
899 words = self.TagName.split("::") |
910 words = self.TagName.split("::") |
900 if self.ElementType == "config": |
911 if self.ElementType == "config": |
901 self.Controler.SetConfigurationGlobalVars(words[1], self.Values) |
912 self.Controler.SetConfigurationGlobalVars(words[1], self.Values) |
902 elif self.ElementType == "resource": |
913 elif self.ElementType == "resource": |