beremiz

IDE+Runtime: fix exception when reconnecting with non-empty trace/force list.

Sometimes, remote call to SetTraceVariableList returned None just after reconnecting:
- changed caller to accept None (in case of connection problem)
- changer SetTraceVariable list to return 4 (DEBUG_SUSPENDED) if debug is suspended
// widget_switch.ysl2
widget_desc("ListSwitch") {
longdesc
||
ListSwitch widget displays one item of an HMI:List depending on value of
given variable. Main element of the widget must be a clone of the list or
of an item of that list.
Given variable's current value is compared to list items
label. For exemple if given variable type
is HMI_INT and value is 1, then item with label '1' will be displayed.
If matching variable of type HMI_STRING, then no quotes are needed.
For exemple, 'hello' match HMI_STRING 'hello'.
||
shortdesc > Displays item of an HMI:List whose label matches value.
path name="value" accepts="HMI_INT,HMI_STRING" > value to compare to labels
}
widget_class("ListSwitch"){
||
frequency = 5;
||
}
widget_defs("ListSwitch") {
// cloned element must be part of a HMI:List or a HMI:List
const "targetid", "substring-after($hmi_element/@xlink:href,'#')";
const "from_list", "$hmi_lists[(@id | */@id) = $targetid]";
||
dispatch: function(value) {
this.element.href.baseVal = "#"+hmi_widgets["«$from_list/@id»"].items[value];
},
||
}