Fri, 19 Feb 2021 12:03:42 +0100SVGHMI: Fixed/extended error message when failing to launch POEdit. svghmi
Edouard Tisserant [Fri, 19 Feb 2021 12:03:42 +0100] rev 3158
SVGHMI: Fixed/extended error message when failing to launch POEdit.

Fri, 19 Feb 2021 12:02:49 +0100SVGHMI: Fix launch of POEdit on widows. Parsing oommand in registry based on heuristic was bad, now using regex should be safer. TODO : replicate for Inkscape launch. svghmi
Edouard Tisserant [Fri, 19 Feb 2021 12:02:49 +0100] rev 3157
SVGHMI: Fix launch of POEdit on widows. Parsing oommand in registry based on heuristic was bad, now using regex should be safer. TODO : replicate for Inkscape launch.

Mon, 22 Feb 2021 10:08:36 +0100SVGHMI: display progress in IDE console while building svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 22 Feb 2021 10:08:36 +0100] rev 3156
SVGHMI: display progress in IDE console while building

Sun, 21 Feb 2021 21:38:44 +0100SVGHMI: finally found why HMI:Input wasnt't initializing properly: vsprintf takes a list. Also, removed intermediate variable last_val, since edit_value() works on strings anyhow, and in case of formated floats, it is better to workl on already formated value. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 21 Feb 2021 21:38:44 +0100] rev 3155
SVGHMI: finally found why HMI:Input wasnt't initializing properly: vsprintf takes a list. Also, removed intermediate variable last_val, since edit_value() works on strings anyhow, and in case of formated floats, it is better to workl on already formated value.

Fri, 19 Feb 2021 10:04:36 +0100SVGHMI: update generated XSLT svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 19 Feb 2021 10:04:36 +0100] rev 3154
SVGHMI: update generated XSLT

Fri, 19 Feb 2021 10:04:17 +0100Allow printf-like formating in HMI:Input, usefull for example when dealing with floating point numbers. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 19 Feb 2021 10:04:17 +0100] rev 3153
Allow printf-like formating in HMI:Input, usefull for example when dealing with floating point numbers.

Fri, 19 Feb 2021 10:03:00 +0100SVGHMI: Switch from {object} to Map for "updates" global, for performance but also preventing wierd behaviour when iterating svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 19 Feb 2021 10:03:00 +0100] rev 3152
SVGHMI: Switch from {object} to Map for "updates" global, for performance but also preventing wierd behaviour when iterating

Thu, 18 Feb 2021 12:02:28 +0100SVGHMI: Fixed HMI:ScrollBar to exclude cursor size from accessible range ( position is now 0->range-size instead of 0->range ). Fixed and extended tests/svghmi to have working ScrollBar on two alarm pages. Includes generated XSLT update. svghmi
Edouard Tisserant [Thu, 18 Feb 2021 12:02:28 +0100] rev 3151
SVGHMI: Fixed HMI:ScrollBar to exclude cursor size from accessible range ( position is now 0->range-size instead of 0->range ). Fixed and extended tests/svghmi to have working ScrollBar on two alarm pages. Includes generated XSLT update.

Thu, 18 Feb 2021 10:43:10 +0100SVGHMI: JsonTable removed useless promise since fetch() already does one. Updated generated XSLT. svghmi
Edouard Tisserant [Thu, 18 Feb 2021 10:43:10 +0100] rev 3150
SVGHMI: JsonTable removed useless promise since fetch() already does one. Updated generated XSLT.

Thu, 18 Feb 2021 05:39:46 +0100SVGHMI: Optimization for JsonTable : reload JSON only when necessary, and avoid concurrent http requests. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 18 Feb 2021 05:39:46 +0100] rev 3149
SVGHMI: Optimization for JsonTable : reload JSON only when necessary, and avoid concurrent http requests.

Tue, 16 Feb 2021 11:47:52 +0100merge svghmi
Edouard Tisserant [Tue, 16 Feb 2021 11:47:52 +0100] rev 3148
merge

Tue, 16 Feb 2021 11:35:56 +0100SVGHMI: update generated XSLT svghmi
Edouard Tisserant [Tue, 16 Feb 2021 11:35:56 +0100] rev 3147
SVGHMI: update generated XSLT

Tue, 16 Feb 2021 11:32:37 +0100SVGHMI: little fix ihn i18n example. svghmi
Edouard Tisserant [Tue, 16 Feb 2021 11:32:37 +0100] rev 3146
SVGHMI: little fix ihn i18n example.

Tue, 16 Feb 2021 11:32:00 +0100SVGHMI: Fixed sending HMI_REAL to PLC. Added a svghmi_real test that illustrates using printf style formating in HMI:Display to control precision of Float number display. svghmi
Edouard Tisserant [Tue, 16 Feb 2021 11:32:00 +0100] rev 3145
SVGHMI: Fixed sending HMI_REAL to PLC. Added a svghmi_real test that illustrates using printf style formating in HMI:Display to control precision of Float number display.

Tue, 16 Feb 2021 09:38:28 +0100SVGHMI: i18n: ensure langs always appea in same order, and add two variables that are updated automatically when selecting a new language : lang_name and lang_code. Also fixed i18n startup, prevent wrong lang numer to crash loading. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 16 Feb 2021 09:38:28 +0100] rev 3144
SVGHMI: i18n: ensure langs always appea in same order, and add two variables that are updated automatically when selecting a new language : lang_name and lang_code. Also fixed i18n startup, prevent wrong lang numer to crash loading.

Mon, 15 Feb 2021 15:46:47 +0100SVGHMI: more straightforward implementation of dragging position computation in Scrollbar + some little fix about boundaries. svghmi
Edouard Tisserant [Mon, 15 Feb 2021 15:46:47 +0100] rev 3143
SVGHMI: more straightforward implementation of dragging position computation in Scrollbar + some little fix about boundaries.

Sun, 14 Feb 2021 19:15:20 +0100SVGHMI: allow i18n of formated strings of HMI:Messages. This was by construction impossible since formating was given as an argument. Now added optional "format" labelled element in HMI:Display, so that it can be translated, when labelled "_format". svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 14 Feb 2021 19:15:20 +0100] rev 3142
SVGHMI: allow i18n of formated strings of HMI:Messages. This was by construction impossible since formating was given as an argument. Now added optional "format" labelled element in HMI:Display, so that it can be translated, when labelled "_format".

Sun, 14 Feb 2021 05:30:29 +0100SVGHMI: update generated XSLT svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 14 Feb 2021 05:30:29 +0100] rev 3141
SVGHMI: update generated XSLT

Sun, 14 Feb 2021 05:29:51 +0100SVGHMI: i18n: prevent creating messages.pot if no translation svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 14 Feb 2021 05:29:51 +0100] rev 3140
SVGHMI: i18n: prevent creating messages.pot if no translation

Sun, 14 Feb 2021 05:22:30 +0100SVGHMI: Add inhibition to widget's apply_hmi_value() so that it does not change variable more frquently than given widget's frequency. This prevents flooding network with many update if browser is producing events at high rate, as for exemple when dragging ScrollBar's cursor. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 14 Feb 2021 05:22:30 +0100] rev 3139
SVGHMI: Add inhibition to widget's apply_hmi_value() so that it does not change variable more frquently than given widget's frequency. This prevents flooding network with many update if browser is producing events at high rate, as for exemple when dragging ScrollBar's cursor.

Sun, 14 Feb 2021 05:17:25 +0100SVGHMI: fix scrollbar not behaving when rotated. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 14 Feb 2021 05:17:25 +0100] rev 3138
SVGHMI: fix scrollbar not behaving when rotated.

Sun, 14 Feb 2021 05:15:13 +0100SVGHMI: remove forgotten debug code svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 14 Feb 2021 05:15:13 +0100] rev 3137
SVGHMI: remove forgotten debug code

Fri, 12 Feb 2021 22:00:07 +0100SVGHMI: Add a robust ScrollBar widget. HMI:ScrollBar@positionrange@size svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 12 Feb 2021 22:00:07 +0100] rev 3136
SVGHMI: Add a robust ScrollBar widget. HMI:ScrollBar@positionrange@size

Fri, 12 Feb 2021 21:58:03 +0100SVGHMI: propagate default local variables (HMI_LOCAL, PAGE_LOCAL) to widgets at startup svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 12 Feb 2021 21:58:03 +0100] rev 3135
SVGHMI: propagate default local variables (HMI_LOCAL, PAGE_LOCAL) to widgets at startup

Tue, 09 Feb 2021 17:10:08 +0100SVGHMI: Update generated XSLT svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 09 Feb 2021 17:10:08 +0100] rev 3134
SVGHMI: Update generated XSLT

Tue, 09 Feb 2021 17:09:08 +0100SVGHMI: HMI:DropDown:#langs@lang now automatically shows human readable list of languages. tests/svghmi_i18n updated accordingly. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 09 Feb 2021 17:09:08 +0100] rev 3133
SVGHMI: HMI:DropDown:#langs@lang now automatically shows human readable list of languages. tests/svghmi_i18n updated accordingly.

Tue, 09 Feb 2021 08:11:22 +0100SVGHMI: Add a simple i18n test svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 09 Feb 2021 08:11:22 +0100] rev 3132
SVGHMI: Add a simple i18n test

Tue, 09 Feb 2021 07:57:14 +0100SVGHMI: Prevent Dropdown widget to mak exception whe value out of range svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 09 Feb 2021 07:57:14 +0100] rev 3131
SVGHMI: Prevent Dropdown widget to mak exception whe value out of range

Tue, 09 Feb 2021 07:56:25 +0100SVGHMI: removed dead code svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 09 Feb 2021 07:56:25 +0100] rev 3130
SVGHMI: removed dead code

Tue, 09 Feb 2021 07:55:16 +0100SVGHMI: Add "lang" permament persistent HMI_LOCAL variable to reflect selected language, apply stored language choice at startup and make it always subscribed to a pseudo widget (as for hearbeat) that apply language choice when it changes. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 09 Feb 2021 07:55:16 +0100] rev 3129
SVGHMI: Add "lang" permament persistent HMI_LOCAL variable to reflect selected language, apply stored language choice at startup and make it always subscribed to a pseudo widget (as for hearbeat) that apply language choice when it changes.

Tue, 09 Feb 2021 07:46:02 +0100SVGHMI: Added HMI:VarInitPersistent to initialize persistent HMI_LOCAL and PAGE_LOCAL variables, stored as cookies in browser. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 09 Feb 2021 07:46:02 +0100] rev 3128
SVGHMI: Added HMI:VarInitPersistent to initialize persistent HMI_LOCAL and PAGE_LOCAL variables, stored as cookies in browser.

Tue, 09 Feb 2021 07:41:24 +0100SVGHMI: Enforce formating HMI_LOCAL and PAGE_LOCAL variables until the end of variable name svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 09 Feb 2021 07:41:24 +0100] rev 3127
SVGHMI: Enforce formating HMI_LOCAL and PAGE_LOCAL variables until the end of variable name

Thu, 04 Feb 2021 21:23:58 +0100SVGHMI: generate JS translation literals so that it is possible to also translate uses of texts, and added JS code that apply translations to tspans svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 04 Feb 2021 21:23:58 +0100] rev 3126
SVGHMI: generate JS translation literals so that it is possible to also translate uses of texts, and added JS code that apply translations to tspans

Thu, 04 Feb 2021 21:20:01 +0100SVGHMI: widget activable elements : moved code to wher it belongs, rewrote cleaner svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 04 Feb 2021 21:20:01 +0100] rev 3125
SVGHMI: widget activable elements : moved code to wher it belongs, rewrote cleaner

Tue, 02 Feb 2021 16:39:02 +0100SVGHMI: update generated XSLT svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 02 Feb 2021 16:39:02 +0100] rev 3124
SVGHMI: update generated XSLT

Tue, 02 Feb 2021 11:20:54 +0100Merged svghmi
Edouard Tisserant [Tue, 02 Feb 2021 11:20:54 +0100] rev 3123
Merged

Tue, 02 Feb 2021 11:17:03 +0100SVGHMI: make a copy of tests/svghmi as test/svghmi_widget because too crowded since having pages for widget documentation. Strip those pages from tests/svghmi, so that it svghmi
Edouard Tisserant [Tue, 02 Feb 2021 11:17:03 +0100] rev 3122
SVGHMI: make a copy of tests/svghmi as test/svghmi_widget because too crowded since having pages for widget documentation. Strip those pages from tests/svghmi, so that it
is more light for regular testing.

Tue, 02 Feb 2021 10:59:00 +0100SVGHMI: Prevent excluded widget to appear in generated pages' widget list. svghmi
Edouard Tisserant [Tue, 02 Feb 2021 10:59:00 +0100] rev 3121
SVGHMI: Prevent excluded widget to appear in generated pages' widget list.

Tue, 02 Feb 2021 10:43:43 +0100SVGHMI: Remove recursive walk in parsed widget to find unique type and use xsl:key instead. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 02 Feb 2021 10:43:43 +0100] rev 3120
SVGHMI: Remove recursive walk in parsed widget to find unique type and use xsl:key instead.

Tue, 26 Jan 2021 11:17:08 +0100SVGHMI: Fix browser side exception when some widget are not used, and are then discarded and not present in final SVG. In that case JS code was still making reference to discarded widget elements and was raising exception at init. svghmi
Edouard Tisserant [Tue, 26 Jan 2021 11:17:08 +0100] rev 3119
SVGHMI: Fix browser side exception when some widget are not used, and are then discarded and not present in final SVG. In that case JS code was still making reference to discarded widget elements and was raising exception at init.

Tue, 26 Jan 2021 11:14:22 +0100SVGHMI : removed support for changing keyboard position and showing at user defined location. Feature was problematic in many respect. svghmi
Edouard Tisserant [Tue, 26 Jan 2021 11:14:22 +0100] rev 3118
SVGHMI : removed support for changing keyboard position and showing at user defined location. Feature was problematic in many respect.

Mon, 25 Jan 2021 14:02:08 +0100SVGHMI: Make an error when pages are nested svghmi
Edouard Tisserant [Mon, 25 Jan 2021 14:02:08 +0100] rev 3117
SVGHMI: Make an error when pages are nested

Fri, 22 Jan 2021 11:30:37 +0100SVGHMI: i18n: finished passing back translated messaged to xslt proc, finished template to generate corresponding javascript literals. svghmi
Edouard Tisserant [Fri, 22 Jan 2021 11:30:37 +0100] rev 3116
SVGHMI: i18n: finished passing back translated messaged to xslt proc, finished template to generate corresponding javascript literals.

Fri, 22 Jan 2021 08:43:24 +0100SVGHMI: i18n: various fixes about unicode encoding and converting translation result back to XML to feed xslt processor svghmi
Edouard Tisserant [Fri, 22 Jan 2021 08:43:24 +0100] rev 3115
SVGHMI: i18n: various fixes about unicode encoding and converting translation result back to XML to feed xslt processor

Thu, 21 Jan 2021 11:08:04 +0100SVGHMI: i18n: better warning messages, more explicit. svghmi
Edouard Tisserant [Thu, 21 Jan 2021 11:08:04 +0100] rev 3114
SVGHMI: i18n: better warning messages, more explicit.

Thu, 21 Jan 2021 05:04:23 +0100SVGHMI: i18n: now loads PO filesand match translation against catalog. Refactored a bit to move i18n related code in i18n.py svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 21 Jan 2021 05:04:23 +0100] rev 3113
SVGHMI: i18n: now loads PO filesand match translation against catalog. Refactored a bit to move i18n related code in i18n.py

Tue, 19 Jan 2021 11:57:13 +0100SVGHMI: still WIP, now POT file is properly generated with utf-8 encoding and POEdit is launched when pressing button. svghmi
Edouard Tisserant [Tue, 19 Jan 2021 11:57:13 +0100] rev 3112
SVGHMI: still WIP, now POT file is properly generated with utf-8 encoding and POEdit is launched when pressing button.

Mon, 18 Jan 2021 10:32:13 +0100Docutil : reworked Inkscape launching and path resolution in docsvg.py svghmi
Edouard Tisserant [Mon, 18 Jan 2021 10:32:13 +0100] rev 3111
Docutil : reworked Inkscape launching and path resolution in docsvg.py

Fri, 15 Jan 2021 10:15:41 +0100merge svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 15 Jan 2021 10:15:41 +0100] rev 3110
merge

Wed, 13 Jan 2021 10:28:09 +0100Removed harmful assert in ProcessLogger. svghmi
Edouard Tisserant [Wed, 13 Jan 2021 10:28:09 +0100] rev 3109
Removed harmful assert in ProcessLogger.

ProcessLogger was having an assert in constructor when missing logger, leading to systematic exception when testing options accepted by compiler. This exception was silenced in ProjectController, and then MatIEC was always called without options.

Fri, 15 Jan 2021 10:11:05 +0100SVGHMI: Intermediate commit while implementing i18n. WIP. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 15 Jan 2021 10:11:05 +0100] rev 3108
SVGHMI: Intermediate commit while implementing i18n. WIP.

Tue, 05 Jan 2021 01:23:45 +0100SVGHMI: Jump widget: switch to class based declaraion, and add some TODO comments to prepare for jump to relative page being selected through a DropDown widget. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 05 Jan 2021 01:23:45 +0100] rev 3107
SVGHMI: Jump widget: switch to class based declaraion, and add some TODO comments to prepare for jump to relative page being selected through a DropDown widget.

Mon, 04 Jan 2021 13:57:11 +0100SVGHMI: intermediate state of test/svghmi's SVG for backup... WIP svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 04 Jan 2021 13:57:11 +0100] rev 3106
SVGHMI: intermediate state of test/svghmi's SVG for backup... WIP

Mon, 04 Jan 2021 12:34:56 +0100SVGHMI: CircularBar: use animate() + cormetic changes svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 04 Jan 2021 12:34:56 +0100] rev 3105
SVGHMI: CircularBar: use animate() + cormetic changes

Tue, 29 Dec 2020 16:54:32 +0100SVGHMI: Meter widget: use animate() + cosmetic changes svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 29 Dec 2020 16:54:32 +0100] rev 3104
SVGHMI: Meter widget: use animate() + cosmetic changes

Tue, 29 Dec 2020 15:53:30 +0100SVGHMI: Update generated xslt svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 29 Dec 2020 15:53:30 +0100] rev 3103
SVGHMI: Update generated xslt

Tue, 29 Dec 2020 15:39:48 +0100SVGHMI: Fix bug in keypad leading to error messages in browser console when keypas has no Shift or CapsLock keys svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 29 Dec 2020 15:39:48 +0100] rev 3102
SVGHMI: Fix bug in keypad leading to error messages in browser console when keypas has no Shift or CapsLock keys

Tue, 29 Dec 2020 15:38:31 +0100SVGHMI: cosmetic changes svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 29 Dec 2020 15:38:31 +0100] rev 3101
SVGHMI: cosmetic changes

Tue, 29 Dec 2020 15:37:41 +0100SVGHMI: Input widget overrides undershot() and overshot() methods to display "min: xxx" or "max: xxx" when user input goes out of given range. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 29 Dec 2020 15:37:41 +0100] rev 3100
SVGHMI: Input widget overrides undershot() and overshot() methods to display "min: xxx" or "max: xxx" when user input goes out of given range.

Tue, 29 Dec 2020 15:35:39 +0100SVGHMI: Added clipping to min and max value for all widget using @path,min,max syntax. Added overshot() and undershot() methods to widget base class, called when value is limited to max or min respectively. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 29 Dec 2020 15:35:39 +0100] rev 3099
SVGHMI: Added clipping to min and max value for all widget using @path,min,max syntax. Added overshot() and undershot() methods to widget base class, called when value is limited to max or min respectively.

Thu, 24 Dec 2020 17:00:43 +0100SVGHMI: decoupled operation string evaluation from HMI variable uptdate in change_hmi_variable(), paving the way for min/max boundaries enforcement svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 24 Dec 2020 17:00:43 +0100] rev 3098
SVGHMI: decoupled operation string evaluation from HMI variable uptdate in change_hmi_variable(), paving the way for min/max boundaries enforcement

Thu, 24 Dec 2020 16:56:19 +0100SVGHMI: Added parsing of min and max value that can be given as @path,min,max in widget description svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 24 Dec 2020 16:56:19 +0100] rev 3097
SVGHMI: Added parsing of min and max value that can be given as @path,min,max in widget description

Tue, 22 Dec 2020 14:57:59 +0100Merged default in svghmi branch svghmi
Edouard Tisserant [Tue, 22 Dec 2020 14:57:59 +0100] rev 3096
Merged default in svghmi branch

Mon, 21 Dec 2020 11:10:27 +0100WebInterface: better wording for wiping PLC content: "Repair" svghmi
Edouard Tisserant [Mon, 21 Dec 2020 11:10:27 +0100] rev 3095
WebInterface: better wording for wiping PLC content: "Repair"