--- a/editors/ResourceEditor.py Wed Jun 25 17:28:26 2014 +0200
+++ b/editors/ResourceEditor.py Fri Jun 27 13:56:49 2014 +0200
@@ -72,6 +72,12 @@
return [_("Interrupt"), _("Cyclic")]
TASKTRIGGERINGOPTIONS_DICT = dict([(_(option), option) for option in GetTaskTriggeringOptions()])
+SingleCellEditor = lambda *x : wx.grid.GridCellChoiceEditor() +def CheckSingle(single, varlist): + return single in varlist def GetInstancesTableColnames():
return [_("Name"), _("Type"), _("Task")]
@@ -114,8 +120,6 @@
value = TASKTRIGGERINGOPTIONS_DICT[value]
self.data[row][colname] = value
- SingleCellEditor = lambda x,c : wx.grid.GridCellChoiceEditor(x)
def _updateColAttrs(self, grid):
wx.grid.Grid -> update the column attributes to add the
@@ -150,10 +154,13 @@
if interval != "" and IEC_TIME_MODEL.match(interval.upper()) is None:
elif colname == "Single":
- editor = self.SingleCellEditor(self,colname)
+ editor = SingleCellEditor(self,colname) editor.SetParameters(self.Parent.VariableList)
if self.GetValueByName(row, "Triggering") != "Interrupt":
grid.SetReadOnly(row, col, True)
+ single = self.GetValueByName(row, colname) + if single != "" and not CheckSingle(single,self.Parent.VariableList): elif colname == "Triggering":
editor = wx.grid.GridCellChoiceEditor()
editor.SetParameters(",".join(map(_, GetTaskTriggeringOptions())))
@@ -441,7 +448,7 @@
self.InstancesTable.SetValueByName(i, "Task", new_name)
colname = self.TasksTable.GetColLabelValue(col, False)
- if colname in ["Triggering", "Name", "Interval"]:
+ if colname in ["Triggering", "Name", "Single", "Interval"]: wx.CallAfter(self.RefreshView, False)