Thu, 27 Aug 2020 14:34:48 +0200SVGHMI: Moved JsonTable/Alarm related test in a separate page. svghmi
Edouard Tisserant [Thu, 27 Aug 2020 14:34:48 +0200] rev 3044
SVGHMI: Moved JsonTable/Alarm related test in a separate page.

Thu, 27 Aug 2020 14:34:00 +0200SVGHMI: JsonTable now ignores elements and groups starting with # svghmi
Edouard Tisserant [Thu, 27 Aug 2020 14:34:00 +0200] rev 3043
SVGHMI: JsonTable now ignores elements and groups starting with #

Thu, 27 Aug 2020 09:59:35 +0200SVGHMI: Fix keypad : non-number input was always considered invalid because of missing type checking. svghmi
Edouard Tisserant [Thu, 27 Aug 2020 09:59:35 +0200] rev 3042
SVGHMI: Fix keypad : non-number input was always considered invalid because of missing type checking.

Wed, 26 Aug 2020 14:27:54 +0200SVGHMI: JsonTable now updates range and position variables so that slider widget can update. svghmi
Edouard Tisserant [Wed, 26 Aug 2020 14:27:54 +0200] rev 3041
SVGHMI: JsonTable now updates range and position variables so that slider widget can update.

Wed, 26 Aug 2020 14:24:43 +0200SVGHMI: Fix multiple variable support in widget svghmi
Edouard Tisserant [Wed, 26 Aug 2020 14:24:43 +0200] rev 3040
SVGHMI: Fix multiple variable support in widget

Wed, 26 Aug 2020 11:34:06 +0200SVGHMI: Add TODOs in Button widgets. svghmi
Edouard Tisserant [Wed, 26 Aug 2020 11:34:06 +0200] rev 3039
SVGHMI: Add TODOs in Button widgets.

Wed, 26 Aug 2020 11:26:45 +0200SVGHMI: Alarm test not using Button widget anymore, too many problems. Use Input widget instead to increment value on each click and execute python code on change. svghmi
Edouard Tisserant [Wed, 26 Aug 2020 11:26:45 +0200] rev 3038
SVGHMI: Alarm test not using Button widget anymore, too many problems. Use Input widget instead to increment value on each click and execute python code on change.

Tue, 25 Aug 2020 14:34:49 +0200SVGHMI: little fix in HMI:Button svghmi
Edouard Tisserant [Tue, 25 Aug 2020 14:34:49 +0200] rev 3037
SVGHMI: little fix in HMI:Button

Tue, 25 Aug 2020 14:32:39 +0200SVGHMI: JsonTable now use intermediate variables again to address JSON data without duplicating code or referencing. Using intermediate variables also alows to check for availability of data and stop evaluating early if data is missing. Finally added complete roundtrip example to illustrate use of JSonTable to display "alarms" collected in python from changes on PLC boolean variables. svghmi
Edouard Tisserant [Tue, 25 Aug 2020 14:32:39 +0200] rev 3036
SVGHMI: JsonTable now use intermediate variables again to address JSON data without duplicating code or referencing. Using intermediate variables also alows to check for availability of data and stop evaluating early if data is missing. Finally added complete roundtrip example to illustrate use of JSonTable to display "alarms" collected in python from changes on PLC boolean variables.

Mon, 24 Aug 2020 09:48:35 +0200SVGHMI: removed debug code forgotten here and there. svghmi
Edouard Tisserant [Mon, 24 Aug 2020 09:48:35 +0200] rev 3035
SVGHMI: removed debug code forgotten here and there.

Fri, 21 Aug 2020 14:29:03 +0200SVGHMI: JsonTable now makes meaningfull JSON request : all arguments and variables are passed in. svghmi
Edouard Tisserant [Fri, 21 Aug 2020 14:29:03 +0200] rev 3034
SVGHMI: JsonTable now makes meaningfull JSON request : all arguments and variables are passed in.

Fri, 21 Aug 2020 13:22:54 +0200SVGHMI: Keypad is now keeping Javascript type constency. In other words, if a number was given as initial value, input value will have to convert to number in order to be valid. In case invalid value is entered, initial value is restored. svghmi
Edouard Tisserant [Fri, 21 Aug 2020 13:22:54 +0200] rev 3033
SVGHMI: Keypad is now keeping Javascript type constency. In other words, if a number was given as initial value, input value will have to convert to number in order to be valid. In case invalid value is entered, initial value is restored.

Thu, 20 Aug 2020 14:12:49 +0200SVGHMI: Behave when project path include spaces, and make more understandable error in case of problem extracting geometry with inkscape. svghmi
Edouard Tisserant [Thu, 20 Aug 2020 14:12:49 +0200] rev 3032
SVGHMI: Behave when project path include spaces, and make more understandable error in case of problem extracting geometry with inkscape.

Thu, 20 Aug 2020 13:56:21 +0200SVGHMI: Refactor the way JsonTable generate javascript code to access json data. Now support multiple assignments, used in the case of text to change both content and style on the same element. svghmi
Edouard Tisserant [Thu, 20 Aug 2020 13:56:21 +0200] rev 3031
SVGHMI: Refactor the way JsonTable generate javascript code to access json data. Now support multiple assignments, used in the case of text to change both content and style on the same element.

Thu, 20 Aug 2020 13:52:00 +0200SVGHMI: Fix again clone unlinking, and this time add an "original" attribute to track the id of the original object before unlinking. svghmi
Edouard Tisserant [Thu, 20 Aug 2020 13:52:00 +0200] rev 3030
SVGHMI: Fix again clone unlinking, and this time add an "original" attribute to track the id of the original object before unlinking.

Mon, 17 Aug 2020 10:00:25 +0200SVGHMI: Fix svg test file while testing latest JsonTableChanges svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 17 Aug 2020 10:00:25 +0200] rev 3029
SVGHMI: Fix svg test file while testing latest JsonTableChanges

Sat, 15 Aug 2020 18:50:25 +0200SVGHMI: HMI:JsonTable also recognize TextStyleList, but parsing of textContent is still not implemented and style is still not updated. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 15 Aug 2020 18:50:25 +0200] rev 3028
SVGHMI: HMI:JsonTable also recognize TextStyleList, but parsing of textContent is still not implemented and style is still not updated.

Sat, 15 Aug 2020 18:46:35 +0200SVGHMI: Deeper clone unlinking. Was actually not recursive, and clones in clones where not unlinked. Stack successive ids to avoid collisions. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 15 Aug 2020 18:46:35 +0200] rev 3027
SVGHMI: Deeper clone unlinking. Was actually not recursive, and clones in clones where not unlinked. Stack successive ids to avoid collisions.

Thu, 13 Aug 2020 11:37:39 +0200SVGHMI: factorize dispatch calling logic. svghmi
Edouard Tisserant [Thu, 13 Aug 2020 11:37:39 +0200] rev 3026
SVGHMI: factorize dispatch calling logic.

Thu, 13 Aug 2020 11:30:18 +0200SVGHMI: HMI:VarInit:"a string"@a_value : empty widget (i.e. empty svg:group) that initialize content of local variables to value given as first argument. svghmi
Edouard Tisserant [Thu, 13 Aug 2020 11:30:18 +0200] rev 3025
SVGHMI: HMI:VarInit:"a string"@a_value : empty widget (i.e. empty svg:group) that initialize content of local variables to value given as first argument.

Wed, 12 Aug 2020 15:24:02 +0200Merge svghmi
Edouard Tisserant [Wed, 12 Aug 2020 15:24:02 +0200] rev 3024
Merge

Wed, 12 Aug 2020 13:36:18 +0200SVGHMI: Add more local HMI variable tests in tests/svghmi. svghmi
Edouard Tisserant [Wed, 12 Aug 2020 13:36:18 +0200] rev 3023
SVGHMI: Add more local HMI variable tests in tests/svghmi.

Tue, 11 Aug 2020 14:37:33 +0200SVGHMI: finished initial implementation of PAGE_LOCAL and HMI_LOCAL variables. svghmi
Edouard Tisserant [Tue, 11 Aug 2020 14:37:33 +0200] rev 3022
SVGHMI: finished initial implementation of PAGE_LOCAL and HMI_LOCAL variables.

Mon, 10 Aug 2020 15:25:57 +0200SVGHMI: add a SetPoint to Slider Widget, visible only when operating the slider. svghmi
Edouard Tisserant [Mon, 10 Aug 2020 15:25:57 +0200] rev 3021
SVGHMI: add a SetPoint to Slider Widget, visible only when operating the slider.

Mon, 10 Aug 2020 14:00:20 +0200SVGHMI: Update Slider widget so that it doesn't display future value but actual value only. svghmi
Edouard Tisserant [Mon, 10 Aug 2020 14:00:20 +0200] rev 3020
SVGHMI: Update Slider widget so that it doesn't display future value but actual value only.

Mon, 10 Aug 2020 13:58:55 +0200SVGHMI: provide request_animate() to Widget authors so that they can register redraw code when events lead to redraw. Widget member animate() is called when it is time to update DOM. svghmi
Edouard Tisserant [Mon, 10 Aug 2020 13:58:55 +0200] rev 3019
SVGHMI: provide request_animate() to Widget authors so that they can register redraw code when events lead to redraw. Widget member animate() is called when it is time to update DOM.

Mon, 10 Aug 2020 11:30:06 +0200Merge svghmi
Edouard Tisserant [Mon, 10 Aug 2020 11:30:06 +0200] rev 3018
Merge

Sat, 08 Aug 2020 15:53:28 +0200SVGHMI: Intermediate state while implementing local HMI variables. Now write to cache only (no send), still need to implement dispatch on change. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 08 Aug 2020 15:53:28 +0200] rev 3017
SVGHMI: Intermediate state while implementing local HMI variables. Now write to cache only (no send), still need to implement dispatch on change.

Wed, 05 Aug 2020 15:20:10 +0200Beremiz test project with newly created widgets. svghmi
usveticic [Wed, 05 Aug 2020 15:20:10 +0200] rev 3016
Beremiz test project with newly created widgets.

Wed, 05 Aug 2020 15:18:00 +0200Rebuilded gen_index_html.xslt after all new widgets were commited svghmi
usveticic [Wed, 05 Aug 2020 15:18:00 +0200] rev 3015
Rebuilded gen_index_html.xslt after all new widgets were commited

Wed, 05 Aug 2020 15:16:43 +0200Create new multistate widget which extand class widget svghmi
usveticic [Wed, 05 Aug 2020 15:16:43 +0200] rev 3014
Create new multistate widget which extand class widget

Wed, 05 Aug 2020 15:16:03 +0200Create new CircularSlider widget which extand class widget svghmi
usveticic [Wed, 05 Aug 2020 15:16:03 +0200] rev 3013
Create new CircularSlider widget which extand class widget

Wed, 05 Aug 2020 15:15:33 +0200Create new slider widget which extand class widget svghmi
usveticic [Wed, 05 Aug 2020 15:15:33 +0200] rev 3012
Create new slider widget which extand class widget

Wed, 05 Aug 2020 15:14:39 +0200Reworked togglebutton widget to extand class widget svghmi
usveticic [Wed, 05 Aug 2020 15:14:39 +0200] rev 3011
Reworked togglebutton widget to extand class widget

Wed, 05 Aug 2020 15:13:59 +0200Changed keyboard to show on defined position. svghmi
usveticic [Wed, 05 Aug 2020 15:13:59 +0200] rev 3010
Changed keyboard to show on defined position.

* svghmi.js
added size paramter to edit_value
changed show_modal function to offset keyboard if paramter passed

*widget_input.ysl2
in on_edit_click:
function get position if key_pos element is defined in input widget

*widget_keypad.ysl2
Reworked keypad widget to extand class widget,
added support for changing keyboard position to user defined location

Wed, 05 Aug 2020 15:04:53 +0200Reworked button widget so it uses classes. svghmi
usveticic [Wed, 05 Aug 2020 15:04:53 +0200] rev 3009
Reworked button widget so it uses classes.

Thu, 06 Aug 2020 15:01:01 +0200SVGHMI: allow multiple variables and formatting in Display widget. Formatting is printf style and given as first argument. If no formating is given as widget argument, space separated. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 06 Aug 2020 15:01:01 +0200] rev 3008
SVGHMI: allow multiple variables and formatting in Display widget. Formatting is printf style and given as first argument. If no formating is given as widget argument, space separated.

Thu, 06 Aug 2020 14:59:04 +0200SVGHMI : have to move some JS declarations from "preamble" to "declarations" and others from "declarations" to "definitions" section to make room for JS libraries that would be used by widget classes. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 06 Aug 2020 14:59:04 +0200] rev 3007
SVGHMI : have to move some JS declarations from "preamble" to "declarations" and others from "declarations" to "definitions" section to make room for JS libraries that would be used by widget classes.

Wed, 05 Aug 2020 18:53:56 +0200SVGHMI: JS refactoring continued : "dispatch_value_to_widget" becomes widget class member "new_hmi_value" (was also broken by previous relativeness commit) svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 05 Aug 2020 18:53:56 +0200] rev 3006
SVGHMI: JS refactoring continued : "dispatch_value_to_widget" becomes widget class member "new_hmi_value" (was also broken by previous relativeness commit)

Wed, 05 Aug 2020 18:49:29 +0200SVGHMI: widgets are not anymore binary relative or absolute, but have a "relativeness". svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 05 Aug 2020 18:49:29 +0200] rev 3005
SVGHMI: widgets are not anymore binary relative or absolute, but have a "relativeness".

Because of allowing multiple variables per widget, we must distinguish if individual variables is relative to page, not the whole widget.

Tue, 04 Aug 2020 11:53:39 +0200SVGHMI: More JS code refactoring : change_hmi_value and apply_hmi_value now methods of widget class. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 04 Aug 2020 11:53:39 +0200] rev 3004
SVGHMI: More JS code refactoring : change_hmi_value and apply_hmi_value now methods of widget class.

Mon, 03 Aug 2020 18:25:23 +0200SVGHMI: Better JS code semantic in ForEach widget class. Update lagging generated xslt. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 03 Aug 2020 18:25:23 +0200] rev 3003
SVGHMI: Better JS code semantic in ForEach widget class. Update lagging generated xslt.

Mon, 03 Aug 2020 18:22:19 +0200SVGHMI: Add ForEach Widget is svghmi test svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 03 Aug 2020 18:22:19 +0200] rev 3002
SVGHMI: Add ForEach Widget is svghmi test

Mon, 03 Aug 2020 16:34:44 +0200SVGHMI: add get_idx(index) to widget objects to factorize a bit code repeated accross widgets. To be continued. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 03 Aug 2020 16:34:44 +0200] rev 3001
SVGHMI: add get_idx(index) to widget objects to factorize a bit code repeated accross widgets. To be continued.

Mon, 03 Aug 2020 16:32:23 +0200SVGHMI: prefer apply_hmi_value() to change_hmi_value() when possible svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 03 Aug 2020 16:32:23 +0200] rev 3000
SVGHMI: prefer apply_hmi_value() to change_hmi_value() when possible

Mon, 03 Aug 2020 16:30:16 +0200SVGHMI: Add RelativePages to tests svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 03 Aug 2020 16:30:16 +0200] rev 2999
SVGHMI: Add RelativePages to tests

Mon, 03 Aug 2020 12:08:25 +0200SVGHMI: Update Widget Display templates to generate Class based declaration. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 03 Aug 2020 12:08:25 +0200] rev 2998
SVGHMI: Update Widget Display templates to generate Class based declaration.

Wed, 22 Jul 2020 13:56:43 +0200SVGHMI: JsonTable now picks items from HMI:List, and update texts, all according to Json data. Still miss scrolling. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 22 Jul 2020 13:56:43 +0200] rev 2997
SVGHMI: JsonTable now picks items from HMI:List, and update texts, all according to Json data. Still miss scrolling.

Fri, 17 Jul 2020 12:21:45 +0200SVGHMI: JsonTable now generate working data access code for data/* elements. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 17 Jul 2020 12:21:45 +0200] rev 2996
SVGHMI: JsonTable now generate working data access code for data/* elements.

Fri, 17 Jul 2020 12:19:53 +0200SVGHMI: Minimal support for HMI:List : clones pointing to elements of any HMI:List are never unlinked, widgets using HMI:List will rely on this. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 17 Jul 2020 12:19:53 +0200] rev 2995
SVGHMI: Minimal support for HMI:List : clones pointing to elements of any HMI:List are never unlinked, widgets using HMI:List will rely on this.

Tue, 14 Jul 2020 22:05:47 +0200SVGHMI: minimal JSON Table Widget communication infra + corresponding python code as py_ext code in svghmi test. To be continued. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 14 Jul 2020 22:05:47 +0200] rev 2994
SVGHMI: minimal JSON Table Widget communication infra + corresponding python code as py_ext code in svghmi test. To be continued.

Mon, 13 Jul 2020 13:56:42 +0200Python Runtime: order of execution of extension's init() and cleanup() now reflects order of appearance of extensions in configuration tree. svghmi
Edouard Tisserant [Mon, 13 Jul 2020 13:56:42 +0200] rev 2993
Python Runtime: order of execution of extension's init() and cleanup() now reflects order of appearance of extensions in configuration tree.

Fri, 10 Jul 2020 11:15:41 +0200Python Runtime : stil untested optimization of Python Safe Globals. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 10 Jul 2020 11:15:41 +0200] rev 2992
Python Runtime : stil untested optimization of Python Safe Globals.

Now only one python_poll block per python extension is used to trigger
execution of OnChange calls.

Fri, 03 Jul 2020 14:02:04 +0200Prevent global python_poll blocks to be created when accidentally adding content to C-File OnChange column. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 03 Jul 2020 14:02:04 +0200] rev 2991
Prevent global python_poll blocks to be created when accidentally adding content to C-File OnChange column.

Fri, 03 Jul 2020 10:03:25 +0200Merge from default svghmi
Edouard Tisserant [Fri, 03 Jul 2020 10:03:25 +0200] rev 2990
Merge from default

Mon, 29 Jun 2020 14:38:04 +0200Modbus: fix strange side effect of re-use of condition variables or mutex with Xenomai : without bzero of the associated types, mutex keeps locked. svghmi
Edouard Tisserant [Mon, 29 Jun 2020 14:38:04 +0200] rev 2989
Modbus: fix strange side effect of re-use of condition variables or mutex with Xenomai : without bzero of the associated types, mutex keeps locked.

Wed, 24 Jun 2020 14:38:11 +0200Modbus: fix client timer invalid arguments. svghmi
Edouard Tisserant [Wed, 24 Jun 2020 14:38:11 +0200] rev 2988
Modbus: fix client timer invalid arguments.

Tue, 23 Jun 2020 13:50:21 +0200Modbus add a timer thread, and switch timer to SIGEV_THREAD_ID to follow xenomai posix skin restrictions. svghmi
Edouard Tisserant [Tue, 23 Jun 2020 13:50:21 +0200] rev 2987
Modbus add a timer thread, and switch timer to SIGEV_THREAD_ID to follow xenomai posix skin restrictions.

Fri, 19 Jun 2020 11:07:25 +0200Runtime: Fix typo in PLCObject leading to exception when reporting failure. svghmi
Edouard Tisserant [Fri, 19 Jun 2020 11:07:25 +0200] rev 2986
Runtime: Fix typo in PLCObject leading to exception when reporting failure.

Thu, 18 Jun 2020 14:18:40 +0200merged svghmi
Edouard Tisserant [Thu, 18 Jun 2020 14:18:40 +0200] rev 2985
merged

Thu, 18 Jun 2020 14:16:19 +0200SVGHMI: Fix bug introduced when merging default svghmi
Edouard Tisserant [Thu, 18 Jun 2020 14:16:19 +0200] rev 2984
SVGHMI: Fix bug introduced when merging default

Thu, 18 Jun 2020 14:15:43 +0200SVGHMI: Add use of Python PLC Globals it test svghmi
Edouard Tisserant [Thu, 18 Jun 2020 14:15:43 +0200] rev 2983
SVGHMI: Add use of Python PLC Globals it test

Thu, 18 Jun 2020 11:00:26 +0200Merge default changes in SVGHMI svghmi
Edouard Tisserant [Thu, 18 Jun 2020 11:00:26 +0200] rev 2982
Merge default changes in SVGHMI

Thu, 18 Jun 2020 10:42:08 +0200Merge default changes in SVGHMI svghmi
Edouard Tisserant [Thu, 18 Jun 2020 10:42:08 +0200] rev 2981
Merge default changes in SVGHMI

Thu, 04 Jun 2020 11:14:21 +0200SVGHMI: add "unsubscribable" property to widgets in order to generalize what already happens for jump buttons. svghmi
Edouard Tisserant [Thu, 04 Jun 2020 11:14:21 +0200] rev 2980
SVGHMI: add "unsubscribable" property to widgets in order to generalize what already happens for jump buttons.
In most cases jump buttons do not really subscribe to pointed HMI variable, path is given as a relative page jump path. When widget.unsubscribable is set to true, no subscription is made on page switch, but still offset is updated.
This fixes bug happening on relative jump buttons without "disabled" element where offset did not change on relative page switch.

Wed, 03 Jun 2020 13:31:55 +0200merge svghmi
Edouard Tisserant [Wed, 03 Jun 2020 13:31:55 +0200] rev 2979
merge

Fri, 29 May 2020 09:46:07 +0200Merge svghmi
dgaberscek [Fri, 29 May 2020 09:46:07 +0200] rev 2978
Merge

Tue, 26 May 2020 10:59:01 +0200SVGHMI: Added widget toggleButton. svghmi
dgaberscek [Tue, 26 May 2020 10:59:01 +0200] rev 2977
SVGHMI: Added widget toggleButton.

Tue, 26 May 2020 10:53:02 +0200SVGHMI: Changed widget button handler to element attribute. svghmi
dgaberscek [Tue, 26 May 2020 10:53:02 +0200] rev 2976
SVGHMI: Changed widget button handler to element attribute.

Tue, 02 Jun 2020 13:37:34 +0200Runtime: create .md5 file at the end of all transfered files being written to disk, so that it presence indicates completeness of transfer. svghmi
Edouard Tisserant [Tue, 02 Jun 2020 13:37:34 +0200] rev 2975
Runtime: create .md5 file at the end of all transfered files being written to disk, so that it presence indicates completeness of transfer.

Tue, 02 Jun 2020 11:34:50 +0200IDE: Main toolbar : Show repair button also in stop mode. Move repair button after disconnect button. svghmi
Edouard Tisserant [Tue, 02 Jun 2020 11:34:50 +0200] rev 2974
IDE: Main toolbar : Show repair button also in stop mode. Move repair button after disconnect button.

Mon, 01 Jun 2020 14:47:31 +0200Runtime: fsync() files when transfering them, to prebent data loss when poweroff soon after programming. Fixed variable naming as a side effect. svghmi
Edouard Tisserant [Mon, 01 Jun 2020 14:47:31 +0200] rev 2973
Runtime: fsync() files when transfering them, to prebent data loss when poweroff soon after programming. Fixed variable naming as a side effect.

Thu, 28 May 2020 11:38:09 +0200PLCObject : reorganize code in StartPLC(), add a PreStartPLC() empty method, to be overloaded by runtime extensions. svghmi
Edouard Tisserant [Thu, 28 May 2020 11:38:09 +0200] rev 2972
PLCObject : reorganize code in StartPLC(), add a PreStartPLC() empty method, to be overloaded by runtime extensions.

Tue, 26 May 2020 09:58:20 +0200Solve import order problem when POULibrary imports ConfigTreeNode because of UserAddressedException. Now UserAddressedException is declared in POULibrary.py, as a quick and dirty fix, but some independant module should be created for beremiz exceptions in general. svghmi
Edouard Tisserant [Tue, 26 May 2020 09:58:20 +0200] rev 2971
Solve import order problem when POULibrary imports ConfigTreeNode because of UserAddressedException. Now UserAddressedException is declared in POULibrary.py, as a quick and dirty fix, but some independant module should be created for beremiz exceptions in general.

Thu, 21 May 2020 11:29:45 +0200SVGHMI: stop using eval in change_hmi_value, apparently slowly leaking memory. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 21 May 2020 11:29:45 +0200] rev 2970
SVGHMI: stop using eval in change_hmi_value, apparently slowly leaking memory.

Thu, 14 May 2020 17:49:20 +0200SVGHMI: Switch widget was picking sub-elements from original SVG, not the result SVG ehwe clones are unlinked, thus making problems with svg:use based widgets. svghmi
Edouard Tisserant [Thu, 14 May 2020 17:49:20 +0200] rev 2969
SVGHMI: Switch widget was picking sub-elements from original SVG, not the result SVG ehwe clones are unlinked, thus making problems with svg:use based widgets.

Thu, 14 May 2020 17:48:58 +0200SVGHMI: When unlinking a clone of a group, do not create additional group, but merge transformation and styles, and replace label. This allows svg:use based widgets to directly access elements of svg:use targeted element. svghmi
Edouard Tisserant [Thu, 14 May 2020 17:48:58 +0200] rev 2968
SVGHMI: When unlinking a clone of a group, do not create additional group, but merge transformation and styles, and replace label. This allows svg:use based widgets to directly access elements of svg:use targeted element.

Thu, 14 May 2020 17:48:15 +0200SVGHMI: Applies clone unlinking to widget themselves, not only to clones inside widgets. svghmi
Edouard Tisserant [Thu, 14 May 2020 17:48:15 +0200] rev 2967
SVGHMI: Applies clone unlinking to widget themselves, not only to clones inside widgets.

Thu, 14 May 2020 09:24:09 +0200merge svghmi
Edouard Tisserant [Thu, 14 May 2020 09:24:09 +0200] rev 2966
merge

Wed, 13 May 2020 14:48:52 +0200SVGHMI: Makes error when HMI tree is not well formed. Prevents multiple and non-first HMI_NODE, and ensure that all paths in HMI tree are unique. svghmi
Edouard Tisserant [Wed, 13 May 2020 14:48:52 +0200] rev 2965
SVGHMI: Makes error when HMI tree is not well formed. Prevents multiple and non-first HMI_NODE, and ensure that all paths in HMI tree are unique.

Wed, 13 May 2020 14:47:17 +0200Added FatalError call to Libraries code gen, so that they can emit messages addressed like config tree nodes do. svghmi
Edouard Tisserant [Wed, 13 May 2020 14:47:17 +0200] rev 2964
Added FatalError call to Libraries code gen, so that they can emit messages addressed like config tree nodes do.

Wed, 13 May 2020 22:25:22 +0200SVGHMI: more Widget properties declared ES6 style. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 13 May 2020 22:25:22 +0200] rev 2963
SVGHMI: more Widget properties declared ES6 style.

Wed, 13 May 2020 22:22:13 +0200SVGHMI: Switch widget now use class declaration svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 13 May 2020 22:22:13 +0200] rev 2962
SVGHMI: Switch widget now use class declaration

Wed, 13 May 2020 18:50:07 +0200SVGHMI: Update Button widget to class declaration, and add a button widget in tests/svghmi. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 13 May 2020 18:50:07 +0200] rev 2961
SVGHMI: Update Button widget to class declaration, and add a button widget in tests/svghmi.

Wed, 13 May 2020 18:47:09 +0200SVGHMI: explicit handling of undefined maximum widget update frequency svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 13 May 2020 18:47:09 +0200] rev 2960
SVGHMI: explicit handling of undefined maximum widget update frequency

Wed, 13 May 2020 18:27:26 +0200SVGHMI: removed dead code svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 13 May 2020 18:27:26 +0200] rev 2959
SVGHMI: removed dead code

Wed, 13 May 2020 18:26:38 +0200SVGHMI: Back button updated to class style svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 13 May 2020 18:26:38 +0200] rev 2958
SVGHMI: Back button updated to class style

Mon, 11 May 2020 11:33:00 +0200merge svghmi
Edouard Tisserant [Mon, 11 May 2020 11:33:00 +0200] rev 2957
merge

Mon, 11 May 2020 11:10:38 +0200DEBUG: (IDE side) fixed wrong implementation of anti-rapid-fire leading to systematic delay in subscribing svghmi
Edouard Tisserant [Mon, 11 May 2020 11:10:38 +0200] rev 2956
DEBUG: (IDE side) fixed wrong implementation of anti-rapid-fire leading to systematic delay in subscribing

Sun, 10 May 2020 23:40:43 +0200SVGHMI: Exclude non-widget HMI:* labeled elements from hmi_widget. Namely : HMI:Page HMI:Lang and HMI:List have been excluded. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 10 May 2020 23:40:43 +0200] rev 2955
SVGHMI: Exclude non-widget HMI:* labeled elements from hmi_widget. Namely : HMI:Page HMI:Lang and HMI:List have been excluded.

Sun, 10 May 2020 17:01:09 +0200SVGHMI: clean up dead code, update generated xslt. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 10 May 2020 17:01:09 +0200] rev 2954
SVGHMI: clean up dead code, update generated xslt.

Sun, 10 May 2020 16:36:41 +0200SVGHMI: apply per class overloading of sub/unsub to Jump widget svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 10 May 2020 16:36:41 +0200] rev 2953
SVGHMI: apply per class overloading of sub/unsub to Jump widget

Sun, 10 May 2020 16:36:09 +0200SVGHMI: apply per class overloading of sub/unsub to ForEach widget svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 10 May 2020 16:36:09 +0200] rev 2952
SVGHMI: apply per class overloading of sub/unsub to ForEach widget

Sun, 10 May 2020 16:34:44 +0200SVGHMI: Widget's specific sub/unsub traits are now wxpressed in widget's class. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 10 May 2020 16:34:44 +0200] rev 2951
SVGHMI: Widget's specific sub/unsub traits are now wxpressed in widget's class.

Sun, 10 May 2020 16:32:19 +0200SVGHMI: Parameters common to all widget constructors now passed as ordered parameters. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 10 May 2020 16:32:19 +0200] rev 2950
SVGHMI: Parameters common to all widget constructors now passed as ordered parameters.

Fri, 08 May 2020 16:51:43 +0200SVGHMI: One class per widget type, widget objects are instances of these classes, and members are passed through constructor. This allows to keep compatible with previous widget_defs template used in most widgets. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 08 May 2020 16:51:43 +0200] rev 2949
SVGHMI: One class per widget type, widget objects are instances of these classes, and members are passed through constructor. This allows to keep compatible with previous widget_defs template used in most widgets.

Fri, 08 May 2020 16:47:52 +0200SVGHMI: Add an exslt function to collect used widget types, in order to only include necessary JS definitions in furure changes. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 08 May 2020 16:47:52 +0200] rev 2948
SVGHMI: Add an exslt function to collect used widget types, in order to only include necessary JS definitions in furure changes.

Fri, 08 May 2020 16:44:20 +0200SVGHMI: Systematically output local name as /* comment */ when emiting content. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 08 May 2020 16:44:20 +0200] rev 2947
SVGHMI: Systematically output local name as /* comment */ when emiting content.

Fri, 24 Apr 2020 10:03:40 +0200Merge svghmi
Edouard Tisserant [Fri, 24 Apr 2020 10:03:40 +0200] rev 2946
Merge

Fri, 24 Apr 2020 10:02:13 +0200SVGHMI: Fix flawed logic to place nodes in the HMI tree, leading to wrecked tree in some cases. svghmi
Edouard Tisserant [Fri, 24 Apr 2020 10:02:13 +0200] rev 2945
SVGHMI: Fix flawed logic to place nodes in the HMI tree, leading to wrecked tree in some cases.

Wed, 22 Apr 2020 15:33:53 +0200Added button and circular bar widgets. svghmi
dgaberscek [Wed, 22 Apr 2020 15:33:53 +0200] rev 2944
Added button and circular bar widgets.

Mon, 20 Apr 2020 16:19:31 +0200SVGHMI: added more meaningful namespaces to emit javascript code from. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 20 Apr 2020 16:19:31 +0200] rev 2943
SVGHMI: added more meaningful namespaces to emit javascript code from.

Sun, 19 Apr 2020 22:44:41 +0200SVGHMI: moved JS code of foreach and jump widget in corresponding widget_*.ysl2. To be continued. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 19 Apr 2020 22:44:41 +0200] rev 2942
SVGHMI: moved JS code of foreach and jump widget in corresponding widget_*.ysl2. To be continued.

Sun, 19 Apr 2020 22:01:12 +0200SVGHMI: spread JS code from svghmi/scripts.ysl2 in other .ysl2 files, using dedicated preamble and epilogue namespaces svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 19 Apr 2020 22:01:12 +0200] rev 2941
SVGHMI: spread JS code from svghmi/scripts.ysl2 in other .ysl2 files, using dedicated preamble and epilogue namespaces

Sun, 19 Apr 2020 10:48:34 +0200SVGHMI: Introduced "emit" to simplify producing per-topic code and content from anywhere in code. Applied to debug output, next to JS. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 19 Apr 2020 10:48:34 +0200] rev 2940
SVGHMI: Introduced "emit" to simplify producing per-topic code and content from anywhere in code. Applied to debug output, next to JS.

Sat, 18 Apr 2020 14:06:41 +0200SVGHMI: Move reflective debug tags from "reflect" to "debug" namespace, preparing for per-purpose namespaces. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 18 Apr 2020 14:06:41 +0200] rev 2939
SVGHMI: Move reflective debug tags from "reflect" to "debug" namespace, preparing for per-purpose namespaces.

Sat, 18 Apr 2020 13:14:45 +0200SVGHMI: Added scripts.ysl2 svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 18 Apr 2020 13:14:45 +0200] rev 2938
SVGHMI: Added scripts.ysl2

Sat, 18 Apr 2020 11:49:02 +0200SVGHMI: moving code wher it belongs, and reformulate some declarations for better readability. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 18 Apr 2020 11:49:02 +0200] rev 2937
SVGHMI: moving code wher it belongs, and reformulate some declarations for better readability.

Thu, 16 Apr 2020 10:21:25 +0200SVGHMI: HMI:DropDown: more documentation. svghmi
Edouard Tisserant [Thu, 16 Apr 2020 10:21:25 +0200] rev 2936
SVGHMI: HMI:DropDown: more documentation.

Wed, 15 Apr 2020 14:29:19 +0200SVGHMI: Comments in HMI:DropDown source code svghmi
Edouard Tisserant [Wed, 15 Apr 2020 14:29:19 +0200] rev 2935
SVGHMI: Comments in HMI:DropDown source code

Tue, 14 Apr 2020 23:04:54 +0200SVGHMI: HMI:DropDown menu aligns to selected when opening svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 14 Apr 2020 23:04:54 +0200] rev 2934
SVGHMI: HMI:DropDown menu aligns to selected when opening

Tue, 14 Apr 2020 22:08:52 +0200SVGHMI: When clicking outside of opened HMI:DropDown box, close it. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 14 Apr 2020 22:08:52 +0200] rev 2933
SVGHMI: When clicking outside of opened HMI:DropDown box, close it.

Tue, 14 Apr 2020 19:22:18 +0200SVGHMI: Fix HMI:DropDown flicker on close. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 14 Apr 2020 19:22:18 +0200] rev 2932
SVGHMI: Fix HMI:DropDown flicker on close.

Tue, 14 Apr 2020 17:31:45 +0200SVGHMI: HMI:DropDown now temporarily takes content from widget's arguments, until HMI:List is implemented. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 14 Apr 2020 17:31:45 +0200] rev 2931
SVGHMI: HMI:DropDown now temporarily takes content from widget's arguments, until HMI:List is implemented.

Tue, 14 Apr 2020 17:17:35 +0200SVGHMI: Connect HMI:DropDown to value in HMI Tree, in svghmi test as well. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 14 Apr 2020 17:17:35 +0200] rev 2930
SVGHMI: Connect HMI:DropDown to value in HMI Tree, in svghmi test as well.

Tue, 14 Apr 2020 17:16:25 +0200SVGHMI: fix probable problem in HMI:Input, where value could be applied to wrong index if used in relative page. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 14 Apr 2020 17:16:25 +0200] rev 2929
SVGHMI: fix probable problem in HMI:Input, where value could be applied to wrong index if used in relative page.

Tue, 14 Apr 2020 17:15:02 +0200SVGHMI: HMI:DropDown element is brought in front when opened, so that it isn't occulted by other widgets at the same level. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 14 Apr 2020 17:15:02 +0200] rev 2928
SVGHMI: HMI:DropDown element is brought in front when opened, so that it isn't occulted by other widgets at the same level.

Tue, 14 Apr 2020 17:13:12 +0200SVGHMI: HMI:DropDown now catches all clicks when open svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 14 Apr 2020 17:13:12 +0200] rev 2927
SVGHMI: HMI:DropDown now catches all clicks when open

Tue, 14 Apr 2020 12:07:08 +0200SVGHMI: Add button element to HMI:DropDown, also fix problem with computed box margins. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 14 Apr 2020 12:07:08 +0200] rev 2926
SVGHMI: Add button element to HMI:DropDown, also fix problem with computed box margins.

Tue, 14 Apr 2020 10:56:45 +0200SVGHMI: HMI:DropDown now scrolls forward and backward svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 14 Apr 2020 10:56:45 +0200] rev 2925
SVGHMI: HMI:DropDown now scrolls forward and backward