Wed, 16 Jun 2021 12:15:02 +0200IDE: Fixed variable traces graphs RingBuffers. Removed an apparently useless wxCallAfter in trend graph that was leading to pydeadobject exception on wxGTK when double-clicking. svghmi
Edouard Tisserant [Wed, 16 Jun 2021 12:15:02 +0200] rev 3258
IDE: Fixed variable traces graphs RingBuffers. Removed an apparently useless wxCallAfter in trend graph that was leading to pydeadobject exception on wxGTK when double-clicking.

Mon, 14 Jun 2021 16:48:39 +0200IDE: Cleaned up some useless tests in variable trace data handling code, changed from bare numpy arrays to RingBuffers inorder to avoid RAM outage and crash after long tracing session. svghmi
Edouard Tisserant [Mon, 14 Jun 2021 16:48:39 +0200] rev 3257
IDE: Cleaned up some useless tests in variable trace data handling code, changed from bare numpy arrays to RingBuffers inorder to avoid RAM outage and crash after long tracing session.

Fri, 11 Jun 2021 11:56:07 +0200IDE: Log: Prevent crash when display progress on empty log. svghmi
Edouard Tisserant [Fri, 11 Jun 2021 11:56:07 +0200] rev 3256
IDE: Log: Prevent crash when display progress on empty log.

Thu, 10 Jun 2021 14:05:44 +0200merge svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 10 Jun 2021 14:05:44 +0200] rev 3255
merge

Thu, 10 Jun 2021 09:40:05 +0200Copy description when DnD variables from CodeFile CTN to POUs svghmi
Edouard Tisserant [Thu, 10 Jun 2021 09:40:05 +0200] rev 3254
Copy description when DnD variables from CodeFile CTN to POUs

Wed, 09 Jun 2021 15:28:00 +0200SVGHMI: fix exception when stored widget library path does not exist anymore svghmi
Edouard Tisserant [Wed, 09 Jun 2021 15:28:00 +0200] rev 3253
SVGHMI: fix exception when stored widget library path does not exist anymore

Thu, 10 Jun 2021 13:47:58 +0200SVGHMI: added checking of widget literal argument in DnD UI according to type given in widget description svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 10 Jun 2021 13:47:58 +0200] rev 3252
SVGHMI: added checking of widget literal argument in DnD UI according to type given in widget description

Wed, 09 Jun 2021 10:06:23 +0200SVGHMI: UI Updates validity indicator when DnD HMI tree node in text field, according to node type svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 09 Jun 2021 10:06:23 +0200] rev 3251
SVGHMI: UI Updates validity indicator when DnD HMI tree node in text field, according to node type

Mon, 31 May 2021 16:06:00 +0200SVGHMI: Fixed typo in last commit svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 31 May 2021 16:06:00 +0200] rev 3250
SVGHMI: Fixed typo in last commit

Mon, 31 May 2021 10:10:00 +0200merged svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 31 May 2021 10:10:00 +0200] rev 3249
merged

Tue, 25 May 2021 15:05:38 +0200Runtime: Fix exception "Worker is disabled" when connecting while PLC runtime is starting. svghmi
Edouard Tisserant [Tue, 25 May 2021 15:05:38 +0200] rev 3248
Runtime: Fix exception "Worker is disabled" when connecting while PLC runtime is starting.

Pyro/wamp/UI delegate jobs to Worker, causing race condition if worker isn't already started.
Added a function to ensure that Worker is already created when pyro or UI starts

Mon, 31 May 2021 10:08:02 +0200SVGHMI: UI now have multiple HMI tree variables DnD to widget paths. Still no type checking, WIP. svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 31 May 2021 10:08:02 +0200] rev 3247
SVGHMI: UI now have multiple HMI tree variables DnD to widget paths. Still no type checking, WIP.

Mon, 24 May 2021 14:33:54 +0200Finished fixing Wx IDs abuse. There was still some wasted IDs because of wx.NewId calls in many places where it wasn't needed, and those IDs were not re-used. As a consequence Beremiz was making exception crashing after a few hours of intensive use. svghmi
Edouard Tisserant [Mon, 24 May 2021 14:33:54 +0200] rev 3246
Finished fixing Wx IDs abuse. There was still some wasted IDs because of wx.NewId calls in many places where it wasn't needed, and those IDs were not re-used. As a consequence Beremiz was making exception crashing after a few hours of intensive use.

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.