diff -r d34ba528346b -r 101625efb1c1 dialogs/BlockPreviewDialog.py --- a/dialogs/BlockPreviewDialog.py Tue Jun 11 19:33:03 2013 +0200 +++ b/dialogs/BlockPreviewDialog.py Tue Jun 11 23:08:06 2013 +0200 @@ -81,6 +81,9 @@ # Variable containing the graphic element name when dialog is opened self.DefaultElementName = None + # List of variables defined in POU {var_name: (var_class, var_type),...} + self.VariableList = {} + def __del__(self): """ Destructor @@ -102,6 +105,30 @@ """ self.Preview.SetFont(font) + def RefreshVariableList(self): + """ + Extract list of variables defined in POU + """ + # Get list of variables defined in POU + self.VariableList = { + var["Name"]: (var["Class"], var["Type"]) + for var in self.Controller.GetEditedElementInterfaceVars( + self.TagName) + if var["Edit"]} + + # Add POU name to variable list if POU is a function + returntype = self.Controller.GetEditedElementInterfaceReturnType( + self.TagName) + if returntype is not None: + self.VariableList[ + self.Controller.GetEditedElementName(self.TagName)] = \ + ("Output", returntype) + + # Add POU name if POU is a transition + words = self.TagName.split("::") + if words[0] == "T": + self.VariableList[words[2]] = ("Output", "BOOL") + def TestElementName(self, element_name): """ Test displayed graphic element name