svghmi/widget_textstylelist.ysl2
author Edouard Tisserant <edouard@beremiz.fr>
Fri, 13 Sep 2024 14:26:55 +0200
changeset 4012 6337c9c2c379
parent 3556 5d73bed497de
permissions -rw-r--r--
MQTT: add JSON payload corresponding to IEC Structured types

- uses https://github.com/cesanta/frozen
- frozen.c is added as a resulting c file in generat_C (fix toolchain_gcc.py as it was breaking dependency checking)
- structured types are converted to C #define, in turn generating json_scanf and json_printf statements
// 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");