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 @@
-