79 self.MinElementSize = None # Graphic element minimal size |
79 self.MinElementSize = None # Graphic element minimal size |
80 |
80 |
81 # Variable containing the graphic element name when dialog is opened |
81 # Variable containing the graphic element name when dialog is opened |
82 self.DefaultElementName = None |
82 self.DefaultElementName = None |
83 |
83 |
|
84 # List of variables defined in POU {var_name: (var_class, var_type),...} |
|
85 self.VariableList = {} |
|
86 |
84 def __del__(self): |
87 def __del__(self): |
85 """ |
88 """ |
86 Destructor |
89 Destructor |
87 """ |
90 """ |
88 # Remove reference to project controller |
91 # Remove reference to project controller |
99 """ |
102 """ |
100 Set font of Preview panel |
103 Set font of Preview panel |
101 @param font: wx.Font object containing font style |
104 @param font: wx.Font object containing font style |
102 """ |
105 """ |
103 self.Preview.SetFont(font) |
106 self.Preview.SetFont(font) |
|
107 |
|
108 def RefreshVariableList(self): |
|
109 """ |
|
110 Extract list of variables defined in POU |
|
111 """ |
|
112 # Get list of variables defined in POU |
|
113 self.VariableList = { |
|
114 var["Name"]: (var["Class"], var["Type"]) |
|
115 for var in self.Controller.GetEditedElementInterfaceVars( |
|
116 self.TagName) |
|
117 if var["Edit"]} |
|
118 |
|
119 # Add POU name to variable list if POU is a function |
|
120 returntype = self.Controller.GetEditedElementInterfaceReturnType( |
|
121 self.TagName) |
|
122 if returntype is not None: |
|
123 self.VariableList[ |
|
124 self.Controller.GetEditedElementName(self.TagName)] = \ |
|
125 ("Output", returntype) |
|
126 |
|
127 # Add POU name if POU is a transition |
|
128 words = self.TagName.split("::") |
|
129 if words[0] == "T": |
|
130 self.VariableList[words[2]] = ("Output", "BOOL") |
104 |
131 |
105 def TestElementName(self, element_name): |
132 def TestElementName(self, element_name): |
106 """ |
133 """ |
107 Test displayed graphic element name |
134 Test displayed graphic element name |
108 @param element_name: Graphic element name |
135 @param element_name: Graphic element name |