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_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");