svghmi/widget_customhtml.ysl2
author Edouard Tisserant <edouard.tisserant@gmail.com>
Sun, 12 Mar 2023 00:51:53 +0100
branchwxPython4
changeset 3746 41be039fbb8c
parent 3241 fe945f1f48b7
permissions -rw-r--r--
IDE: fix again ruberband with gtk3.

DC logical functions are now disabled when using GTK3.
Apparently using XOR was still having an effect.
Use regular black pen with no logical funciton instead.
// widget_customhtml.ysl2

widget_desc("CustomHtml") {
    longdesc
    ||
    CustomHtml widget allows insertion of HTML code in a svg:foreignObject.
    Widget content is replaced by foreignObject. HTML code is obtained from
    "code" labeled text content. HTML insert position and size is given with
    "container" labeled element.
    ||

    shortdesc > Custom HTML insert

    // TODO: support reload and POST based on variable content
}

widget_class("CustomHtml"){
    ||
        frequency = 5;
        widget_size = undefined;

        dispatch(value) {
            this.request_animate();
        }

        animate(){
        }

        init() {
            this.widget_size = this.container_elt.getBBox();
            this.element.innerHTML ='<foreignObject x="'+
                this.widget_size.x+'" y="'+this.widget_size.y+
                '" width="'+this.widget_size.width+'" height="'+this.widget_size.height+'"> '+
                this.code_elt.textContent+
                ' </foreignObject>';
        }
    ||
}


widget_defs("CustomHtml") {
    labels("container code");
}