Thu, 20 May 2021 12:16:51 +0200SVGHMI: DnD UI : changed layout again, moved description in a vertical splitter, added scrollbar for preview and signature, fixed flickering description svghmi
Edouard Tisserant [Thu, 20 May 2021 12:16:51 +0200] rev 3245
SVGHMI: DnD UI : changed layout again, moved description in a vertical splitter, added scrollbar for preview and signature, fixed flickering description

Wed, 19 May 2021 18:54:35 +0200SVGHMI: UI: Swap widget selection tree and preview panel svghmi
Edouard Tisserant [Wed, 19 May 2021 18:54:35 +0200] rev 3244
SVGHMI: UI: Swap widget selection tree and preview panel

Wed, 19 May 2021 15:29:18 +0200SVGHMI: WIP: Widget Library UI: Reworking widget selection and binding. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 19 May 2021 15:29:18 +0200] rev 3243
SVGHMI: WIP: Widget Library UI: Reworking widget selection and binding.

Tue, 18 May 2021 09:28:44 +0200Merged SVGHMI branches svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 18 May 2021 09:28:44 +0200] rev 3242
Merged SVGHMI branches

Tue, 18 May 2021 09:22:17 +0200SVGHMI: WIP on Widget DnD UI : Added documentation to widgets, that is injected in widget parse tree during widget analysis svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 18 May 2021 09:22:17 +0200] rev 3241
SVGHMI: WIP on Widget DnD UI : Added documentation to widgets, that is injected in widget parse tree during widget analysis

Mon, 17 May 2021 08:52:38 +0200SVGHMI: Fix behaviour of Jump widget, that wasn't displaying "disabled" state in some cases. svghmi
Edouard Tisserant [Mon, 17 May 2021 08:52:38 +0200] rev 3240
SVGHMI: Fix behaviour of Jump widget, that wasn't displaying "disabled" state in some cases.

Wed, 12 May 2021 11:38:00 +0200merged default in svghmi svghmi
Edouard Tisserant [Wed, 12 May 2021 11:38:00 +0200] rev 3239
merged default in svghmi

Mon, 03 May 2021 00:14:38 +0200SVGHMI: updating generated XSLT svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 03 May 2021 00:14:38 +0200] rev 3238
SVGHMI: updating generated XSLT

Mon, 03 May 2021 00:14:11 +0200SVGHMI: Intermediate state while updating UI, preparing for displaying widget description and multiple variables selections svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 03 May 2021 00:14:11 +0200] rev 3237
SVGHMI: Intermediate state while updating UI, preparing for displaying widget description and multiple variables selections

Mon, 03 May 2021 00:06:03 +0200SVGHMI: Extend widget labels parsing to allow expressing widget's accepted types in labels svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 03 May 2021 00:06:03 +0200] rev 3236
SVGHMI: Extend widget labels parsing to allow expressing widget's accepted types in labels

Mon, 03 May 2021 00:04:08 +0200SVGHMI: Add analyse_widget stylesheet and python code to execute it, in order to obtain widget signature independently of DnD SVG file generation. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 03 May 2021 00:04:08 +0200] rev 3235
SVGHMI: Add analyse_widget stylesheet and python code to execute it, in order to obtain widget signature independently of DnD SVG file generation.

Sun, 02 May 2021 23:43:57 +0200SVGHMI: drop useless code from gen_dnd_widget.yslt2, renamed python callback to pass messages svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 02 May 2021 23:43:57 +0200] rev 3234
SVGHMI: drop useless code from gen_dnd_widget.yslt2, renamed python callback to pass messages

Sun, 02 May 2021 23:15:23 +0200SVGHMI: Added widget_desc to declare widget signature and description svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 02 May 2021 23:15:23 +0200] rev 3233
SVGHMI: Added widget_desc to declare widget signature and description

Sun, 02 May 2021 23:01:08 +0200SVGHMI: In order to allow widget signature and description to coexist in same ysl2 file, introduced widget_class, widget_defs to declare widget codegen templates and gen_index_xhtml to mark templates that are only usefull in gen_index_xhtml.xslt. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 02 May 2021 23:01:08 +0200] rev 3232
SVGHMI: In order to allow widget signature and description to coexist in same ysl2 file, introduced widget_class, widget_defs to declare widget codegen templates and gen_index_xhtml to mark templates that are only usefull in gen_index_xhtml.xslt.

Thu, 15 Apr 2021 09:15:23 +0200SVGHMI: keep track of order of selection in HMI tree, so that variable can be passed in same order to DnD widget svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 15 Apr 2021 09:15:23 +0200] rev 3231
SVGHMI: keep track of order of selection in HMI tree, so that variable can be passed in same order to DnD widget

Wed, 14 Apr 2021 09:21:18 +0200SVGHMI: fixed typo svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 14 Apr 2021 09:21:18 +0200] rev 3230
SVGHMI: fixed typo

Tue, 13 Apr 2021 21:04:46 +0200SVGHMI: still quite naive path substitution whn prepearing widget for DnD, but now uses label generation. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 13 Apr 2021 21:04:46 +0200] rev 3229
SVGHMI: still quite naive path substitution whn prepearing widget for DnD, but now uses label generation.

Multiple widget DnD and mutiple variable still make no sense because all path are replaced with same path, but atleast min/max value are preserved...

Tue, 13 Apr 2021 21:00:34 +0200SVGHMI: Added text box for tranformation feedback aside widget mignature svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 13 Apr 2021 21:00:34 +0200] rev 3228
SVGHMI: Added text box for tranformation feedback aside widget mignature

Fri, 09 Apr 2021 09:47:06 +0200Merged default in SVGHMI svghmi
Edouard Tisserant [Fri, 09 Apr 2021 09:47:06 +0200] rev 3227
Merged default in SVGHMI

Tue, 06 Apr 2021 16:07:56 +0200SVGHMI: prototype of widget interface description using SVG's desc field, added to SVGHMI's internal svg widget library. svghmi
Edouard Tisserant [Tue, 06 Apr 2021 16:07:56 +0200] rev 3226
SVGHMI: prototype of widget interface description using SVG's desc field, added to SVGHMI's internal svg widget library.

Tue, 06 Apr 2021 16:05:58 +0200SVGHMI: Naive implementation of widget path substitution in widget DnD: considers widget always have only one variable, and no type checking. svghmi
Edouard Tisserant [Tue, 06 Apr 2021 16:05:58 +0200] rev 3225
SVGHMI: Naive implementation of widget path substitution in widget DnD: considers widget always have only one variable, and no type checking.

Tue, 06 Apr 2021 14:04:08 +0200SVGHMI: Widget transform before DnD now have HMI path as a parameter svghmi
Edouard Tisserant [Tue, 06 Apr 2021 14:04:08 +0200] rev 3224
SVGHMI: Widget transform before DnD now have HMI path as a parameter

Tue, 06 Apr 2021 11:47:07 +0200SVGHMI: Widget transform before DnD now should have HMI path as a parameter, but this path isn't computed for some reason... WIP. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 06 Apr 2021 11:47:07 +0200] rev 3223
SVGHMI: Widget transform before DnD now should have HMI path as a parameter, but this path isn't computed for some reason... WIP.

Mon, 05 Apr 2021 18:22:30 +0200SVGHMI: Widget DnD to Inkscape : Added source SVG widget label parsing and pass selecte HMI subtree to XSLT tranform, so that SVG containing multiple widgets can later be matched against hmi tree fragments, in order to DnD complex groups of widgets. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 05 Apr 2021 18:22:30 +0200] rev 3222
SVGHMI: Widget DnD to Inkscape : Added source SVG widget label parsing and pass selecte HMI subtree to XSLT tranform, so that SVG containing multiple widgets can later be matched against hmi tree fragments, in order to DnD complex groups of widgets.

Fri, 02 Apr 2021 21:16:18 +0200SVGHMI: Widget Library Picker now transforms SVG widget before allowing DnD. Transform is just identity forn now, but label parsing have already been included. To be continued. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 02 Apr 2021 21:16:18 +0200] rev 3221
SVGHMI: Widget Library Picker now transforms SVG widget before allowing DnD. Transform is just identity forn now, but label parsing have already been included. To be continued.

Thu, 01 Apr 2021 16:00:58 +0200SVGHMI: Ensure that when widgets are nested in HMI:Switch widget, their sub-elements are taken as switch's choice in case their label match the syntax. svghmi
Edouard Tisserant [Thu, 01 Apr 2021 16:00:58 +0200] rev 3220
SVGHMI: Ensure that when widgets are nested in HMI:Switch widget, their sub-elements are taken as switch's choice in case their label match the syntax.

Thu, 01 Apr 2021 15:57:06 +0200SVGHMI: Code cleanup for ToggleButton. svghmi
Edouard Tisserant [Thu, 01 Apr 2021 15:57:06 +0200] rev 3219
SVGHMI: Code cleanup for ToggleButton.

Thu, 01 Apr 2021 15:56:19 +0200SVGHMI: Fixed last i18n changes meant to allow checking changes in PO files. Was making build exception when no PO files available. svghmi
Edouard Tisserant [Thu, 01 Apr 2021 15:56:19 +0200] rev 3218
SVGHMI: Fixed last i18n changes meant to allow checking changes in PO files. Was making build exception when no PO files available.

Thu, 01 Apr 2021 15:51:24 +0200IDE: Add a shortcut to project "Clean" action : F9 svghmi
Edouard Tisserant [Thu, 01 Apr 2021 15:51:24 +0200] rev 3217
IDE: Add a shortcut to project "Clean" action : F9

Wed, 31 Mar 2021 15:30:07 +0200merge svghmi
Edouard Tisserant [Wed, 31 Mar 2021 15:30:07 +0200] rev 3216
merge

Wed, 31 Mar 2021 15:28:09 +0200SVGHMI: fixed embedded fonts family name not matching when using windows version of inkscape svghmi
Edouard Tisserant [Wed, 31 Mar 2021 15:28:09 +0200] rev 3215
SVGHMI: fixed embedded fonts family name not matching when using windows version of inkscape

Wed, 31 Mar 2021 09:08:15 +0200SVGHMI: force svghmi build if any change in fonts or translation (.PO) files svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 31 Mar 2021 09:08:15 +0200] rev 3214
SVGHMI: force svghmi build if any change in fonts or translation (.PO) files

Wed, 31 Mar 2021 08:25:18 +0200SVGHMI: Add file type drag'n'drop to widget picker, for now drops widget's original SVG. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 31 Mar 2021 08:25:18 +0200] rev 3213
SVGHMI: Add file type drag'n'drop to widget picker, for now drops widget's original SVG.

Tue, 30 Mar 2021 14:56:04 +0200SVGHMI: silence debug output in generated xhtml. svghmi
Edouard Tisserant [Tue, 30 Mar 2021 14:56:04 +0200] rev 3212
SVGHMI: silence debug output in generated xhtml.

Tue, 30 Mar 2021 14:54:43 +0200SVGHMI: Implemented "Add Font" and "Remove Font", add font embedding in CSS at build time, tested ok with some OTF for now. svghmi
Edouard Tisserant [Tue, 30 Mar 2021 14:54:43 +0200] rev 3211
SVGHMI: Implemented "Add Font" and "Remove Font", add font embedding in CSS at build time, tested ok with some OTF for now.

Tue, 30 Mar 2021 10:05:55 +0200SVGHMI: Add font management buttons and icons, doing nothing for now svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 30 Mar 2021 10:05:55 +0200] rev 3210
SVGHMI: Add font management buttons and icons, doing nothing for now

Mon, 29 Mar 2021 15:46:02 +0200Fixed misuse of GridCellEditor in DurationCellEditor, potentially leading to crash on windows. svghmi
Edouard Tisserant [Mon, 29 Mar 2021 15:46:02 +0200] rev 3209
Fixed misuse of GridCellEditor in DurationCellEditor, potentially leading to crash on windows.

Mon, 29 Mar 2021 14:35:45 +0200SVGHMI: Fix update of HMI tree in UI when loading from XML at start. Removed some dead code left after split of svghmi.py into svghmi.py+ui.py. svghmi
Edouard Tisserant [Mon, 29 Mar 2021 14:35:45 +0200] rev 3208
SVGHMI: Fix update of HMI tree in UI when loading from XML at start. Removed some dead code left after split of svghmi.py into svghmi.py+ui.py.

Mon, 29 Mar 2021 10:26:42 +0200merge svghmi
Edouard Tisserant [Mon, 29 Mar 2021 10:26:42 +0200] rev 3207
merge

Mon, 29 Mar 2021 10:26:21 +0200SVGHMI: added "page_node" variable that reflects the HMI tree path of current relative page svghmi
Edouard Tisserant [Mon, 29 Mar 2021 10:26:21 +0200] rev 3206
SVGHMI: added "page_node" variable that reflects the HMI tree path of current relative page

Fri, 26 Mar 2021 14:53:35 +0100SVGHMI: Add list of HMI tree path in a JS array, so that we can use it for multiple purpose : svghmi
Edouard Tisserant [Fri, 26 Mar 2021 14:53:35 +0100] rev 3205
SVGHMI: Add list of HMI tree path in a JS array, so that we can use it for multiple purpose :
- display name of edited variable in keypads (currently wrong in relative pages)
- have some variable that hold basename of current relative page HMI_NODE's path
- propose some list of names in DropDown when selecting a relative page to jump to, without having to instancite many jump widgets.

Fri, 26 Mar 2021 14:46:38 +0100SVGHMI: Fixed wierd CDATA mess in output xhtml, because of backticks copy pasted in some yml ||text block|| svghmi
Edouard Tisserant [Fri, 26 Mar 2021 14:46:38 +0100] rev 3204
SVGHMI: Fixed wierd CDATA mess in output xhtml, because of backticks copy pasted in some yml ||text block||

Mon, 29 Mar 2021 07:11:45 +0200SVGHMI: Added fonts.py with functions to convert ttf, otf and woff fonts into data_uri based CSS font-face svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 29 Mar 2021 07:11:45 +0200] rev 3203
SVGHMI: Added fonts.py with functions to convert ttf, otf and woff fonts into data_uri based CSS font-face

Thu, 25 Mar 2021 13:08:19 +0100merge svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 25 Mar 2021 13:08:19 +0100] rev 3202
merge

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.

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"

Fri, 18 Dec 2020 15:52:58 +0100SVGHMI: almost rewrote Input widget to make it new class based style. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 18 Dec 2020 15:52:58 +0100] rev 3094
SVGHMI: almost rewrote Input widget to make it new class based style.

Fri, 18 Dec 2020 11:50:28 +0100runtime: added restart/reset button in web settings. Accidentaly fixed web settings logging feature. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 18 Dec 2020 11:50:28 +0100] rev 3093
runtime: added restart/reset button in web settings. Accidentaly fixed web settings logging feature.

Thu, 17 Dec 2020 19:31:00 +0100SVGHMI: added dropdown selection highlighting and fixed scrolling so that it doesn't miss any entry while jumping from one page to the other. svghmi
Edouard Tisserant [Thu, 17 Dec 2020 19:31:00 +0100] rev 3092
SVGHMI: added dropdown selection highlighting and fixed scrolling so that it doesn't miss any entry while jumping from one page to the other.

Wed, 16 Dec 2020 15:44:24 +0100SVGHMI: change scroll buttons into single unicode triangle and center them. Use highlight rectangle duplicated and hidden to catch selection clicks so that the whole row is clickable. svghmi
Edouard Tisserant [Wed, 16 Dec 2020 15:44:24 +0100] rev 3091
SVGHMI: change scroll buttons into single unicode triangle and center them. Use highlight rectangle duplicated and hidden to catch selection clicks so that the whole row is clickable.

Tue, 15 Dec 2020 13:43:21 +0100SVGHMI: DropDown widget now using new class based style svghmi
Edouard Tisserant [Tue, 15 Dec 2020 13:43:21 +0100] rev 3090
SVGHMI: DropDown widget now using new class based style

Thu, 10 Dec 2020 15:48:15 +0100Add a little test to see OnChange's .count .first .last in action svghmi
Edouard Tisserant [Thu, 10 Dec 2020 15:48:15 +0100] rev 3089
Add a little test to see OnChange's .count .first .last in action

Thu, 10 Dec 2020 14:54:42 +0100Fixed "Onchange" object added in previous commit svghmi
Edouard Tisserant [Thu, 10 Dec 2020 14:54:42 +0100] rev 3088
Fixed "Onchange" object added in previous commit

Thu, 10 Dec 2020 11:37:27 +0100Python Safe Globals now have more reliable triggering of OnChange call. Added "Onchange" object to accessible runtime variables that let user python code see count of changes and first and last values. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 10 Dec 2020 11:37:27 +0100] rev 3087
Python Safe Globals now have more reliable triggering of OnChange call. Added "Onchange" object to accessible runtime variables that let user python code see count of changes and first and last values.

Mon, 07 Dec 2020 09:49:34 +0100SVGHMI: cosmetic fixes in button widget svghmi
Edouard Tisserant [Mon, 07 Dec 2020 09:49:34 +0100] rev 3086
SVGHMI: cosmetic fixes in button widget

Sat, 05 Dec 2020 16:59:27 +0100SVGHMI: Rewrote button widget. svghmi
Edouard Tisserant [Sat, 05 Dec 2020 16:59:27 +0100] rev 3085
SVGHMI: Rewrote button widget.

Wed, 02 Dec 2020 14:33:24 +0100SVGHMI: update generated XSLT svghmi
Edouard Tisserant [Wed, 02 Dec 2020 14:33:24 +0100] rev 3084
SVGHMI: update generated XSLT

Wed, 02 Dec 2020 14:32:56 +0100SVGHMI: stuff test so that it moves all the time, to have better chance to spot memory leaks... svghmi
Edouard Tisserant [Wed, 02 Dec 2020 14:32:56 +0100] rev 3083
SVGHMI: stuff test so that it moves all the time, to have better chance to spot memory leaks...

Wed, 02 Dec 2020 14:31:57 +0100SVGHMI: prevent unwnted context menu and pinch zoom svghmi
Edouard Tisserant [Wed, 02 Dec 2020 14:31:57 +0100] rev 3082
SVGHMI: prevent unwnted context menu and pinch zoom

Wed, 02 Dec 2020 14:30:58 +0100SVGHMI: more attempts to prevent losing memory in JS closure svghmi
Edouard Tisserant [Wed, 02 Dec 2020 14:30:58 +0100] rev 3081
SVGHMI: more attempts to prevent losing memory in JS closure

Fri, 27 Nov 2020 18:06:34 +0100SVGHMI: WIP trying to reduce memory usage : use .onclick onstead of SetAttribute, avoid useless closure and object creation when possible, etc. svghmi
Edouard Tisserant [Fri, 27 Nov 2020 18:06:34 +0100] rev 3080
SVGHMI: WIP trying to reduce memory usage : use .onclick onstead of SetAttribute, avoid useless closure and object creation when possible, etc.

Wed, 25 Nov 2020 14:47:47 +0100SVGHMI: update generated xslt file svghmi
Edouard Tisserant [Wed, 25 Nov 2020 14:47:47 +0100] rev 3079
SVGHMI: update generated xslt file

Wed, 25 Nov 2020 14:47:23 +0100SVGHMI: use const when applicable svghmi
Edouard Tisserant [Wed, 25 Nov 2020 14:47:23 +0100] rev 3078
SVGHMI: use const when applicable

Wed, 25 Nov 2020 14:46:25 +0100SVGHMI: prevents text and svg elements selection on the whole page when dragging. svghmi
Edouard Tisserant [Wed, 25 Nov 2020 14:46:25 +0100] rev 3077
SVGHMI: prevents text and svg elements selection on the whole page when dragging.

Wed, 25 Nov 2020 14:45:01 +0100SVGHMI: Update default test to check that Input widget is indeed updated when variable changes. svghmi
Edouard Tisserant [Wed, 25 Nov 2020 14:45:01 +0100] rev 3076
SVGHMI: Update default test to check that Input widget is indeed updated when variable changes.

Wed, 25 Nov 2020 14:43:03 +0100SVGHMI: Fix: on screen keyboard wasn't showing up when editing local variables through Input widget. svghmi
Edouard Tisserant [Wed, 25 Nov 2020 14:43:03 +0100] rev 3075
SVGHMI: Fix: on screen keyboard wasn't showing up when editing local variables through Input widget.

Fri, 20 Nov 2020 11:17:40 +0100Project tree: avoid flickering and glitches in notebook when selecting some still not opened ConfigTreeNode svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 20 Nov 2020 11:17:40 +0100] rev 3074
Project tree: avoid flickering and glitches in notebook when selecting some still not opened ConfigTreeNode

Wed, 18 Nov 2020 23:08:17 +0100merge svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 18 Nov 2020 23:08:17 +0100] rev 3073
merge

Wed, 18 Nov 2020 10:15:44 +0100py_ext: better handling of coma separated OnChange attribute for python safe global variables. svghmi
Edouard Tisserant [Wed, 18 Nov 2020 10:15:44 +0100] rev 3072
py_ext: better handling of coma separated OnChange attribute for python safe global variables.

Wed, 18 Nov 2020 23:06:16 +0100Project tree: Clicking on ConfigTreeNode should have same behaviour as for POUS and other IEC types : simple click to select and double click to open. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 18 Nov 2020 23:06:16 +0100] rev 3071
Project tree: Clicking on ConfigTreeNode should have same behaviour as for POUS and other IEC types : simple click to select and double click to open.

Mon, 02 Nov 2020 10:56:09 +0100Allow customization of generated py_ext OnChange calls, by adding a static method to PythonFileCTNMixin that can the be later hot patched. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 02 Nov 2020 10:56:09 +0100] rev 3070
Allow customization of generated py_ext OnChange calls, by adding a static method to PythonFileCTNMixin that can the be later hot patched.

Wed, 28 Oct 2020 18:21:12 +0200Arbitrary variables added to JsonTable subscription are now passed as 'extra' field in json query. As an example added JsonTable filtering in tests/svghmi svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 28 Oct 2020 18:21:12 +0200] rev 3069
Arbitrary variables added to JsonTable subscription are now passed as 'extra' field in json query. As an example added JsonTable filtering in tests/svghmi

Thu, 22 Oct 2020 22:44:29 +0200SVGHMI: Fix HMI_REAL support, and add a HMI_REAL use case in tests/svghmi. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 22 Oct 2020 22:44:29 +0200] rev 3068
SVGHMI: Fix HMI_REAL support, and add a HMI_REAL use case in tests/svghmi.

Tue, 20 Oct 2020 00:24:49 +0200merge svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 20 Oct 2020 00:24:49 +0200] rev 3067
merge

Mon, 19 Oct 2020 10:17:18 +0200SVGHMI: JsonTable now outputs "visible" value as well. svghmi
Edouard Tisserant [Mon, 19 Oct 2020 10:17:18 +0200] rev 3066
SVGHMI: JsonTable now outputs "visible" value as well.

Mon, 19 Oct 2020 10:15:26 +0200SVGHMI: non significant cosmetic changes svghmi
Edouard Tisserant [Mon, 19 Oct 2020 10:15:26 +0200] rev 3065
SVGHMI: non significant cosmetic changes

Mon, 19 Oct 2020 09:29:11 +0200- New widget customHtml which allows to insert block of html code svghmi
usveticic [Mon, 19 Oct 2020 09:29:11 +0200] rev 3064
- New widget customHtml which allows to insert block of html code
- widget animate transfered to animaterotation
- widget animate, left to be more customizable
- changes to svghmi_v2/svghmi.svg

Tue, 20 Oct 2020 00:23:52 +0200PY_EXT: OnChange is now a coma separated list of callables. Updated tests/python accordingly. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 20 Oct 2020 00:23:52 +0200] rev 3063
PY_EXT: OnChange is now a coma separated list of callables. Updated tests/python accordingly.

Thu, 01 Oct 2020 14:23:27 +0200Button fix if no active or inactive state, svghmi
usveticic [Thu, 01 Oct 2020 14:23:27 +0200] rev 3062
Button fix if no active or inactive state,
Widget animate changed to use anitmateTransform and added option to change rotation
Widget circular slider fixed so it is working on got and reprogramed so it similar to normal slider
Widget slider added support for changing size still need some changes to work properly
Added slider to svghmi test project
Changed svg in svhgmi_v2 project

Wed, 30 Sep 2020 12:31:59 +0200Merge two different heads svghmi
usveticic [Wed, 30 Sep 2020 12:31:59 +0200] rev 3061
Merge two different heads

Thu, 24 Sep 2020 15:42:40 +0200SVGHMI: Documentation fix svghmi
Edouard Tisserant [Thu, 24 Sep 2020 15:42:40 +0200] rev 3060
SVGHMI: Documentation fix

Thu, 24 Sep 2020 11:52:40 +0200Button and toggle reworked to use animate and dispatch svghmi
usveticic [Thu, 24 Sep 2020 11:52:40 +0200] rev 3059
Button and toggle reworked to use animate and dispatch
Slider added buttons to incremente/decrement by 1
Init for animate widget
Changed test svg and plc

Thu, 17 Sep 2020 11:30:22 +0200Merge + fix side effects of making warning instead of errors in case of missing HMI variable svghmi
Edouard Tisserant [Thu, 17 Sep 2020 11:30:22 +0200] rev 3058
Merge + fix side effects of making warning instead of errors in case of missing HMI variable

Wed, 16 Sep 2020 09:42:26 +0200Updated svg and xml for testing program svghmi
usveticic [Wed, 16 Sep 2020 09:42:26 +0200] rev 3057
Updated svg and xml for testing program

Wed, 16 Sep 2020 09:41:52 +0200Button, ToggleButton and slider updated. Error to warning when building svghmi
usveticic [Wed, 16 Sep 2020 09:41:52 +0200] rev 3056
Button, ToggleButton and slider updated. Error to warning when building

Button fixed so it doesn't release until it gets feedback from plc

Toggle button changed so it makes changes instantly. There was too big delay if we waited for feedback.

Slider added new features need some changes for final version.

Tue, 15 Sep 2020 13:57:06 +0200Modbus: fixed typo in ctype typing. svghmi
Edouard Tisserant [Tue, 15 Sep 2020 13:57:06 +0200] rev 3055
Modbus: fixed typo in ctype typing.

Fri, 11 Sep 2020 13:46:41 +0200MODBUS: Fix saving of websettings. svghmi
Edouard Tisserant [Fri, 11 Sep 2020 13:46:41 +0200] rev 3054
MODBUS: Fix saving of websettings.

Thu, 10 Sep 2020 16:08:26 +0200Runtime/PLCObject : move call to PreStartPLC right after call to the "start" method of all python extensions, and then just before the start of the python loop executing python_* blocks. svghmi
Edouard Tisserant [Thu, 10 Sep 2020 16:08:26 +0200] rev 3053
Runtime/PLCObject : move call to PreStartPLC right after call to the "start" method of all python extensions, and then just before the start of the python loop executing python_* blocks.

Thu, 03 Sep 2020 11:16:08 +0200SVGHMI: Better error message when inkscape is not installed. svghmi
Edouard Tisserant [Thu, 03 Sep 2020 11:16:08 +0200] rev 3052
SVGHMI: Better error message when inkscape is not installed.

Wed, 02 Sep 2020 11:45:41 +0200SVGHMI: nicer error message svghmi
Edouard Tisserant [Wed, 02 Sep 2020 11:45:41 +0200] rev 3051
SVGHMI: nicer error message

Tue, 01 Sep 2020 11:15:48 +0200Merge svghmi
Edouard Tisserant [Tue, 01 Sep 2020 11:15:48 +0200] rev 3050
Merge

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

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