SVGHMI: add support for "reference" and "frame" rectangles to spread-out ovelapping elements.
When HMI become complicated, designer needs to spread-out ovelapping elements
in order to unclutter drawing and facilitate maintenance.
// 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");