Mon, 31 Aug 2020 13:54:08 +0200Attempt to workaround problem reported about empty plc.xml after unrelated crash. Now, if etree model is corrupted in a way tostring() would generate an empty string, exception prevents saving. svghmi
Edouard Tisserant [Mon, 31 Aug 2020 13:54:08 +0200] rev 3049
Attempt to workaround problem reported about empty plc.xml after unrelated crash. Now, if etree model is corrupted in a way tostring() would generate an empty string, exception prevents saving.

Fri, 28 Aug 2020 15:29:35 +0200SVGHMI: JsonTable can now have clickable elements, that trigger a request with extra argument whose content is taken from Json data. svghmi
Edouard Tisserant [Fri, 28 Aug 2020 15:29:35 +0200] rev 3048
SVGHMI: JsonTable can now have clickable elements, that trigger a request with extra argument whose content is taken from Json data.

Fri, 28 Aug 2020 11:31:18 +0200Merged svghmi
Edouard Tisserant [Fri, 28 Aug 2020 11:31:18 +0200] rev 3047
Merged

Fri, 28 Aug 2020 11:27:07 +0200SVGHMI: cosmetic fix in test svghmi
Edouard Tisserant [Fri, 28 Aug 2020 11:27:07 +0200] rev 3046
SVGHMI: cosmetic fix in test

Tue, 18 Aug 2020 11:42:28 +0200All widgets reworked to use widget class and animate function if needed svghmi
usveticic [Tue, 18 Aug 2020 11:42:28 +0200] rev 3045
All widgets reworked to use widget class and animate function if needed

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