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_textstylelist.ysl2
widget_desc("TextStyleList") {
longdesc
||
TextStyleList widget is a svg:group, list items are labeled elements
in that group.
To use a TextStyleList, clone (svg:use) one of the items inside the widget
that expects a TextStyleList.
In this list, only style matters. Text content is ignored.
||
shortdesc > A named list of named texts
arg name="listname"
}
widget_defs("TextStyleList") {
| styles: {
foreach "$hmi_element/*[@inkscape:label]" {
const "style", "func:refered_elements(.)[self::svg:text]/@style";
| «@inkscape:label»: "«$style»",
}
| },
}
widget_class("TextStyleList");