Thu, 25 Mar 2021 13:07:52 +0100SVGHMI: split svghmi.py into svghmi.py (Config Tree Node + code gen) and ui.py (UI for HMI tree and Widget picking) svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 25 Mar 2021 13:07:52 +0100] rev 3201
SVGHMI: split svghmi.py into svghmi.py (Config Tree Node + code gen) and ui.py (UI for HMI tree and Widget picking)

Thu, 25 Mar 2021 10:48:24 +0100SVGHMI: stop serving HMI open wide on all interfaces. That was a security hole. It is user/developer responsibity to forward connection with for exemple stunnel and make it securely accessible from LAN. svghmi
Edouard Tisserant [Thu, 25 Mar 2021 10:48:24 +0100] rev 3200
SVGHMI: stop serving HMI open wide on all interfaces. That was a security hole. It is user/developer responsibity to forward connection with for exemple stunnel and make it securely accessible from LAN.

Thu, 25 Mar 2021 10:13:12 +0100SVGHMI: Filter unseen geometry from inkscape CSV output. svghmi
Edouard Tisserant [Thu, 25 Mar 2021 10:13:12 +0100] rev 3199
SVGHMI: Filter unseen geometry from inkscape CSV output.

When inkscape exports geometry form all objects, then it also includes objects from svg:defs. This makes problems when deciding if an object is part of a page, since coordinate of objects in svg:defs can eventualy be contained in a page. In the end, those objects where getting detached when leaving pages where they where found, leading for exemple to non working text on clipping when the clipped text was cloned in multiple page.

Tue, 23 Mar 2021 14:09:55 +0100SVGHMI: Fix typo in error message formating in i18n. svghmi
Edouard Tisserant [Tue, 23 Mar 2021 14:09:55 +0100] rev 3198
SVGHMI: Fix typo in error message formating in i18n.

Wed, 24 Mar 2021 05:34:46 +0100SVGHMI: split svghmi.py into hmi_tree.py + svghmi.py svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 24 Mar 2021 05:34:46 +0100] rev 3197
SVGHMI: split svghmi.py into hmi_tree.py + svghmi.py

Tue, 23 Mar 2021 05:15:19 +0100Merged svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 23 Mar 2021 05:15:19 +0100] rev 3196
Merged

Thu, 18 Mar 2021 14:32:21 +0100SVGHMI: JsonTable: Fixed options not being passed in JSON post when jumping to a page where additional variables are pre-defined by a HMI:VarInit. svghmi
Edouard Tisserant [Thu, 18 Mar 2021 14:32:21 +0100] rev 3195
SVGHMI: JsonTable: Fixed options not being passed in JSON post when jumping to a page where additional variables are pre-defined by a HMI:VarInit.
Was JS Fetch Promise not executed late enough, and gathering JsonTable variables before the sequence of calls to dispatch() was finished.

Tue, 23 Mar 2021 05:13:18 +0100SVGHMI: Added small widget library for library browser testing. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 23 Mar 2021 05:13:18 +0100] rev 3194
SVGHMI: Added small widget library for library browser testing.

Tue, 23 Mar 2021 05:11:23 +0100SVGHMI: Added SVG widget library browser. Supports browsing and previewing widgets. Widget validation and drag'n'drop are still to be implemented. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 23 Mar 2021 05:11:23 +0100] rev 3193
SVGHMI: Added SVG widget library browser. Supports browsing and previewing widgets. Widget validation and drag'n'drop are still to be implemented.

Tue, 23 Mar 2021 05:08:51 +0100Allow using spin() from ProcessLogger even with no logger given. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 23 Mar 2021 05:08:51 +0100] rev 3192
Allow using spin() from ProcessLogger even with no logger given.

Wed, 17 Mar 2021 11:07:29 +0100merged svghmi
Edouard Tisserant [Wed, 17 Mar 2021 11:07:29 +0100] rev 3191
merged

Tue, 16 Mar 2021 14:19:22 +0100SVGHMI: cosmetic change, missing semicolon svghmi
Edouard Tisserant [Tue, 16 Mar 2021 14:19:22 +0100] rev 3190
SVGHMI: cosmetic change, missing semicolon

Tue, 16 Mar 2021 14:18:39 +0100SVGHMI: JsonTable should refresh when re-subscibing, because data might have changed while not on the page we are switching to. svghmi
Edouard Tisserant [Tue, 16 Mar 2021 14:18:39 +0100] rev 3189
SVGHMI: JsonTable should refresh when re-subscibing, because data might have changed while not on the page we are switching to.

Mon, 15 Mar 2021 11:25:24 +0100SVGHMI: Fixed problems happening when value is higher than maximum or lower than minimum in Input widget. "max" and "min" string was getting into keypad text field, was not diplayed systematically, and was staying forever sometime. svghmi
Edouard Tisserant [Mon, 15 Mar 2021 11:25:24 +0100] rev 3188
SVGHMI: Fixed problems happening when value is higher than maximum or lower than minimum in Input widget. "max" and "min" string was getting into keypad text field, was not diplayed systematically, and was staying forever sometime.

Fri, 12 Mar 2021 15:12:38 +0100SVGHMI: change default values for JsonTable, leading to scrollbar initialized at annoying non-zero position svghmi
Edouard Tisserant [Fri, 12 Mar 2021 15:12:38 +0100] rev 3187
SVGHMI: change default values for JsonTable, leading to scrollbar initialized at annoying non-zero position

Thu, 11 Mar 2021 20:46:05 +0100SVGHMI: Ensure that when a HMI:List is refered, none of its refered elements are discarded. svghmi
Edouard Tisserant [Thu, 11 Mar 2021 20:46:05 +0100] rev 3186
SVGHMI: Ensure that when a HMI:List is refered, none of its refered elements are discarded.

Thu, 11 Mar 2021 10:35:23 +0100Backed out changeset b2ba6eeb61ec. Users reported text styling being messed in some cases. svghmi
Edouard Tisserant [Thu, 11 Mar 2021 10:35:23 +0100] rev 3185
Backed out changeset b2ba6eeb61ec. Users reported text styling being messed in some cases.

Thu, 11 Mar 2021 09:13:51 +0100merge svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 11 Mar 2021 09:13:51 +0100] rev 3184
merge

Wed, 10 Mar 2021 10:01:05 +0100merge svghmi
Edouard Tisserant [Wed, 10 Mar 2021 10:01:05 +0100] rev 3183
merge

Wed, 10 Mar 2021 09:59:18 +0100Runtime: Added PostStart methot to PLCObject, called after PLC is started, with all libraries and python object already created, and python extensions "Start" methods being called. svghmi
Edouard Tisserant [Wed, 10 Mar 2021 09:59:18 +0100] rev 3182
Runtime: Added PostStart methot to PLCObject, called after PLC is started, with all libraries and python object already created, and python extensions "Start" methods being called.
This is called before python thread processing py_eval blocks starts. Example purpose: attach additional ressource to web services

Wed, 10 Mar 2021 19:29:49 +0100SVGHMI: Add generic action buttons to JSON table, with an example in tests/svghmi: wipe alar list. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 10 Mar 2021 19:29:49 +0100] rev 3181
SVGHMI: Add generic action buttons to JSON table, with an example in tests/svghmi: wipe alar list.

Wed, 10 Mar 2021 19:27:41 +0100SVGHMI: do not do XSLT transform if both SVGHMI and HMI Tree didn't change since last build svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 10 Mar 2021 19:27:41 +0100] rev 3180
SVGHMI: do not do XSLT transform if both SVGHMI and HMI Tree didn't change since last build

Fri, 05 Mar 2021 09:36:22 +0100Merged svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 05 Mar 2021 09:36:22 +0100] rev 3179
Merged

Wed, 03 Mar 2021 11:45:13 +0100SVGHMI: Make ScrollBar's variables order match JsonTable's variables order to avoid confusion svghmi
Edouard Tisserant [Wed, 03 Mar 2021 11:45:13 +0100] rev 3178
SVGHMI: Make ScrollBar's variables order match JsonTable's variables order to avoid confusion

Fri, 05 Mar 2021 09:24:45 +0100SVGHMI: Lighter display of HMI Tree, no more icons and use buttons. Auto expand root. Fix loading of HMI tree XML backup (hmiclass attribute wasn't kept). svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 05 Mar 2021 09:24:45 +0100] rev 3177
SVGHMI: Lighter display of HMI Tree, no more icons and use buttons. Auto expand root. Fix loading of HMI tree XML backup (hmiclass attribute wasn't kept).

Fri, 05 Mar 2021 00:02:52 +0100SVGHMI: Systematically save HMI Tree in build directory as hmitree.xml when building, so that HMI Tree can be displayed when re-opening project, without having to build svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 05 Mar 2021 00:02:52 +0100] rev 3176
SVGHMI: Systematically save HMI Tree in build directory as hmitree.xml when building, so that HMI Tree can be displayed when re-opening project, without having to build

Tue, 02 Mar 2021 17:30:13 +0100SVGHMI: attempt to prevent crazy styling with HMI:TextStyleList when inkscape store style in tspan instead of text element. svghmi
Edouard Tisserant [Tue, 02 Mar 2021 17:30:13 +0100] rev 3175
SVGHMI: attempt to prevent crazy styling with HMI:TextStyleList when inkscape store style in tspan instead of text element.

Tue, 02 Mar 2021 10:11:45 +0100IDE: Fix logging of external process execution time so that it is visible on windows as well. svghmi
Edouard Tisserant [Tue, 02 Mar 2021 10:11:45 +0100] rev 3174
IDE: Fix logging of external process execution time so that it is visible on windows as well.

Tue, 02 Mar 2021 09:42:50 +0100IDE: Process Logging : Add annotation in log so that user can see build is still alive and how long external process takes. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 02 Mar 2021 09:42:50 +0100] rev 3173
IDE: Process Logging : Add annotation in log so that user can see build is still alive and how long external process takes.

Tue, 02 Mar 2021 09:28:44 +0100IDE: Iec2CSettings: Log wasn't available in case of exception when launching iec2c. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 02 Mar 2021 09:28:44 +0100] rev 3172
IDE: Iec2CSettings: Log wasn't available in case of exception when launching iec2c.

Tue, 02 Mar 2021 09:25:55 +0100IDE: Log: Cosmetic changes, refactoring svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 02 Mar 2021 09:25:55 +0100] rev 3171
IDE: Log: Cosmetic changes, refactoring

Mon, 01 Mar 2021 15:46:23 +0100SVGHMI: Make build log less redundant, and refactor progress information code a bit, to make it also a bit less redundant. svghmi
Edouard Tisserant [Mon, 01 Mar 2021 15:46:23 +0100] rev 3170
SVGHMI: Make build log less redundant, and refactor progress information code a bit, to make it also a bit less redundant.

Mon, 01 Mar 2021 15:45:13 +0100IDE: Make ST code generation more verbose, since it can be really long in case of big programs, and it is better to let the user know build is still in progress. svghmi
Edouard Tisserant [Mon, 01 Mar 2021 15:45:13 +0100] rev 3169
IDE: Make ST code generation more verbose, since it can be really long in case of big programs, and it is better to let the user know build is still in progress.

Mon, 01 Mar 2021 10:03:50 +0100merged svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 01 Mar 2021 10:03:50 +0100] rev 3168
merged

Fri, 26 Feb 2021 11:08:51 +0100SVGHMI: Fixed progress time computation svghmi
Edouard Tisserant [Fri, 26 Feb 2021 11:08:51 +0100] rev 3167
SVGHMI: Fixed progress time computation

Sun, 28 Feb 2021 21:45:10 +0100IDE: Fixed log console that was not updating line by line smoothly when building. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 28 Feb 2021 21:45:10 +0100] rev 3166
IDE: Fixed log console that was not updating line by line smoothly when building.

Fri, 26 Feb 2021 10:00:14 +0100SVGHMI: Optimized overlapping geometry (widget ot page belonging) computation. Added human readable messages for progress. Includes updated XSLT. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 26 Feb 2021 10:00:14 +0100] rev 3165
SVGHMI: Optimized overlapping geometry (widget ot page belonging) computation. Added human readable messages for progress. Includes updated XSLT.

Thu, 25 Feb 2021 11:22:10 +0100merged svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 25 Feb 2021 11:22:10 +0100] rev 3164
merged

Wed, 24 Feb 2021 09:37:00 +0100Merge changes from default into svghmi branch svghmi
Edouard Tisserant [Wed, 24 Feb 2021 09:37:00 +0100] rev 3163
Merge changes from default into svghmi branch

Wed, 24 Feb 2021 15:36:37 +0100SVGHMI: More build time optimization : def_by_label now takes far less time. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 24 Feb 2021 15:36:37 +0100] rev 3162
SVGHMI: More build time optimization : def_by_label now takes far less time.

Tue, 23 Feb 2021 10:07:21 +0100SVGHMI: Optimize sumarized_elements xslt function, taking most of SVGHMI build time. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 23 Feb 2021 10:07:21 +0100] rev 3161
SVGHMI: Optimize sumarized_elements xslt function, taking most of SVGHMI build time.

Mon, 22 Feb 2021 10:09:57 +0100Merge svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 22 Feb 2021 10:09:57 +0100] rev 3160
Merge

Fri, 19 Feb 2021 14:56:14 +0100SVGHMI: Add icons svghmi
Edouard Tisserant [Fri, 19 Feb 2021 14:56:14 +0100] rev 3159
SVGHMI: Add icons

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.