diff -r 8a9d4c794cba -r fe945f1f48b7 svghmi/gen_index_xhtml.xslt --- a/svghmi/gen_index_xhtml.xslt Mon May 03 00:14:38 2021 +0200 +++ b/svghmi/gen_index_xhtml.xslt Tue May 18 09:22:17 2021 +0200 @@ -1964,6 +1964,23 @@ } + + + + + + AnimateRotation - DEPRECATED, do not use. + + Doesn't follow WYSIWYG principle, and forces user to add animateTransform tag in SVG (using inkscape XML editor for exemple) + + + + AnimateRotation - DEPRECATED + + + speed + + class AnimateRotationWidget @@ -1995,6 +2012,8 @@ // change animation properties + // TODO : rewrite with proper es6 + for(let child of this.element.children){ if(child.nodeName == "animateTransform"){ @@ -2046,11 +2065,17 @@ } - - - - - + + + + + + Back widget brings focus back to previous page in history when clicked. + + + + Jump to previous page + class @@ -2080,6 +2105,31 @@ } + + + + + + Button widget takes one boolean variable path, and reflect current true + + or false value by showing "active" or "inactive" labeled element + + respectively. Pressing and releasing button changes variable to true and + + false respectively. Potential inconsistency caused by quick consecutive + + presses on the button is mitigated by using a state machine that wait for + + previous state change to be reflected on variable before applying next one. + + + + Push button reflecting consistently given boolean variable + + + Boolean variable + + @@ -2301,7 +2351,6 @@ - @@ -2310,6 +2359,35 @@ + + + + + + CircularBar widget changes the end angle of a "path" labeled arc according + + to value of the single accepted variable. + + + + If "min" a "max" labeled texts are provided, then they are used as + + respective minimum and maximum value. Otherwise, value is expected to be + + in between 0 and 100. + + + + If "value" labeled text is found, then its content is replaced by value. + + + + Change end angle of Inkscape's arc + + + Value to display + + class CircularBarWidget @@ -2412,7 +2490,6 @@ - @@ -2427,6 +2504,47 @@ + + + + + + CircularSlider - DEPRECATED, to be replaced by PathSlider + + This widget moves "handle" labeled group along "range" labeled + + arc, according to value of the single accepted variable. + + + + If "min" a "max" labeled texts are provided, or if first and second + + argument are given, then they are used as respective minimum and maximum + + value. Otherwise, value is expected to be in between 0 and 100. + + + + If "value" labeled text is found, then its content is replaced by value. + + During drag, "setpoint" labeled group is moved to position defined by user + + while "handle" reflects current value from variable. + + + + CircularSlider - DEPRECATED + + + minimum value + + + maximum value + + + Value to display + + class CircularSliderWidget @@ -2887,7 +3005,6 @@ - @@ -2904,6 +3021,24 @@ + + + + + + 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. + + + + Custom HTML insert + + class CustomHtmlWidget @@ -2950,7 +3085,6 @@ - @@ -2958,6 +3092,42 @@ + + + + + + If Display widget is a svg:text element, then text content is replaced by + + value of given variables, space separated. + + + + Otherwise, if Display widget is a group containing a svg:text element + + labelled "format", then text content is replaced by printf-like formated + + string. In other words, if "format" labeled text is "%d %s %f", then 3 + + variables paths are expected : HMI_IN, HMI_STRING and HMI_REAL. + + + + In case Display widget is a svg::text element, it is also possible to give + + format string as first argument. + + + + Printf-like formated text display + + + printf-like format string when not given as svg:text + + + variables to be displayed + + class DisplayWidget @@ -2978,7 +3148,6 @@ - @@ -3530,6 +3699,48 @@ + + + + + + DropDown widget let user select an entry in a list of texts, given as + + arguments. Single variable path is index of selection. + + + + It needs "text" (svg:text), "box" (svg:rect), "button" (svg:*), + + and "highlight" (svg:rect) labeled elements. + + + + When user clicks on "button", "text" is duplicated to display enties in the + + limit of available space in page, and "box" is extended to contain all + + texts. "highlight" is moved over pre-selected entry. + + + + When only one argument is given, and argment contains "#langs" then list of + + texts is automatically set to the list of human-readable languages supported + + by this HMI. + + + + Let user select text entry in a drop-down menu + + + drop-down menu entries + + + selection index + + class DropDownWidget @@ -4192,7 +4403,6 @@ - @@ -4219,9 +4429,54 @@ , + + + + + + ForEach widget is used to span a small set of widget over a larger set of + + repeated HMI_NODEs. + + + + Idea is somewhat similar to relative page, but it all happens inside the + + ForEach widget, no page involved. + + + + Together with relative Jump widgets it can be used to build a menu to reach + + relative pages covering many identical HMI_NODES siblings. + + + + ForEach widget takes a HMI_CLASS name as argument and a HMI_NODE path as + + variable. + + + + Direct sub-elements can be either groups of widget to be spanned, labeled + + "ClassName:offset", or buttons to control the spanning, labeled + + "ClassName:+/-number". + + + + span widgets over a set of repeated HMI_NODEs + + + HMI_CLASS name + + + where to find HMI_NODEs whose HMI_CLASS is class_name + + - ForEach widget @@ -4479,22 +4734,28 @@ Input widget takes one variable path, and displays current value in - optional "value" labeled sub-element. Click on optional "edit" labeled - - element opens keypad to edit value. Operation on current value is - - performed when click on sub-elements with label starting with '=', '+' - - or '-' sign. Value after sign is used as operand. + optional "value" labeled sub-element. + + + + Click on optional "edit" labeled element opens keypad to edit value. + + + + Operation on current value is performed when click on sub-elements with + + label starting with '=', '+' or '-' sign. Value after sign is used as + + operand. Input field with predefined operation buttons - + optional printf-like format - + single variable to edit @@ -4651,6 +4912,30 @@ }, + + + + + + Send given variables as POST to http URL argument, spread returned JSON in + + SVG sub-elements of "data" labeled element. + + + + Documentation to be written. see svbghmi exemple. + + + + Http POST variables, spread JSON back + + + + + + single variable to edit + + class JsonTableWidget @@ -5075,7 +5360,6 @@ - @@ -5120,6 +5404,44 @@ } + + + + + + Jump widget brings focus to a different page. Mandatory single argument + + gives name of the page. + + + + Optional single path is used as new reference when jumping to a relative + + page, it must point to a HMI_NODE. + + + + "active"+"inactive" labeled elements can be provided and reflect current + + page being shown. + + + + "disabled" labeled element, if provided, is shown instead of "active" or + + "inactive" widget when pointed HMI_NODE is null. + + + + Jump to given page + + + name of page to jump to + + + reference for relative jump + + class JumpWidget @@ -5238,7 +5560,6 @@ - @@ -5354,6 +5675,21 @@ + + + + + + Keypad - to be written + + + + Keypad + + + keypad can input those types + + @@ -5585,7 +5921,6 @@ - @@ -5645,9 +5980,13 @@ ], + + + + + - items: { @@ -5663,6 +6002,8 @@ + + styles: { @@ -5678,6 +6019,43 @@ }, + + + + + + Meter widget moves the end of "needle" labeled path along "range" labeled + + path, according to value of the single accepted variable. + + + + Needle is reduced to a single segment. If "min" a "max" labeled texts + + are provided, or if first and second argument are given, then they are used + + as respective minimum and maximum value. Otherwise, value is expected to be + + in between 0 and 100. + + + + If "value" labeled text is found, then its content is replaced by value. + + + + Moves "needle" along "range" + + + minimum value + + + maximum value + + + Value to display + + class MetterWidget @@ -5740,7 +6118,6 @@ - @@ -5755,6 +6132,35 @@ + + + + Mutlistateh widget hides all subelements whose label do not match given + + variable value representation. For exemple if given variable type + + is HMI_INT and value is 1, then elements with label '1' will be displayed. + + Label can have comments, so '1#some comment' would also match. If matching + + variable of type HMI_STRING, then double quotes must be used. For exemple, + + '"hello"' or '"hello"#another comment' match HMI_STRING 'hello'. + + + + Click on widget changes variable value to next value in given list, or to + + first one if not initialized to value already part of the list. + + + + Show elements whose label match value. + + + value to compare to labels + + class MultiStateWidget @@ -5841,7 +6247,6 @@ - choices: [ @@ -5871,6 +6276,27 @@ ], + + + + + + ScrollBar - documentation to be written + + + + ScrollBar + + + value + + + range + + + visible + + class ScrollBarWidget @@ -6053,7 +6479,6 @@ - @@ -6084,6 +6509,27 @@ }, + + + + + + Slider - DEPRECATED - use ScrollBar or PathSlider instead + + + + Slider - DEPRECATED - use ScrollBar instead + + + value + + + range + + + visible + + class SliderWidget @@ -6764,7 +7210,6 @@ - @@ -6779,6 +7224,31 @@ + + + + + + Switch widget hides all subelements whose label do not match given + + variable current value representation. For exemple if given variable type + + is HMI_INT and value is 1, then elements with label '1' will be displayed. + + Label can have comments, so '1#some comment' would also match. If matching + + variable of type HMI_STRING, then double quotes must be used. For exemple, + + '"hello"' or '"hello"#another comment' match HMI_STRING 'hello'. + + + + Show elements whose label match value. + + + value to compare to labels + + class SwitchWidget @@ -6809,7 +7279,6 @@ - choices: [ @@ -6842,6 +7311,25 @@ ], + + + + + + Button widget takes one boolean variable path, and reflect current true + + or false value by showing "active" or "inactive" labeled element + + respectively. Clicking or touching button toggles variable. + + + + Toggle button reflecting given boolean variable + + + Boolean variable + + class ToggleButtonWidget @@ -6926,7 +7414,6 @@ -