Finished fixing Wx IDs abuse. There was still some wasted IDs because of wx.NewId calls in many places where it wasn't needed, and those IDs were not re-used. As a consequence Beremiz was making exception crashing after a few hours of intensive use.
// widget_list.ysl2
widget_desc("List") {
// TODO
}
widget_defs("List") {
| items: {
foreach "$hmi_element/*[@inkscape:label]" {
| «@inkscape:label»: "«@id»",
}
| },
}
widget_defs("TextStyleList") {
// TODO
}
widget_defs("TextStyleList") {
| styles: {
foreach "$hmi_element/*[@inkscape:label]" {
const "style", "func:refered_elements(.)[self::svg:text]/@style";
| «@inkscape:label»: "«$style»",
}
| },
}