Thu, 26 Mar 2020 11:17:34 +0100SVGHMI: Check that explicit relative page jump path is consistant with destination page reference path. svghmi
Edouard Tisserant [Thu, 26 Mar 2020 11:17:34 +0100] rev 2900
SVGHMI: Check that explicit relative page jump path is consistant with destination page reference path.

Wed, 25 Mar 2020 14:09:15 +0100SVGHMI: ForEach Widget now has a better wrap-around when scrolling : hit the boundary systematically before wrapping svghmi
Edouard Tisserant [Wed, 25 Mar 2020 14:09:15 +0100] rev 2899
SVGHMI: ForEach Widget now has a better wrap-around when scrolling : hit the boundary systematically before wrapping

Wed, 25 Mar 2020 13:56:04 +0100SVGHMI: Alow relative relative Jump. (i.e, relative jump from a foreach widget) svghmi
Edouard Tisserant [Wed, 25 Mar 2020 13:56:04 +0100] rev 2898
SVGHMI: Alow relative relative Jump. (i.e, relative jump from a foreach widget)

Wed, 25 Mar 2020 13:36:04 +0100SVGHMI: Generalize applying cache to widgets, be it from page or ForEach widgets. Now ForEach widget buttons work as expected. svghmi
Edouard Tisserant [Wed, 25 Mar 2020 13:36:04 +0100] rev 2897
SVGHMI: Generalize applying cache to widgets, be it from page or ForEach widgets. Now ForEach widget buttons work as expected.

Tue, 24 Mar 2020 23:07:54 +0100SVGHMI: Widget ForEach buttons now call corresponding methods. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 24 Mar 2020 23:07:54 +0100] rev 2896
SVGHMI: Widget ForEach buttons now call corresponding methods.

Tue, 24 Mar 2020 14:03:19 +0100SVGHMI: ForEach now has working (un)subscribe. Fixed PageSwitch that wasn't behaving when jumping to current page with another path. svghmi
Edouard Tisserant [Tue, 24 Mar 2020 14:03:19 +0100] rev 2895
SVGHMI: ForEach now has working (un)subscribe. Fixed PageSwitch that wasn't behaving when jumping to current page with another path.

Mon, 23 Mar 2020 21:44:28 +0100SVGHMI: Easier way to match HMI tree elements to paths. ForEach widget now looks for paths and indexes of all items, and enforce path to be consistent with ForEach items sub widgets svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 23 Mar 2020 21:44:28 +0100] rev 2894
SVGHMI: Easier way to match HMI tree elements to paths. ForEach widget now looks for paths and indexes of all items, and enforce path to be consistent with ForEach items sub widgets

Mon, 23 Mar 2020 15:13:36 +0100SVGHMI: added func:get_hmi_tree_elt to match HMI tree node from path. Continue implementing ForEach widget : force order and completeness of items list. Now also collecting ForEach buttons. svghmi
Edouard Tisserant [Mon, 23 Mar 2020 15:13:36 +0100] rev 2893
SVGHMI: added func:get_hmi_tree_elt to match HMI tree node from path. Continue implementing ForEach widget : force order and completeness of items list. Now also collecting ForEach buttons.

Mon, 23 Mar 2020 10:16:38 +0100SVGHMI: ForEach knows its own widgets svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 23 Mar 2020 10:16:38 +0100] rev 2892
SVGHMI: ForEach knows its own widgets

Fri, 20 Mar 2020 10:46:15 +0100SVGHMI: add widget_foreach.ysl2 svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 20 Mar 2020 10:46:15 +0100] rev 2891
SVGHMI: add widget_foreach.ysl2

Fri, 20 Mar 2020 10:00:59 +0100SVGHMI: make root HMI tree node a HMI_NODE, droped HMI_ROOT node type svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 20 Mar 2020 10:00:59 +0100] rev 2890
SVGHMI: make root HMI tree node a HMI_NODE, droped HMI_ROOT node type

Thu, 19 Mar 2020 19:23:56 +0100SVGHMI: reworked widget (un)subscription now a method of widgect object, allowing special subscription methods svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 19 Mar 2020 19:23:56 +0100] rev 2889
SVGHMI: reworked widget (un)subscription now a method of widgect object, allowing special subscription methods

Thu, 19 Mar 2020 11:32:20 +0100SVGHMI: Exclude (again) sub-widgets of forEach widget from page-switch managed widget. svghmi
Edouard Tisserant [Thu, 19 Mar 2020 11:32:20 +0100] rev 2888
SVGHMI: Exclude (again) sub-widgets of forEach widget from page-switch managed widget.

Thu, 19 Mar 2020 09:57:26 +0100SVGHMI: cosmetic changes svghmi
Edouard Tisserant [Thu, 19 Mar 2020 09:57:26 +0100] rev 2887
SVGHMI: cosmetic changes

Thu, 19 Mar 2020 09:31:07 +0100SVGHMI: Simplification and optimization. func:parselabel becomes a template. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 19 Mar 2020 09:31:07 +0100] rev 2886
SVGHMI: Simplification and optimization. func:parselabel becomes a template.

All labels are parsed into a global variable containing resulting widget
description as a node-set. func:widget(id) was added for random access to
widget description.

Wed, 18 Mar 2020 12:06:50 +0100SVGHMI: intermediate untested state. Excluded ForEach widget from pages handled widgets. svghmi
Edouard Tisserant [Wed, 18 Mar 2020 12:06:50 +0100] rev 2885
SVGHMI: intermediate untested state. Excluded ForEach widget from pages handled widgets.

Wed, 18 Mar 2020 09:37:26 +0100SVGHMI: update Makefile to pick all changes to any dependency svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 18 Mar 2020 09:37:26 +0100] rev 2884
SVGHMI: update Makefile to pick all changes to any dependency

Wed, 18 Mar 2020 09:16:14 +0100SVGHMI: created widget_*.ysl2. Renamed widget_common in widgets_common, so that it doesn't match globing. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 18 Mar 2020 09:16:14 +0100] rev 2883
SVGHMI: created widget_*.ysl2. Renamed widget_common in widgets_common, so that it doesn't match globing.

Tue, 17 Mar 2020 14:11:54 +0100SVGHMI: moving comments svghmi
Edouard Tisserant [Tue, 17 Mar 2020 14:11:54 +0100] rev 2882
SVGHMI: moving comments

Tue, 17 Mar 2020 14:01:37 +0100SVGHMI: added widget_common.ysl2 svghmi
Edouard Tisserant [Tue, 17 Mar 2020 14:01:37 +0100] rev 2881
SVGHMI: added widget_common.ysl2

Tue, 17 Mar 2020 13:43:19 +0100SVGHMI: More readable debug output gen code svghmi
Edouard Tisserant [Tue, 17 Mar 2020 13:43:19 +0100] rev 2880
SVGHMI: More readable debug output gen code

Tue, 17 Mar 2020 13:34:07 +0100SVGHMI: Cosmetic changes svghmi
Edouard Tisserant [Tue, 17 Mar 2020 13:34:07 +0100] rev 2879
SVGHMI: Cosmetic changes

Tue, 17 Mar 2020 13:16:01 +0100SVGHMI: added inline_svg.ysl2 svghmi
Edouard Tisserant [Tue, 17 Mar 2020 13:16:01 +0100] rev 2878
SVGHMI: added inline_svg.ysl2

Tue, 17 Mar 2020 11:24:07 +0100SVGHMI: detachable_elements.ysl2 becomes detachable_pages.ysl2, and includes logic to process pages elements. Other minor code moves. svghmi
Edouard Tisserant [Tue, 17 Mar 2020 11:24:07 +0100] rev 2877
SVGHMI: detachable_elements.ysl2 becomes detachable_pages.ysl2, and includes logic to process pages elements. Other minor code moves.

Tue, 17 Mar 2020 10:34:26 +0100SVGHMI: moved debug code svghmi
Edouard Tisserant [Tue, 17 Mar 2020 10:34:26 +0100] rev 2876
SVGHMI: moved debug code

Tue, 17 Mar 2020 09:29:04 +0100SVGHMI: created detachable_elements.ysl2 svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 17 Mar 2020 09:29:04 +0100] rev 2875
SVGHMI: created detachable_elements.ysl2

Tue, 17 Mar 2020 08:00:33 +0100SVGHMI: more debug code moved to hmi_tree.ysl2 svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 17 Mar 2020 08:00:33 +0100] rev 2874
SVGHMI: more debug code moved to hmi_tree.ysl2

Tue, 17 Mar 2020 07:39:50 +0100SVGHMI : create hmi_tree.ysl2, rename bbox_intersect.ysl2 into geometry.ysl2 and move more code into. Add per included ysl2 file debug output. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 17 Mar 2020 07:39:50 +0100] rev 2873
SVGHMI : create hmi_tree.ysl2, rename bbox_intersect.ysl2 into geometry.ysl2 and move more code into. Add per included ysl2 file debug output.

Mon, 16 Mar 2020 18:27:49 +0100SVGHMI: created bbox_intersect.ysl2 svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 16 Mar 2020 18:27:49 +0100] rev 2872
SVGHMI: created bbox_intersect.ysl2

Mon, 16 Mar 2020 17:09:23 +0100SVGHMI: Re-enable dispatch to arrays of functions in case of multiple suscription per widget. Still unused, but disabled for reasons not any more true. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 16 Mar 2020 17:09:23 +0100] rev 2871
SVGHMI: Re-enable dispatch to arrays of functions in case of multiple suscription per widget. Still unused, but disabled for reasons not any more true.

Fri, 13 Mar 2020 21:42:40 +0100SVGHMI: relative pages and page jumps svghmi
Edouard Tisserant [Fri, 13 Mar 2020 21:42:40 +0100] rev 2870
SVGHMI: relative pages and page jumps

Fri, 13 Mar 2020 10:36:13 +0100SVGHMI: take care of path given in HMI:Page and HMI:Jump, but do not apply subscription offset for now. Intermediate commit in a "working" state. svghmi
Edouard Tisserant [Fri, 13 Mar 2020 10:36:13 +0100] rev 2869
SVGHMI: take care of path given in HMI:Page and HMI:Jump, but do not apply subscription offset for now. Intermediate commit in a "working" state.

Thu, 12 Mar 2020 13:16:18 +0100SVGHMI: significant whitespace changes svghmi
Edouard Tisserant [Thu, 12 Mar 2020 13:16:18 +0100] rev 2868
SVGHMI: significant whitespace changes

Thu, 12 Mar 2020 13:15:54 +0100SVGHMI: unsignificant changes or changes in generated code svghmi
Edouard Tisserant [Thu, 12 Mar 2020 13:15:54 +0100] rev 2867
SVGHMI: unsignificant changes or changes in generated code

Thu, 12 Mar 2020 13:14:38 +0100SVGHMI: Stop ignoring HMI_NODE in HMI tree, and count it as a BOOL. Soon we use those nodes as reference for relative page jump, and as an "enable" bit for features associated to an HMI tree fragment. svghmi
Edouard Tisserant [Thu, 12 Mar 2020 13:14:38 +0100] rev 2866
SVGHMI: Stop ignoring HMI_NODE in HMI tree, and count it as a BOOL. Soon we use those nodes as reference for relative page jump, and as an "enable" bit for features associated to an HMI tree fragment.

Thu, 12 Mar 2020 09:33:20 +0100SVGHMI: cosmetic code moving svghmi
Edouard Tisserant [Thu, 12 Mar 2020 09:33:20 +0100] rev 2865
SVGHMI: cosmetic code moving

Tue, 10 Mar 2020 13:57:29 +0100SVGHMI: split page switch into switching subscription and switching elements in the DOM, to ensure that subscriptions have been send before changing DOM, and avoid some flicker. svghmi
Edouard Tisserant [Tue, 10 Mar 2020 13:57:29 +0100] rev 2864
SVGHMI: split page switch into switching subscription and switching elements in the DOM, to ensure that subscriptions have been send before changing DOM, and avoid some flicker.

Mon, 09 Mar 2020 13:43:34 +0100SVGHMI: fix wrong updates of HMI variables on each change, especially when not subscribed. svghmi
Edouard Tisserant [Mon, 09 Mar 2020 13:43:34 +0100] rev 2863
SVGHMI: fix wrong updates of HMI variables on each change, especially when not subscribed.

Mon, 09 Mar 2020 13:40:45 +0100SVGHMI: whitespaces svghmi
Edouard Tisserant [Mon, 09 Mar 2020 13:40:45 +0100] rev 2862
SVGHMI: whitespaces

Fri, 06 Mar 2020 14:43:03 +0100SVGHMI: fixed repeated error when Input widget is missing 'value' element svghmi
Edouard Tisserant [Fri, 06 Mar 2020 14:43:03 +0100] rev 2861
SVGHMI: fixed repeated error when Input widget is missing 'value' element

Fri, 06 Mar 2020 14:42:08 +0100SVGHMI: more decoupling in between UI related and the rest of JS code, still in the aim of enhancing robustness under heavy load. svghmi
Edouard Tisserant [Fri, 06 Mar 2020 14:42:08 +0100] rev 2860
SVGHMI: more decoupling in between UI related and the rest of JS code, still in the aim of enhancing robustness under heavy load.

Fri, 06 Mar 2020 09:35:08 +0100SVGHMI: use requestAnimationFrame to delegate rendering of updates from network. Should help prevent browser collapse leading to watchdog in case of overload. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 06 Mar 2020 09:35:08 +0100] rev 2859
SVGHMI: use requestAnimationFrame to delegate rendering of updates from network. Should help prevent browser collapse leading to watchdog in case of overload.

Thu, 05 Mar 2020 13:54:29 +0100SVGHMI: Fix disapearing elements in case of nested detachable elements. svghmi
Edouard Tisserant [Thu, 05 Mar 2020 13:54:29 +0100] rev 2858
SVGHMI: Fix disapearing elements in case of nested detachable elements.

Thu, 05 Mar 2020 10:23:03 +0100SVGHMI: Meter widget accepts 2 arguments : min and max, taken in account when min or max text element is missing svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 05 Mar 2020 10:23:03 +0100] rev 2857
SVGHMI: Meter widget accepts 2 arguments : min and max, taken in account when min or max text element is missing

Wed, 04 Mar 2020 20:02:15 +0100SVGHMI: More precise error message on missing HMI path. Meter widget now defaults 0-100 range when min and max elements arent's present, without error. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 04 Mar 2020 20:02:15 +0100] rev 2856
SVGHMI: More precise error message on missing HMI path. Meter widget now defaults 0-100 range when min and max elements arent's present, without error.

Wed, 04 Mar 2020 16:46:35 +0100SVGHMI: more whitespace fixes svghmi
Edouard Tisserant [Wed, 04 Mar 2020 16:46:35 +0100] rev 2855
SVGHMI: more whitespace fixes

Wed, 04 Mar 2020 16:46:03 +0100SVGHMI: unlink clones (i.e. deep copy elements refered by svg:use) inside widget. svghmi
Edouard Tisserant [Wed, 04 Mar 2020 16:46:03 +0100] rev 2854
SVGHMI: unlink clones (i.e. deep copy elements refered by svg:use) inside widget.

Designer can use Inkscape clones to duplicate similar assets accross widget. Those clones are unliked so that elements can be independently transformed by individual widgets.

Wed, 04 Mar 2020 09:31:53 +0100SVGHMI: whitespaces and comments svghmi
Edouard Tisserant [Wed, 04 Mar 2020 09:31:53 +0100] rev 2853
SVGHMI: whitespaces and comments

Tue, 03 Mar 2020 16:29:22 +0100SVGHMI: completely fixed indentation of generated widget description. Lets try to keep it as-is until we can use yslt indentation. svghmi
Edouard Tisserant [Tue, 03 Mar 2020 16:29:22 +0100] rev 2852
SVGHMI: completely fixed indentation of generated widget description. Lets try to keep it as-is until we can use yslt indentation.

Tue, 03 Mar 2020 10:58:00 +0100SVGHMI: re-indent generated JS svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 03 Mar 2020 10:58:00 +0100] rev 2851
SVGHMI: re-indent generated JS

Mon, 02 Mar 2020 16:30:29 +0100SVGHMI: detach/re-attach elements required by pages on page switch svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 02 Mar 2020 16:30:29 +0100] rev 2850
SVGHMI: detach/re-attach elements required by pages on page switch

This is meant to optimize performances with large drawings leading to long restyle or reflow.

Mon, 02 Mar 2020 16:25:35 +0100SVGHMI: re-indenting svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 02 Mar 2020 16:25:35 +0100] rev 2849
SVGHMI: re-indenting

Mon, 02 Mar 2020 14:43:21 +0100SVGHMI: declares pages detachable requirements as an object, to find more efficiently common requirements svghmi
Edouard Tisserant [Mon, 02 Mar 2020 14:43:21 +0100] rev 2848
SVGHMI: declares pages detachable requirements as an object, to find more efficiently common requirements

Mon, 02 Mar 2020 10:29:41 +0100SVGHMI: fix some JS + add generation of detachable elements, to be continued svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 02 Mar 2020 10:29:41 +0100] rev 2847
SVGHMI: fix some JS + add generation of detachable elements, to be continued

Fri, 28 Feb 2020 22:54:07 +0100SVGHMI: now compute discardable elements first so that we can do better grouping of required elements when sumarizing. svghmi
Edouard Tisserant [Fri, 28 Feb 2020 22:54:07 +0100] rev 2846
SVGHMI: now compute discardable elements first so that we can do better grouping of required elements when sumarizing.

Fri, 28 Feb 2020 17:52:35 +0100SVGHMI : documentation for new geometry intersection computation code + little fixes... svghmi
Edouard Tisserant [Fri, 28 Feb 2020 17:52:35 +0100] rev 2845
SVGHMI : documentation for new geometry intersection computation code + little fixes...

Fri, 28 Feb 2020 16:09:21 +0100SVGHMI: detachable and discardable elements sets, Reworked geometric intersection, toward more accurate page content detection. svghmi
Edouard Tisserant [Fri, 28 Feb 2020 16:09:21 +0100] rev 2844
SVGHMI: detachable and discardable elements sets, Reworked geometric intersection, toward more accurate page content detection.

Moved page's widget/element dependency crawling functions so that it is possible to compute a global detachable and discardable elements sets.
Reworked geometric intersection detection logic to distinguish ovelapping and inclusion.
Goal is to include englobing and overlapping graphical elements, but not groups (would then include everything around...). Intermediate commit, to be continued.

Thu, 27 Feb 2020 13:14:24 +0100SVGHMI : still trying to optimize. Added xslt code to identitfy minimum set of elements needed by a particular page. Plan is to remove unseen/unused elements from the DOM, and re-appending them later when used, on page switch. Disabled previous optimization. svghmi
Edouard Tisserant [Thu, 27 Feb 2020 13:14:24 +0100] rev 2843
SVGHMI : still trying to optimize. Added xslt code to identitfy minimum set of elements needed by a particular page. Plan is to remove unseen/unused elements from the DOM, and re-appending them later when used, on page switch. Disabled previous optimization.

Fri, 21 Feb 2020 16:22:44 +0100SVGHMI: attempt to optimize for webkit, because of really slow style recompute in svg:use : "unlink clones" (as in inkscape) but stop deep-copy when meeting a widget, and create a new clone instead. svghmi
Edouard Tisserant [Fri, 21 Feb 2020 16:22:44 +0100] rev 2842
SVGHMI: attempt to optimize for webkit, because of really slow style recompute in svg:use : "unlink clones" (as in inkscape) but stop deep-copy when meeting a widget, and create a new clone instead.

Fri, 21 Feb 2020 16:18:53 +0100SVGHMI: optimize browser work by hiding (display:none) pages that are not displayed. svghmi
Edouard Tisserant [Fri, 21 Feb 2020 16:18:53 +0100] rev 2841
SVGHMI: optimize browser work by hiding (display:none) pages that are not displayed.