PLCOpenEditor.py
changeset 268 5508af39d1f7
parent 266 4f102c996fa3
child 274 047e36c63736
equal deleted inserted replaced
267:a95bfb76a1eb 268:5508af39d1f7
  4004         self.Controler.BufferProject()
  4004         self.Controler.BufferProject()
  4005         self.ParentWindow.RefreshEditor(variablepanel = False)
  4005         self.ParentWindow.RefreshEditor(variablepanel = False)
  4006         self.ParentWindow.RefreshTitle()
  4006         self.ParentWindow.RefreshTitle()
  4007         self.ParentWindow.RefreshEditMenu()
  4007         self.ParentWindow.RefreshEditMenu()
  4008         self.ParentWindow.RefreshInstancesTree()
  4008         self.ParentWindow.RefreshInstancesTree()
       
  4009         self.ParentWindow.RefreshLibraryTree()
  4009         event.Skip()
  4010         event.Skip()
  4010     
  4011     
  4011     def OnClassFilter(self, event):
  4012     def OnClassFilter(self, event):
  4012         self.Filter = self.FilterChoiceTransfer[self.ClassFilter.GetStringSelection()]
  4013         self.Filter = self.FilterChoiceTransfer[self.ClassFilter.GetStringSelection()]
  4013         self.RefreshTypeList()
  4014         self.RefreshTypeList()
  4045             new_row["Class"] = self.Filter
  4046             new_row["Class"] = self.Filter
  4046         self.Values.append(new_row)
  4047         self.Values.append(new_row)
  4047         self.SaveValues()
  4048         self.SaveValues()
  4048         self.RefreshValues()
  4049         self.RefreshValues()
  4049         self.RefreshButtons()
  4050         self.RefreshButtons()
  4050         self.ParentWindow.RefreshInstancesTree()
       
  4051         event.Skip()
  4051         event.Skip()
  4052 
  4052 
  4053     def OnDeleteButton(self, event):
  4053     def OnDeleteButton(self, event):
  4054         row = self.Table.GetRow(self.VariablesGrid.GetGridCursorRow())
  4054         row = self.Table.GetRow(self.VariablesGrid.GetGridCursorRow())
  4055         self.Values.remove(row)
  4055         self.Values.remove(row)
  4056         self.SaveValues()
  4056         self.SaveValues()
  4057         self.RefreshValues()
  4057         self.RefreshValues()
  4058         self.RefreshButtons()
  4058         self.RefreshButtons()
  4059         self.ParentWindow.RefreshInstancesTree()
       
  4060         event.Skip()
  4059         event.Skip()
  4061 
  4060 
  4062     def OnUpButton(self, event):
  4061     def OnUpButton(self, event):
  4063         self.MoveValue(self.VariablesGrid.GetGridCursorRow(), -1)
  4062         self.MoveValue(self.VariablesGrid.GetGridCursorRow(), -1)
  4064         self.RefreshButtons()
  4063         self.RefreshButtons()
  4065         self.ParentWindow.RefreshInstancesTree()
       
  4066         event.Skip()
  4064         event.Skip()
  4067 
  4065 
  4068     def OnDownButton(self, event):
  4066     def OnDownButton(self, event):
  4069         self.MoveValue(self.VariablesGrid.GetGridCursorRow(), 1)
  4067         self.MoveValue(self.VariablesGrid.GetGridCursorRow(), 1)
  4070         self.RefreshButtons()
  4068         self.RefreshButtons()
  4071         self.ParentWindow.RefreshInstancesTree()
       
  4072         event.Skip()
  4069         event.Skip()
  4073 
  4070 
  4074     def OnVariablesGridCellChange(self, event):
  4071     def OnVariablesGridCellChange(self, event):
  4075         row, col = event.GetRow(), event.GetCol()
  4072         row, col = event.GetRow(), event.GetCol()
  4076         colname = self.Table.GetColLabelValue(col)
  4073         colname = self.Table.GetColLabelValue(col)
  4104                 self.Controler.BufferProject()
  4101                 self.Controler.BufferProject()
  4105                 self.ParentWindow.RefreshEditor(variablepanel = False)
  4102                 self.ParentWindow.RefreshEditor(variablepanel = False)
  4106                 self.ParentWindow.RefreshTitle()
  4103                 self.ParentWindow.RefreshTitle()
  4107                 self.ParentWindow.RefreshEditMenu()
  4104                 self.ParentWindow.RefreshEditMenu()
  4108                 self.ParentWindow.RefreshInstancesTree()
  4105                 self.ParentWindow.RefreshInstancesTree()
       
  4106                 self.ParentWindow.RefreshLibraryTree()
  4109                 event.Skip()
  4107                 event.Skip()
  4110         else:
  4108         else:
  4111             self.SaveValues()
  4109             self.SaveValues()
  4112             if colname == "Class":
  4110             if colname == "Class":
  4113                 self.Table.ResetView(self.VariablesGrid)
  4111                 self.Table.ResetView(self.VariablesGrid)
  4114             self.ParentWindow.RefreshInstancesTree()
       
  4115             event.Skip()
  4112             event.Skip()
  4116     
  4113     
  4117     def OnVariablesGridEditorShown(self, event):
  4114     def OnVariablesGridEditorShown(self, event):
  4118         row, col = event.GetRow(), event.GetCol() 
  4115         row, col = event.GetRow(), event.GetCol() 
  4119         classtype = self.Table.GetValueByName(row, "Class")
  4116         classtype = self.Table.GetValueByName(row, "Class")
  4154             self.SaveValues(False)
  4151             self.SaveValues(False)
  4155             self.ParentWindow.RefreshEditor(variablepanel = False)
  4152             self.ParentWindow.RefreshEditor(variablepanel = False)
  4156             self.Controler.BufferProject()
  4153             self.Controler.BufferProject()
  4157             self.ParentWindow.RefreshTitle()
  4154             self.ParentWindow.RefreshTitle()
  4158             self.ParentWindow.RefreshEditMenu()
  4155             self.ParentWindow.RefreshEditMenu()
       
  4156             self.ParentWindow.RefreshInstancesTree()
       
  4157             self.ParentWindow.RefreshLibraryTree()
  4159             event.Skip()
  4158             event.Skip()
  4160         return VariableTypeFunction
  4159         return VariableTypeFunction
  4161     
  4160     
  4162     def OnVariablesGridCellLeftClick(self, event):
  4161     def OnVariablesGridCellLeftClick(self, event):
  4163         row = event.GetRow()
  4162         row = event.GetRow()
  4178 
  4177 
  4179     def MoveValue(self, value_index, move):
  4178     def MoveValue(self, value_index, move):
  4180         new_index = max(0, min(value_index + move, len(self.Values) - 1))
  4179         new_index = max(0, min(value_index + move, len(self.Values) - 1))
  4181         if new_index != value_index:
  4180         if new_index != value_index:
  4182             self.Values.insert(new_index, self.Values.pop(value_index))
  4181             self.Values.insert(new_index, self.Values.pop(value_index))
       
  4182             self.SaveValues()
  4183             self.RefreshValues()
  4183             self.RefreshValues()
  4184             self.VariablesGrid.SetGridCursor(new_index, self.VariablesGrid.GetGridCursorCol())
  4184             self.VariablesGrid.SetGridCursor(new_index, self.VariablesGrid.GetGridCursorCol())
  4185         else:
  4185         
  4186             self.RefreshValues()
       
  4187         self.SaveValues()
       
  4188 
       
  4189     def RefreshValues(self):
  4186     def RefreshValues(self):
  4190         if len(self.Table.data) > 0:
  4187         if len(self.Table.data) > 0:
  4191             self.VariablesGrid.SetGridCursor(0, 1)
  4188             self.VariablesGrid.SetGridCursor(0, 1)
  4192         data = []
  4189         data = []
  4193         for num, variable in enumerate(self.Values):
  4190         for num, variable in enumerate(self.Values):
  4209             self.Controler.SetPouInterfaceVars(words[1], self.Values)
  4206             self.Controler.SetPouInterfaceVars(words[1], self.Values)
  4210         if buffer:
  4207         if buffer:
  4211             self.Controler.BufferProject()
  4208             self.Controler.BufferProject()
  4212             self.ParentWindow.RefreshTitle()
  4209             self.ParentWindow.RefreshTitle()
  4213             self.ParentWindow.RefreshEditMenu()
  4210             self.ParentWindow.RefreshEditMenu()
       
  4211             self.ParentWindow.RefreshInstancesTree()
       
  4212             self.ParentWindow.RefreshLibraryTree()
  4214 
  4213 
  4215     def AddVariableError(self, infos):
  4214     def AddVariableError(self, infos):
  4216         if isinstance(infos[0], TupleType):
  4215         if isinstance(infos[0], TupleType):
  4217             for i in xrange(*infos[0]):
  4216             for i in xrange(*infos[0]):
  4218                 self.Table.AddError((i,) + infos[1:])
  4217                 self.Table.AddError((i,) + infos[1:])