78 if non_retain: |
78 if non_retain: |
79 options.append(_("Non-Retain")) |
79 options.append(_("Non-Retain")) |
80 return options |
80 return options |
81 |
81 |
82 |
82 |
83 OPTIONS_DICT = dict([(_(option), option) for option in GetOptions()]) |
|
84 |
|
85 |
|
86 def GetFilterChoiceTransfer(): |
83 def GetFilterChoiceTransfer(): |
87 _ = NoTranslate |
84 _ = NoTranslate |
88 return {_("All"): _("All"), _("Interface"): _("Interface"), |
85 return {_("All"): _("All"), _("Interface"): _("Interface"), |
89 _(" Input"): _("Input"), _(" Output"): _("Output"), _(" InOut"): _("InOut"), |
86 _(" Input"): _("Input"), _(" Output"): _("Output"), _(" InOut"): _("InOut"), |
90 _(" External"): _("External"), _("Variables"): _("Variables"), _(" Local"): _("Local"), |
87 _(" External"): _("External"), _("Variables"): _("Variables"), _(" Local"): _("Local"), |
91 _(" Temp"): _("Temp"), _("Global"): _("Global")} # , _("Access") : _("Access")} |
88 _(" Temp"): _("Temp"), _("Global"): _("Global")} # , _("Access") : _("Access")} |
92 |
89 |
93 |
|
94 VARIABLE_CHOICES_DICT = dict([(_(_class), _class) for _class in GetFilterChoiceTransfer().iterkeys()]) |
|
95 VARIABLE_CLASSES_DICT = dict([(_(_class), _class) for _class in GetFilterChoiceTransfer().itervalues()]) |
|
96 |
90 |
97 CheckOptionForClass = { |
91 CheckOptionForClass = { |
98 "Local": lambda x: x, |
92 "Local": lambda x: x, |
99 "Temp": lambda x: "", |
93 "Temp": lambda x: "", |
100 "Input": lambda x: {"Retain": "Retain", "Non-Retain": "Non-Retain"}.get(x, ""), |
94 "Input": lambda x: {"Retain": "Retain", "Non-Retain": "Non-Retain"}.get(x, ""), |
120 """ |
114 """ |
121 def __init__(self, parent, data, colnames): |
115 def __init__(self, parent, data, colnames): |
122 # The base class must be initialized *first* |
116 # The base class must be initialized *first* |
123 CustomTable.__init__(self, parent, data, colnames) |
117 CustomTable.__init__(self, parent, data, colnames) |
124 self.old_value = None |
118 self.old_value = None |
|
119 self.OPTIONS_DICT = dict([(_(option), option) |
|
120 for option in GetOptions()]) |
|
121 self.VARIABLE_CLASSES_DICT = dict([(_(_class), _class) |
|
122 for _class in GetFilterChoiceTransfer().itervalues()]) |
125 |
123 |
126 def GetValueByName(self, row, colname): |
124 def GetValueByName(self, row, colname): |
127 if row < self.GetNumberRows(): |
125 if row < self.GetNumberRows(): |
128 return getattr(self.data[row], colname) |
126 return getattr(self.data[row], colname) |
129 |
127 |
152 if col < len(self.colnames): |
150 if col < len(self.colnames): |
153 colname = self.GetColLabelValue(col, False) |
151 colname = self.GetColLabelValue(col, False) |
154 if colname == "Name": |
152 if colname == "Name": |
155 self.old_value = getattr(self.data[row], colname) |
153 self.old_value = getattr(self.data[row], colname) |
156 elif colname == "Class": |
154 elif colname == "Class": |
157 value = VARIABLE_CLASSES_DICT[value] |
155 value = self.VARIABLE_CLASSES_DICT[value] |
158 self.SetValueByName(row, "Option", CheckOptionForClass[value](self.GetValueByName(row, "Option"))) |
156 self.SetValueByName(row, "Option", CheckOptionForClass[value](self.GetValueByName(row, "Option"))) |
159 if value == "External": |
157 if value == "External": |
160 self.SetValueByName(row, "InitialValue", "") |
158 self.SetValueByName(row, "InitialValue", "") |
161 elif colname == "Option": |
159 elif colname == "Option": |
162 value = OPTIONS_DICT[value] |
160 value = self.OPTIONS_DICT[value] |
163 elif colname == "Initial Value": |
161 elif colname == "Initial Value": |
164 colname = "InitialValue" |
162 colname = "InitialValue" |
165 setattr(self.data[row], colname, value) |
163 setattr(self.data[row], colname, value) |
166 |
164 |
167 def GetOldValue(self): |
165 def GetOldValue(self): |
442 class VariablePanel(wx.Panel): |
440 class VariablePanel(wx.Panel): |
443 |
441 |
444 def __init__(self, parent, window, controler, element_type, debug=False): |
442 def __init__(self, parent, window, controler, element_type, debug=False): |
445 wx.Panel.__init__(self, parent, style=wx.TAB_TRAVERSAL) |
443 wx.Panel.__init__(self, parent, style=wx.TAB_TRAVERSAL) |
446 |
444 |
|
445 self.VARIABLE_CHOICES_DICT = dict([(_(_class), _class) for |
|
446 _class in GetFilterChoiceTransfer().iterkeys()]) |
|
447 |
447 self.MainSizer = wx.FlexGridSizer(cols=1, hgap=10, rows=2, vgap=0) |
448 self.MainSizer = wx.FlexGridSizer(cols=1, hgap=10, rows=2, vgap=0) |
448 self.MainSizer.AddGrowableCol(0) |
449 self.MainSizer.AddGrowableCol(0) |
449 self.MainSizer.AddGrowableRow(1) |
450 self.MainSizer.AddGrowableRow(1) |
450 |
451 |
451 controls_sizer = wx.FlexGridSizer(cols=10, hgap=5, rows=1, vgap=5) |
452 controls_sizer = wx.FlexGridSizer(cols=10, hgap=5, rows=1, vgap=5) |
761 self.Controler.SetPouDescription(words[1], new_description) |
762 self.Controler.SetPouDescription(words[1], new_description) |
762 self.ParentWindow._Refresh(TITLE, FILEMENU, EDITMENU, PAGETITLES, POUINSTANCEVARIABLESPANEL, LIBRARYTREE) |
763 self.ParentWindow._Refresh(TITLE, FILEMENU, EDITMENU, PAGETITLES, POUINSTANCEVARIABLESPANEL, LIBRARYTREE) |
763 event.Skip() |
764 event.Skip() |
764 |
765 |
765 def OnClassFilter(self, event): |
766 def OnClassFilter(self, event): |
766 self.Filter = self.FilterChoiceTransfer[VARIABLE_CHOICES_DICT[self.ClassFilter.GetStringSelection()]] |
767 self.Filter = self.FilterChoiceTransfer[self.VARIABLE_CHOICES_DICT[self.ClassFilter.GetStringSelection()]] |
767 self.RefreshTypeList() |
768 self.RefreshTypeList() |
768 self.RefreshValues() |
769 self.RefreshValues() |
769 self.VariablesGrid.RefreshButtons() |
770 self.VariablesGrid.RefreshButtons() |
770 event.Skip() |
771 event.Skip() |
771 |
772 |