Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 02 Feb 2023 17:48:51 +0100] rev 3721
Tests: allow overriding local host's hostname with BEREIS_LOCAL_HOST env variable.
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 02 Feb 2023 17:17:04 +0100] rev 3720
Tests: IDE: explicitely wait for build success rather than just stdout to become silent.
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 02 Feb 2023 16:22:52 +0100] rev 3719
Tests: Fixed wrong path (relative to $HOME) in CLI tests.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 01 Feb 2023 20:43:35 +0100] rev 3718
Tests: OPCUA tests can now use OPCUA_DEFAULT_HOST environment variable to force host to something else than "127.0.0.1" or "localhost"
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 16 Jan 2023 16:22:44 +0100] rev 3717
IDE: fix segfault when unselecting network discovery in URI editor
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 15 Jan 2023 21:40:58 +0100] rev 3716
IDE: fix exception when showing project's context menu in case of empty clipboard (wxpython4).
etisserant <edouard.tisserant@gmail.com> [Sun, 01 Jan 2023 23:10:16 +0100] rev 3715
Tests: Fix dockerfile not finding locales.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 01 Jan 2023 22:40:38 +0100] rev 3714
cosmetic fix
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 01 Jan 2023 22:39:41 +0100] rev 3713
Tests: use expedited termination of IDE with SIGTERM instead of normal close
Work around test not finishing when IDE ask for confirmation on exit when
project is modified.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 01 Jan 2023 22:33:29 +0100] rev 3712
IDE: When receiving SIGTERM signal, kill runtime befor bailing out without saving.
Purpose is to allow expedited test termination.
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 22 Dec 2022 02:47:20 +0100] rev 3711
Merged default in wxPython4 branch
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 22 Dec 2022 02:46:08 +0100] rev 3710
tests: IDE: own text matching logic for OCR reliability, enhanced ihtml report
Edouard Tisserant [Fri, 16 Dec 2022 13:46:51 +0100] rev 3709
SVGHMI: update generated XSLT files
Edouard Tisserant [Fri, 16 Dec 2022 13:46:07 +0100] rev 3708
examples: add "csv_read" project to demo CSV access from PLC
Edouard Tisserant [Fri, 16 Dec 2022 13:43:38 +0100] rev 3707
py_ext: add CSV file reading POUs in python extension library
Edouard Tisserant [Fri, 16 Dec 2022 13:41:03 +0100] rev 3706
SVGHMI: fix input widget sometime messing with font style
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 15 Dec 2022 14:59:27 +0100] rev 3705
Merged default in wxPython4 branch
Edouard Tisserant [Thu, 08 Dec 2022 11:17:15 +0100] rev 3704
ST code generator: when including PLCopen TC6 XML libraries (for example py_ext/pous.xml or NativeLib.xml), also includes libraries globals in result
Edouard Tisserant [Tue, 29 Nov 2022 10:59:53 +0100] rev 3703
Runtime: add arbitrary file upload to working dir in web interface
Edouard Tisserant [Fri, 25 Nov 2022 11:12:14 +0100] rev 3702
SVGHMI: fix double-dispatch happening when using low widget update frequency on variable already being updated with high frequency by other widgets.
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 15 Dec 2022 14:55:30 +0100] rev 3701
Merge
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 15 Dec 2022 14:54:05 +0100] rev 3700
Backed out changeset ddadbdf20e70, no effect on current problem.
etisserant <edouard.tisserant@gmail.com> [Tue, 13 Dec 2022 22:04:16 +0100] rev 3699
GH CI: try reverting to previous version of ubuntu
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 15 Dec 2022 14:49:52 +0100] rev 3698
IDE tests: ensure that file browser idled before entering path in new_project
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 15 Dec 2022 14:46:48 +0100] rev 3697
tests/tools: move comment and remove dead code in Dockerfile
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 15 Dec 2022 14:45:52 +0100] rev 3696
tests: add tesseract training data "tessdata", still trying to enhance OCR reliability in UI tests
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 05 Dec 2022 15:53:25 +0100] rev 3695
tests: attemps to make OCR based hits more stable
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 24 Nov 2022 17:41:24 +0100] rev 3694
Tests: fix path logic in Docker creation script, consequence of previous commit.
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 24 Nov 2022 17:21:53 +0100] rev 3693
Tests: cleanup and tidy docker definitions and scripts
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 24 Nov 2022 16:12:03 +0100] rev 3692
Merged changes from default in wxPython4 branch
Edouard Tisserant [Thu, 24 Nov 2022 12:05:43 +0100] rev 3691
SVGHMI: fix XY graph init (consequence of earlier change) + reindent
Earlier change did modify the variables attributes (options) are stored in widget objects. XY graph uses variables' min and max to determine range.
Edouard Tisserant [Thu, 24 Nov 2022 11:47:56 +0100] rev 3690
SVGHMI: move declaration of "xmlns" javascript const so that widgets can use it.
This was broken in earlier commit, when changing initial execution order because of implementing websocket reconnect.
Edouard Tisserant [Thu, 24 Nov 2022 10:54:58 +0100] rev 3689
SVGHMI: add Page assignment use case in svghmi test project.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 23 Nov 2022 14:18:25 +0100] rev 3688
Marged default in wxPython4
Edouard Tisserant [Wed, 23 Nov 2022 11:34:15 +0100] rev 3687
SVGHMI: update generated xslt
Edouard Tisserant [Wed, 23 Nov 2022 11:30:30 +0100] rev 3686
SVGHMI: avoid Widget's member name colision in between enable expressions and assignments.
Edouard Tisserant [Wed, 23 Nov 2022 11:27:55 +0100] rev 3685
SVGHMI: Add arbitrary variable assignment when entering Pages
Usage similar to Assign widget.
Required instanciating PageWidgets for each page, so that assigned variables can be subsribed.
Edouard Tisserant [Fri, 18 Nov 2022 10:44:56 +0100] rev 3684
SVGHMI: update generated XSLT
Edouard Tisserant [Fri, 18 Nov 2022 10:40:57 +0100] rev 3683
SVGHMI: fix periodic reconnect triggering watchdog
Edouard Tisserant [Thu, 17 Nov 2022 11:08:36 +0100] rev 3682
IDE: Optimization of modification events processing in text editors.
Too many modifications types where registered, and then too many events were fired.
Also, in case of uninterrupted sequence of events, updates to the model is deferred to the end of that sequence (wx.Callafter).
Edouard Tisserant [Tue, 15 Nov 2022 09:29:48 +0100] rev 3681
SVGHMI: cosmetic change
Edouard Tisserant [Tue, 15 Nov 2022 09:22:50 +0100] rev 3680
SVGHMI: do not try to reconnect websocket if closed properly by server.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 20 Nov 2022 18:36:13 +0100] rev 3679
Tests: force bigger fonts and flat theme in GTK to make OCR more reliable.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 18 Nov 2022 07:34:29 +0100] rev 3678
OPC-UA: tolerate better pre-encryption formated client configuration file.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 15 Nov 2022 20:43:39 +0100] rev 3677
OPC-UA: only support the encryption policy selected in config.
By default open62541 client accepts all supported policies, but in makes problem
when negociating with some servers while most clients seems to only support
one policy at a time.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 15 Nov 2022 14:04:10 +0100] rev 3676
Tests: add encrypted OPCUA browsing test.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 15 Nov 2022 14:03:04 +0100] rev 3675
Tests: IDE: add stdout monitoring capabilities to auxiliary process
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 11 Nov 2022 16:07:38 +0100] rev 3674
OPC-UA: Update CTN "ChangesToSave" status when variable selection change.
- fixes changes not being saved when no other changes happening to configuration
- added CTNMarkModified to ConfigTreeNode in order to generalize
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 11 Nov 2022 08:26:15 +0100] rev 3673
Tests: Add project for OPC-UA server browsing and variable picking UI test
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 10 Nov 2022 19:41:31 +0100] rev 3672
Tests: Add OPC-UA server browsing and veriable picking UI test.
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 10 Nov 2022 19:40:39 +0100] rev 3671
Tests: Add 'dragNdrop' for UI tests with slower begining than sikuli's dragDrop
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 10 Nov 2022 19:38:14 +0100] rev 3670
Tests: UI tests now avoid polling stdout if process didn't start.
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 10 Nov 2022 19:36:30 +0100] rev 3669
Tests: UI tests can now load projects from tests/projects
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 10 Nov 2022 19:34:44 +0100] rev 3668
Tests: add command for UI tests to launch and close Auxiliary Process
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 10 Nov 2022 19:31:59 +0100] rev 3667
OPC-UA: better handling and reporting of server browser's connection errors.
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 10 Nov 2022 19:31:09 +0100] rev 3666
OPC-UA: Extend Drag'N'Drop target to whole input or output panel not only grid.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 09 Nov 2022 12:30:45 +0100] rev 3665
Merge default in wxPython4
Edouard Tisserant [Wed, 09 Nov 2022 12:14:35 +0100] rev 3664
SVGHMI: fix HMI freeze at load when no screen saver is defined
Edouard Tisserant [Tue, 08 Nov 2022 11:03:45 +0100] rev 3663
SVGHMI: update generated XSLT
Edouard Tisserant [Tue, 08 Nov 2022 11:02:35 +0100] rev 3662
SVGHMI: watchdog now calls OnStart and OnStop commands just after calling OnWatchdog. Therefore, OnWatchdog command should not restart browser by itself.
Edouard Tisserant [Tue, 08 Nov 2022 11:00:42 +0100] rev 3661
SVGHMI: server systematically resets session on connect, rather than waiting for client to ask for it
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 04 Nov 2022 22:14:14 +0100] rev 3660
IDE: Fix DropTarget() methods that must return a bool with wxPython4.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 04 Nov 2022 22:11:55 +0100] rev 3659
IDE: Fix visibility of text in Debug panel when using dark theme.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 04 Nov 2022 22:09:42 +0100] rev 3658
IDE: Fix use of deprecated wx.NamedColour
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 04 Nov 2022 17:38:37 +0100] rev 3657
Merged changes from default in wxPython4 branch
Edouard Tisserant [Fri, 04 Nov 2022 10:56:18 +0100] rev 3656
SVGHMI: update generated XSLT
Edouard Tisserant [Fri, 04 Nov 2022 10:55:30 +0100] rev 3655
SVGHMI: use messy test/projects/svghmi to give a try to ScreenSaver feature.
Edouard Tisserant [Fri, 04 Nov 2022 10:52:59 +0100] rev 3654
SVGHMI: cosmetic fix in Back widget
Edouard Tisserant [Fri, 04 Nov 2022 10:51:45 +0100] rev 3653
SVGHMI: add ScreenSaver feature. Automatically jumps to a page named "ScreenSaver" after timeout defined in page arguments.
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 03 Nov 2022 17:43:30 +0100] rev 3652
Backed out changeset c6068b674b30
Edouard Tisserant [Fri, 28 Oct 2022 10:42:35 +0200] rev 3651
SVGHMI: update generated XSLT
Edouard Tisserant [Fri, 28 Oct 2022 09:44:33 +0200] rev 3650
SVGHMI: enable periodical reconnect when browser is QtWebengine, working around memory leak with websocket on Qt's embedded Chromium.
Edouard Tisserant [Thu, 27 Oct 2022 10:52:24 +0200] rev 3649
IDE: Added filtering in POU instance variables panel.
Edouard Tisserant [Fri, 21 Oct 2022 10:39:43 +0200] rev 3648
SVGHMI: add automatic reconnection of websocket with 1s reconnection delay after first attempt.
Edouard Tisserant [Tue, 18 Oct 2022 11:09:40 +0200] rev 3647
SVGHMI: prevent browser and watchdog commands to become zombie once finished.
Edouard Tisserant [Wed, 12 Oct 2022 11:59:47 +0200] rev 3646
SVGHMI: svghmi_references exemple: add missing PLC part to demonstrate assigning PLC/HMI variables when validating a modal dialog.
Edouard Tisserant [Wed, 12 Oct 2022 11:56:04 +0200] rev 3645
SVGHMI: cosmetic fixes
Edouard Tisserant [Wed, 12 Oct 2022 11:09:33 +0200] rev 3644
runtime: remove forgotten printf at starup when retain memory is restored.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 25 Oct 2022 18:51:45 +0200] rev 3643
OPC-UA client: add ApplicationUri parameter in case it differs from server's URI
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 21 Oct 2022 18:33:06 +0200] rev 3642
Runtime: fix PLC not terminating when being Repaired (i.e purged).
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 21 Oct 2022 17:52:45 +0200] rev 3641
IDE: fix exception when re-opening previously closed tab
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 21 Oct 2022 16:29:07 +0200] rev 3640
IDE: fix SFC Action editor's text not visible on GTK3's dark themes.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 21 Oct 2022 16:26:35 +0200] rev 3639
IDE: fix action block editor's GridCellEditor. Consequence of wxPython4 bump.
etisserant <edouard.tisserant@gmail.com> [Thu, 20 Oct 2022 18:15:31 +0200] rev 3638
Update README.md
removed undue blank lines
etisserant <edouard.tisserant@gmail.com> [Thu, 20 Oct 2022 18:10:27 +0200] rev 3637
Update README.md
use back quote instead of simple quote for quoted strings.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 19 Oct 2022 22:04:39 +0200] rev 3636
IDE: fix exception when removing a file in Project Files manager.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 19 Oct 2022 20:53:01 +0200] rev 3635
Update README.md
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 11 Oct 2022 15:07:14 +0200] rev 3634
Tests: fix OPC-UA test when run from repo.
project_files directory isn't commited because empty,
test fails if project_files is missing.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 11 Oct 2022 15:02:07 +0200] rev 3633
OPC-UA: better logging in case of failure at init
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 11 Oct 2022 13:49:01 +0200] rev 3632
Tests: version bump open62541 v1.3.2 -> v1.3.3 for github CI workflow.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 11 Oct 2022 13:06:48 +0200] rev 3631
Tests: add opc-ua encrypted test
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 06 Oct 2022 10:02:46 +0200] rev 3630
Merged changes from default
Edouard Tisserant [Wed, 05 Oct 2022 09:06:18 +0200] rev 3629
SVGHMI: update generated XSLT
Edouard Tisserant [Tue, 04 Oct 2022 11:06:04 +0200] rev 3628
SVGHMI: Update svghmi_references example to demonstrate use of Assign widget.
Edouard Tisserant [Tue, 04 Oct 2022 11:04:33 +0200] rev 3627
SVGHMI: Add Assign widget, doing multiple assignments on click.
Edouard Tisserant [Thu, 29 Sep 2022 11:08:05 +0200] rev 3626
SVGHMI: add visible feedback to Jump widget when clicked/touched
Edouard Tisserant [Wed, 28 Sep 2022 09:19:07 +0200] rev 3625
SVGHMI: add support for "reference" and "frame" rectangles to spread-out ovelapping elements.
When HMI become complicated, designer needs to spread-out ovelapping elements
in order to unclutter drawing and facilitate maintenance.
Edouard Tisserant [Thu, 22 Sep 2022 09:42:38 +0200] rev 3624
SVGHMI: remove intermediate "updates" Map and apply_updates()
It was used initially to decouple DOM updates from reception of data through
websocket, but now since all widget SHOULD use animate() to modify DOM, and
dispatch() only change internal state, apply_update is unnecessary.
Edouard Tisserant [Wed, 21 Sep 2022 11:51:05 +0200] rev 3623
SVGHMI: cosmetic fix in js
Edouard Tisserant [Wed, 21 Sep 2022 11:41:28 +0200] rev 3622
SVGHMI: do not discard out-of-page elements inside widgets that are ovelapping pages.
Edouard Tisserant [Fri, 16 Sep 2022 09:03:59 +0200] rev 3621
SVGHMI: update generated XSLT
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 05 Oct 2022 20:44:01 +0200] rev 3620
OPCUA: cosmetic fixes
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 05 Oct 2022 20:25:58 +0200] rev 3619
CLI: poll runtime log and output new entries to stdout.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 05 Oct 2022 20:15:28 +0200] rev 3618
CLI: when using --keep, do not disconnect before being interrupted
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 05 Oct 2022 16:10:17 +0200] rev 3617
Runtime: work around 1s delay added when using twisted reactor's callLater.
Since wxPython4, using wxReactor from non-main thread was producing
exceptions in wxWidget's C++ code. Then reactor.run() was called from
main thread, and runtime's worker was delegating calls to reactor
with callLater(0, callable).
While this worked perfectly with wxReactor, it did introduce an unexplained
1 second delay to each worker call when using nomal linux reactors
(i.e. without wxPython). As a workaround reactor runs in a thread when using
twisted without wxPython
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 14 Sep 2022 15:24:33 +0200] rev 3616
tests: opcua_client test project is not meant to be encrypted.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 14 Sep 2022 15:02:43 +0200] rev 3615
SVGHMI: update generated XSLT files
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 14 Sep 2022 14:59:18 +0200] rev 3614
Merged changes from default
Edouard Tisserant [Wed, 14 Sep 2022 12:41:44 +0200] rev 3613
SVGHMI: ensures that PLC sends only fresh data to HMI, even right after variable being subscribed.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 14 Sep 2022 14:56:25 +0200] rev 3612
OPC-UA: add logging to help user to understang what went wrong when connecting.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 14 Sep 2022 14:55:13 +0200] rev 3611
OPC-UA: fix LDFLAG, missing OpenSSL's -lcrypto
open62541 is linked staticaly, therefore shared object dependencies have to be given explicitely.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 13 Sep 2022 17:52:29 +0200] rev 3610
tests: missing SSL support in open62541 build parameters
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 13 Sep 2022 16:53:15 +0200] rev 3609
Merge changes from default branch
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 13 Sep 2022 16:51:54 +0200] rev 3608
merge
etisserant <edouard.tisserant@gmail.com> [Tue, 13 Sep 2022 16:32:39 +0200] rev 3607
Merge pull request #5 from vitw/wxPython4
update installation instructions
v.petrov <v.petrov@k-soft-spb.ru> [Thu, 01 Sep 2022 11:58:29 +0500] rev 3606
docs: add additional dependencies to installation instructions
v.petrov <v.petrov@k-soft-spb.ru> [Wed, 31 Aug 2022 12:04:51 +0500] rev 3605
update installation instructions
Edouard Tisserant [Tue, 13 Sep 2022 16:31:52 +0200] rev 3604
SVGHMI: fix svghmi_jumps example's SVG file (viewport was misplaced)
Edouard Tisserant [Tue, 13 Sep 2022 16:29:21 +0200] rev 3603
SVGHMI: rework the way cached values are applied to widgets when fresh data is missing.
Edouard Tisserant [Mon, 12 Sep 2022 11:56:52 +0200] rev 3602
SVGHMI: re-arrange Animate and data Dispath code paths.
Edouard Tisserant [Fri, 09 Sep 2022 10:34:23 +0200] rev 3601
SVGHMI: add an exemple that demonstrate use of Jump widget in different use cases.
Edouard Tisserant [Fri, 09 Sep 2022 10:06:02 +0200] rev 3600
SVGHMI: refactor an factorize widget dispatch() method calling
Edouard Tisserant [Fri, 09 Sep 2022 09:45:27 +0200] rev 3599
SVGHMI: fix ToggleButton not always reflecting current state
Edouard Tisserant [Fri, 09 Sep 2022 09:44:03 +0200] rev 3598
IDE: fix exception transfering or reconnecting after tracing variables
Edouard Tisserant [Fri, 02 Sep 2022 12:02:43 +0200] rev 3597
SVGHMI: Add predefined assignments to jump widget to notify PLC or other widgets about jump.
Edouard Tisserant [Fri, 02 Sep 2022 10:46:05 +0200] rev 3596
SVGHMI: continue rework of Jump widget to cope with Enable Expressions.
Questioning widget's activity and disability all together.
Now active/inactive/disable masquarade is all managed in widgets_common.
Propagated changes to widget already using activity (buttons)
Edouard Tisserant [Wed, 31 Aug 2022 12:16:09 +0200] rev 3595
SVGHMI: rework Jump widget to cope with Enable Expressions.
Relative jumps are not disabled implicitely anymore when pointed HMI_NODE is 0.
Also, "activable()" implementation was enhanced to make it optional.
Edouard Tisserant [Tue, 23 Aug 2022 12:19:44 +0200] rev 3594
SVGHMI: add support for "enable expressions" with arbitrary variable name assignment.
HMI tree paths can be prefixed with a variable name "@name=/MY/HMI/VAR"
Widget declarations can end with a "#" followed by a JS expression that refers to name given to variables.
Widget is disabled if expression's result is false.
Commit includes some more-or-less related generated code refactoring, that should simplify extending widget's variables attributes.