IDE: Optimization of modification events processing in text editors.
Too many modifications types where registered, and then too many events were fired.
Also, in case of uninterrupted sequence of events, updates to the model is deferred to the end of that sequence (wx.Callafter).
// widget_list.ysl2
widget_desc("List") {
longdesc
||
List widget is a svg:group, list items are labeled elements
in that group.
To use a List, clone (svg:use) one of the items inside the widget that
expects a List.
Positions of items are relative to each other, and they must all be in the
same place. In order to make editing easier it is therefore recommanded to
make stacked clones of svg elements spread nearby the list.
||
shortdesc > A named list of named graphical elements
arg name="listname"
}
widget_defs("List") {
| items: {
foreach "$hmi_element/*[@inkscape:label]" {
| "«@inkscape:label»": "«@id»",
}
| },
}
widget_class("List");