Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 06 May 2022 14:44:32 +0200] rev 3450
Minor changes to README.md
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 06 May 2022 14:40:33 +0200] rev 3449
wxPython4 sequels: usual naming problem in grid cell change events, non kw-args to menu.Append and event not being skipped.
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 07 Apr 2022 15:28:24 +0200] rev 3448
Tests: Fix missing <br/> in generated html report.
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 07 Apr 2022 07:40:32 +0200] rev 3447
Tests: add HTML report generation and a workaround to bad exception handling in sikuli.
In case of exception in python code, and since a thread is running
to observe stdout, sikuli was never terminated after an exception.
Unfortunately sys.exepthook doesn't work in that version of jython/sikuli.
Test are now written inside functions witch are passed to run_test to deal
with exception.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 29 Mar 2022 08:50:01 +0200] rev 3446
Tests: refactored sikuli based test
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 29 Mar 2022 08:30:03 +0200] rev 3445
IDE: Postpone execution of keyboard shortcut commands when given while previous command is still being executed, to prevent CTR/builder jamming.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 29 Mar 2022 08:19:46 +0200] rev 3444
IDE: in case of unhandled exception, write bug report to given log file, so that test report can have it.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 22 Mar 2022 14:51:30 +0100] rev 3443
Merged default's changes in wxPython4 branch
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 22 Mar 2022 14:50:46 +0100] rev 3442
Tests: fix project edit test sikuli IDE test.
Background click based on bitmap matching doesn't work.
Grid dots are not good match candidates.
Rendering probably affected by virtual display's bpp or rasterizer approximations.
Edouard Tisserant [Wed, 02 Mar 2022 11:23:50 +0100] rev 3441
runtime, retain: remove forgotten debug code.
Edouard Tisserant [Wed, 02 Mar 2022 11:22:55 +0100] rev 3440
Runtime: removing dead code
Edouard Tisserant [Tue, 15 Feb 2022 11:09:39 +0100] rev 3439
IDE: removed one (last ?) wx.NewId() that was called on each opening of project tree popup menu
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 11 Mar 2022 14:43:37 +0100] rev 3438
Tests: Re-introduced pytest based tests. Fixed them a bit, commented-out otherwise. Application tests only runs with logging test, and PLCOpenEditor tests seem broken.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 05 Mar 2022 11:14:00 +0100] rev 3437
Tests: Enhance robustness of stdout driven waiting state in Sikuli based tests.
Some tests were randomly passing, because from time to time waiting for idle was skiped. It was combination of multiple problems :
- buffering on stdout (now use readline + flush for each write to log)
- it is sometime required to wait for activity before waiting for timeout added "WaitForChangeAndIdle" to "stdoutIdleObserver"
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 28 Feb 2022 21:53:14 +0100] rev 3436
Tests: add an IDE test that relies on image matching.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 28 Feb 2022 21:46:37 +0100] rev 3435
Tests: re-introduce xvfb+x11vnc target in Makefile : xvfb_sikuli
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 28 Feb 2022 21:29:46 +0100] rev 3434
Fix sequel of wxPython 4 port : double click on tab wasn't maximizing and was showing exception.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 25 Feb 2022 14:04:09 +0100] rev 3433
Tests: Makefile's PIPESTATUS turned into small letters (wrong vim shortcut ?) leading to always passing tests.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 18 Feb 2022 15:12:06 +0100] rev 3432
Tests: Various enhancements in Makefile and sikuli common python code.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 18 Feb 2022 15:00:04 +0100] rev 3431
Tests: Added BEREMIZPYTHONPATH to point to Python interpreter to use for tests.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 18 Feb 2022 14:56:54 +0100] rev 3430
Documentation/comment fix.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 18 Feb 2022 14:51:58 +0100] rev 3429
IDE: Fix one more sequel of wxPython4 port : typo in editors/TextViewer.py
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 15 Feb 2022 16:10:19 +0100] rev 3428
Tests: Add a Makefile variable to allow changing standalone headless X server command (Xvfb by default)
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 13 Feb 2022 21:21:14 +0100] rev 3427
Merge default head that was only merged in wxPython4
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 13 Feb 2022 21:05:19 +0100] rev 3426
merged default
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 13 Feb 2022 21:01:27 +0100] rev 3425
Add Docker image definition as reference platform to run IDE tests.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 13 Feb 2022 20:59:42 +0100] rev 3424
Tests: added tests/Makefile and a first test in tests/ide_tests. Test requires sikuli and Xvfb or Xnest.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 13 Feb 2022 20:53:00 +0100] rev 3423
IDE: Add -l or --log command line parameter to give a file where all content witten to console window will be appended. File can be /dev/stdout.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 02 Feb 2022 20:27:17 +0100] rev 3422
Merge default
Edouard Tisserant [Mon, 24 Jan 2022 11:14:56 +0100] rev 3421
IDE: follow-up on change in 83ed4ea362db - added workaround when matiec generated files contain unexpected characters.
Edouard Tisserant [Thu, 20 Jan 2022 11:39:05 +0100] rev 3420
Runtime : force using monotonic time in Timer (threading). Prevent watchdog to trigger when changing system time.
Edouard Tisserant [Thu, 20 Jan 2022 11:16:52 +0100] rev 3419
SVGHMI: remove debug code
Edouard Tisserant [Wed, 19 Jan 2022 11:41:37 +0100] rev 3418
SVGHMI: update generated XSLT
Edouard Tisserant [Wed, 19 Jan 2022 11:41:04 +0100] rev 3417
SVGHMI: fix again appication of frequency value when given in label. Use it on PushButton instance in svghmi test.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 25 Jan 2022 17:05:14 +0100] rev 3416
TESTS: moved non-automated tests Beremiz projects stored as directories in /tests to new directory /tests/projects
etisserant <edouard.tisserant@gmail.com> [Tue, 25 Jan 2022 16:37:16 +0100] rev 3415
Create README.md in tests
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 19 Jan 2022 08:56:16 +0100] rev 3414
SVGHMI: update generated xslt, and svghmi test project files
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 19 Jan 2022 08:53:49 +0100] rev 3413
SVGHMI: Add pushbutton widget, that can take reflect short press in variable, but has no garantee on consistency.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 19 Jan 2022 08:51:45 +0100] rev 3412
SVGHMI: Fixed support for frequency parsing in widget label
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 18 Jan 2022 11:35:05 +0100] rev 3411
Merge
Edouard Tisserant [Tue, 18 Jan 2022 10:57:43 +0100] rev 3410
SVGHMI: update generated xslt
Edouard Tisserant [Tue, 18 Jan 2022 10:57:11 +0100] rev 3409
SVGHMI test: add special commandline to launch chromium as new intependent window, without GPU acceleration.
Edouard Tisserant [Tue, 18 Jan 2022 10:55:14 +0100] rev 3408
SVGHMI: add syntax for widget update frequency in widget label: HMI:WidgetType|freq:arg0:arg1@path
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 17 Jan 2022 15:17:47 +0100] rev 3407
OPC-UA client: "static" class was forgotten for open62541 client structure preventing multiple client.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 17 Jan 2022 15:15:00 +0100] rev 3406
OPC-UA: cosmetic fix and armless typo
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 16 Jan 2022 17:00:58 +0100] rev 3405
Merged default in wxPython4, include runtimeLists
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 16 Jan 2022 16:59:40 +0100] rev 3404
Merge
Edouard Tisserant [Fri, 14 Jan 2022 11:40:22 +0100] rev 3403
SVGHMI: added ListSwitch widget
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 16 Jan 2022 16:57:56 +0100] rev 3402
Merged RuntimeLists branch
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 16 Jan 2022 16:55:27 +0100] rev 3401
Close RuntimeLists branch
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 27 Dec 2021 19:21:59 +0100] rev 3400
Fix bug introduced in previous commit : dual link list wasn't append and remove wasn't implemented correctly. Removed debug code, enhanced variable names and comments.
Edouard Tisserant [Thu, 23 Dec 2021 11:36:37 +0100] rev 3399
SVGHMI: optimization of C part : stop traversing the whole HMI tree, use dual linked list for subscriptions and single linked list for changes from HMI. Intermediate commit, still crashing in some cases.
Edouard Tisserant [Thu, 16 Dec 2021 08:32:58 +0100] rev 3398
Xenomai runtime: ensure that __DEBUG global variable is set when resuming debug.
Edouard Tisserant [Thu, 16 Dec 2021 08:15:34 +0100] rev 3397
SVGHMI: Adapt svghmi.c to changes in UnpackVar
Edouard Tisserant [Wed, 15 Dec 2021 11:56:34 +0100] rev 3396
Runtime: Now retain uses a list based on data available in VARIABLES.csv instead of traversing the whole instance tree looking for RETAIN flag.
Edouard Tisserant [Thu, 09 Dec 2021 10:21:45 +0100] rev 3395
RUNTIME: Variable forcing now uses limited list and buffer instead of systematical instance tree traversal and in-tree "fvalue" to keep track of forced value for pointed variables (external, located). Pointer swapping is performed when forcing externals and located, with backup being restored when forcing is reset. Retain still uses tree traversal.
Edouard Tisserant [Wed, 01 Dec 2021 09:54:02 +0100] rev 3394
RUNTIME: Variable trace now uses limited list and buffer instead of flags in instance tree that was requiring systematical instance tree traversal, and worst size buffer. Forcing and retain still use tree traversal.
Edouard Tisserant [Tue, 30 Nov 2021 09:52:42 +0100] rev 3393
SVGHMI: more accurate filtering of elements to unlink or not
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 30 Nov 2021 18:43:10 +0100] rev 3392
OPC-UA client: generated code now take UA_Variants on the stack directly, avoid useless allocation on write, and unalloc implicitely allocated data on read
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 30 Nov 2021 18:43:10 +0100] rev 3391
OPC-UA client: generated code now take UA_Variants on the stack directly, avoid useless allocation on write, and unalloc implicitely allocated data on read
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 16 Nov 2021 20:31:11 +0100] rev 3390
IDE: Tutorial/Example menu was broken : path of project being open was the same for all menu entries.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 17 Nov 2021 09:20:16 +0100] rev 3389
IDE: Tutorial/Example menu was broken, probably after a merge. Menu (and corresponding code) was duplicated. Also, path of project beeing open was the same for all menu entries.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 16 Nov 2021 20:10:50 +0100] rev 3388
Fix bug when updating data in variable panel.
Grid event naming CHANGE->CHANGING was wrong. CHANGE->CHANGED is the way to go.
Edouard Tisserant [Mon, 08 Nov 2021 14:10:36 +0100] rev 3387
SVGHMI: update tests/evghmi to reflect/test latest changes. update generated XSLT.
Edouard Tisserant [Mon, 08 Nov 2021 14:09:44 +0100] rev 3386
SVGHMI: multiple non significant changes: doc fixes, modern style access to attributes, enforce double quotes around member name in object literals.
Edouard Tisserant [Mon, 08 Nov 2021 14:06:29 +0100] rev 3385
SVGHMI: Changes /CURRENT_PAGE_* behaviour to prevent problem whith multiclient : all clients were switching page when one was jumping.
- now PLC have to prefix page name with "!" to order page switch.
- HMI do not prefix with "!" when jumping, this avoiding looping incidently
- In case of multiple client:
CURRENT_PAGE reflects current page of last client hwo did jump
Setting CURRENT_PAGE with "!" affects all clients simultaneously
Edouard Tisserant [Mon, 08 Nov 2021 14:03:21 +0100] rev 3384
SVGHMI: changes that should fix some corner cases about unlinking and discardable element that still didn't show until now.
- list that would have been declared in some groups could have been discarded.
- elements to be unlinked were comuted based on filtering $hmi_elements, whereas $hmi_widget already filtered list
Edouard Tisserant [Thu, 04 Nov 2021 12:03:43 +0100] rev 3383
SVGHMI: update generated XSLT
Edouard Tisserant [Thu, 04 Nov 2021 12:02:08 +0100] rev 3382
merged
Edouard Tisserant [Thu, 04 Nov 2021 12:00:50 +0100] rev 3381
SVGHMI: add CURRENT_PAGE_{location} global variable to reflect currently visible page. If PLC wites some valid page reference in that variable, it triggers page switch. Additionally, fixed /HEARTBEAT being subscribed systematically by JS code even when wtchdog is not enabled.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 02 Nov 2021 08:36:06 +0100] rev 3380
Follow-up on 83ed4ea362db 'IDE: prevent invoking matiec when IEC code did not change since last build' : build unconditionally after clean
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 29 Oct 2021 18:20:03 +0200] rev 3379
merged
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 29 Oct 2021 18:07:28 +0200] rev 3378
OPC-UA: fix types in model not being preserved after reload of CSV file, leading to exception when changing selection lists content.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 29 Oct 2021 18:00:54 +0200] rev 3377
OPC-UA: Removed more "LocalizedText()", this time in selected variable list
Edouard Tisserant [Fri, 29 Oct 2021 11:49:22 +0200] rev 3376
IDE: prevent invoking matiec when IEC code did not change since last build.
Edouard Tisserant [Fri, 29 Oct 2021 10:27:31 +0200] rev 3375
SVGHMI: prevent systematic rebuild when there are multiple instances of SVGHMI CTN.
Edouard Tisserant [Fri, 29 Oct 2021 09:45:39 +0200] rev 3374
SVGHMI: optimize HMI tree handling C code to lower CPU usage when traversing large trees
Edouard Tisserant [Tue, 26 Oct 2021 11:41:03 +0200] rev 3373
merged
Edouard Tisserant [Thu, 21 Oct 2021 09:45:21 +0200] rev 3372
SVGHMI: prevents watchdog being triggered when SVGHMI is empty.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 22 Oct 2021 12:48:22 +0200] rev 3371
Backed out changeset c646a1f0fb0b - was on wrong branch
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 21 Oct 2021 20:56:05 +0200] rev 3370
Make OPC-UA client compatible with wxPython3, util wxPython4 branch deserve to be merged
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 21 Oct 2021 20:56:05 +0200] rev 3369
Make OPC-UA client compatible with wxPython3, util wxPython4 branch deserve to be merged
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 21 Oct 2021 13:18:18 +0200] rev 3368
IDE: Enforce wxPython3 menu appending syntax in default branch... (Fixes exception at startup)
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 19 Oct 2021 13:09:45 +0200] rev 3367
OPCUA: fix display names appearing with a "LocalizedText(" prefix when browsing localized server.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 19 Oct 2021 12:58:22 +0200] rev 3366
OPCUA: Add browsing of variables exposed by client when selecting location from variable panel.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 18 Oct 2021 20:41:31 +0200] rev 3365
OPCUA client: fix handling of string type Node Identifier
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 18 Oct 2021 12:40:53 +0200] rev 3364
Add OPC-UA simple synchronous client extension.
This extension uses python-opcua to growse server nodes, and generates runtime C code that use open62541.
- python-opcua must be available in python path (i.e. "import opcua" must succeed). Can be installed from pypi with "python2 -m pip install opcua --user" .
- at build time, open62541 is expected to be build in "open62541" directory, aside "beremiz" directory.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 04 Oct 2021 07:55:57 +0200] rev 3363
SVGHMI: update test/svghmi to reflect latest changes
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 04 Oct 2021 07:52:54 +0200] rev 3362
SVGHMI: Update generated xslt
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 04 Oct 2021 07:41:18 +0200] rev 3361
SVGHMI: remove "value" element in meter and circularbar widget. Adding support for printf like formating make widget label too heavy. It is better to use Display widget instead.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 04 Oct 2021 07:38:46 +0200] rev 3360
SVGHMI: Move sprintf.js out of widget_display.ysl2 since it is used in other widgets as well
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 01 Oct 2021 23:19:04 +0200] rev 3359
Dropped SVGUI, deprecated and replaced by SVGHMI. Transformed traffic_lights exemple so that it uses SVGHMI instead.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 01 Oct 2021 15:36:09 +0200] rev 3358
SVGHMI: Update generated XSLT (PathSlider widget)
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 01 Oct 2021 15:34:04 +0200] rev 3357
SVGHMI: simplication in ScrollBar widget JS code
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 01 Oct 2021 15:32:38 +0200] rev 3356
SVGHMI: Added PathSlider widget
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 01 Oct 2021 02:54:35 +0200] rev 3355
SVGHMI: update generated xslt (List related changes)
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 01 Oct 2021 02:52:25 +0200] rev 3354
SVGHMI: add files missing in ee9e98c856a : Add TextList widget, add support for TextList in DropDown widget, move List, TextStyleList and TextList widget code in dedicated file with documentation.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 20 Sep 2021 15:43:10 +0200] rev 3353
SVGHMI: add test for Dropdown using TextList
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 20 Sep 2021 15:42:17 +0200] rev 3352
SVGHMI: Add TextList widget, add support for TextList in DropDown widget, move List, TextStyleList and TextList widget code in dedicated file with documentation.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 13 Sep 2021 22:23:14 +0200] rev 3351
IDE: Add a "Tutorials and Examples" sub menu to "File" menu to directly open projects in /exemples directory. Move 'python' and 'first_steps' projecvts from /tests to /exemple
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 13 Sep 2021 17:57:47 +0200] rev 3350
WxPython 3.x -> 4.x : removed exception on stdout when closing at IDE frame
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 10 Sep 2021 14:48:07 +0200] rev 3349
Tests/svghmi_scrollbar: Fix variables names and remove useless "OnStart OnStop OnWatchdog" to use defaults.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 10 Sep 2021 14:44:20 +0200] rev 3348
IDE/windows: Avoid exception on quit caused by runtime being killed without disconnecting.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 10 Sep 2021 14:42:46 +0200] rev 3347
Runtime/unix: Fix typo preventing start of Pyro server
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 09 Sep 2021 21:52:27 +0200] rev 3346
Fix SVGHMI exception when running on Windows, missing ENODATA in errno.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 07 Sep 2021 09:08:40 +0200] rev 3345
Runtime: avoids using "pipe to self" bailout unblocking trick on windows, since select() only takes sockets.
Edouard Tisserant [Wed, 20 Oct 2021 08:57:07 +0200] rev 3344
Merge deafult in wxPython4
Edouard Tisserant [Tue, 19 Oct 2021 15:15:03 +0200] rev 3343
Merge changes about wamp reconnecting options, and added missing parts so that these changes make sense.
dgaberscek [Mon, 11 Oct 2021 09:04:53 +0200] rev 3342
Fixed Wamp reconnect on lost connection.
Edouard Tisserant [Tue, 19 Oct 2021 09:41:48 +0200] rev 3341
SVGHMI: force MaxConnections sum back to zero, preventing it to grow indefinitely on each build.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 19 Oct 2021 13:09:45 +0200] rev 3340
OPCUA: fix display names appearing with a "LocalizedText(" prefix when browsing localized server.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 19 Oct 2021 12:58:22 +0200] rev 3339
OPCUA: Add browsing of variables exposed by client when selecting location from variable panel.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 18 Oct 2021 20:41:31 +0200] rev 3338
OPCUS client: fix handling of string type Node Identifier
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 18 Oct 2021 12:40:53 +0200] rev 3337
Add OPC-UA simple synchronous client extension.
This extension uses python-opcua to growse server nodes, and generates runtime C code that use open62541.
- python-opcua must be available in python path (i.e. "import opcua" must succeed). Can be installed from pypi with "python2 -m pip install opcua --user" .
- at build time, open62541 is expected to be build in "open62541" directory, aside "beremiz" directory.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 18 Oct 2021 12:34:30 +0200] rev 3336
IDE: fix wxpython4 sequel : project "add" menu was having no extension entry visible.
Edouard Tisserant [Fri, 08 Oct 2021 09:13:02 +0200] rev 3335
Prevent exception when asking for CSV dump while variable traces are still empty
Edouard Tisserant [Fri, 08 Oct 2021 09:11:55 +0200] rev 3334
Fix wrong comment
Edouard Tisserant [Wed, 06 Oct 2021 10:45:06 +0200] rev 3333
Fixed two exceptions happening when interacting with viewer(s) in debug mode, when debug data is still not initialized.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 04 Oct 2021 07:55:57 +0200] rev 3332
SVGHMI: update test/svghmi to reflect latest changes
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 04 Oct 2021 07:52:54 +0200] rev 3331
SVGHMI: Update generated xslt
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 04 Oct 2021 07:41:18 +0200] rev 3330
SVGHMI: remove "value" element in meter and circularbar widget. Adding support for printf like formating make widget label too heavy. It is better to use Display widget instead.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 04 Oct 2021 07:38:46 +0200] rev 3329
SVGHMI: Move sprintf.js out of widget_display.ysl2 since it is used in other widgets as well
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 01 Oct 2021 23:19:04 +0200] rev 3328
Dropped SVGUI, deprecated and replaced by SVGHMI. Transformed traffic_lights exemple so that it uses SVGHMI instead.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 01 Oct 2021 17:44:52 +0200] rev 3327
Merge from default
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 01 Oct 2021 15:36:09 +0200] rev 3326
SVGHMI: Update generated XSLT (PathSlider widget)
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 01 Oct 2021 15:34:04 +0200] rev 3325
SVGHMI: simplication in ScrollBar widget JS code
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 01 Oct 2021 15:32:38 +0200] rev 3324
SVGHMI: Added PathSlider widget
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 01 Oct 2021 02:54:35 +0200] rev 3323
SVGHMI: update generated xslt (List related changes)
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 01 Oct 2021 02:52:25 +0200] rev 3322
SVGHMI: add files missing in ee9e98c856a : Add TextList widget, add support for TextList in DropDown widget, move List, TextStyleList and TextList widget code in dedicated file with documentation.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 20 Sep 2021 15:43:10 +0200] rev 3321
SVGHMI: add test for Dropdown using TextList
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 20 Sep 2021 15:42:17 +0200] rev 3320
SVGHMI: Add TextList widget, add support for TextList in DropDown widget, move List, TextStyleList and TextList widget code in dedicated file with documentation.
Edouard Tisserant [Thu, 16 Sep 2021 09:40:36 +0200] rev 3319
Sequel to 95fe62bfe920 : Copy description when DnD variables from Globals in resources and configuration variable panels to POUs, now including ST/IL POUs.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 13 Sep 2021 22:23:14 +0200] rev 3318
IDE: Add a "Tutorials and Examples" sub menu to "File" menu to directly open projects in /exemples directory. Move 'python' and 'first_steps' projecvts from /tests to /exemple
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 13 Sep 2021 17:57:47 +0200] rev 3317
WxPython 3.x -> 4.x : removed exception on stdout when closing at IDE frame
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 13 Sep 2021 13:02:52 +0200] rev 3316
Merged default
Edouard Tisserant [Mon, 13 Sep 2021 12:19:17 +0200] rev 3315
Xenomai runtime: more verbose error message when problem with RT-Pipes.
Edouard Tisserant [Mon, 13 Sep 2021 12:18:08 +0200] rev 3314
Re-introduce sertup.py from Ivan Tyagov, accidentally deleted during SVGHMI branch merge
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 10 Sep 2021 14:48:07 +0200] rev 3313
Tests/svghmi_scrollbar: Fix variables names and remove useless "OnStart OnStop OnWatchdog" to use defaults.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 10 Sep 2021 14:44:20 +0200] rev 3312
IDE/windows: Avoid exception on quit caused by runtime being killed without disconnecting.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 10 Sep 2021 14:42:46 +0200] rev 3311
Runtime/unix: Fix typo preventing start of Pyro server
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 09 Sep 2021 21:52:27 +0200] rev 3310
Fix SVGHMI exception when running on Windows, missing ENODATA in errno.
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 09 Sep 2021 09:37:03 +0200] rev 3309
Workaround missing "IsMaximized" attribute for AuiPaneInfo in wxPython 4.1.0
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 07 Sep 2021 09:08:40 +0200] rev 3308
Runtime: avoids using "pipe to self" bailout unblocking trick on windows, since select() only takes sockets.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 05 Sep 2021 15:24:14 +0200] rev 3307
More WxPython 3.x->4.x API update
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 05 Sep 2021 05:43:17 +0200] rev 3306
Workaround RubberBand drawing problem on GTK3
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 05 Sep 2021 05:03:36 +0200] rev 3305
Depricated PyGridCellEditor becomes GridCellEditor
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 05 Sep 2021 05:01:34 +0200] rev 3304
Fix exception when canvas becomes null because of window resize, and avoid useless parameter+condition in GetLogicalDC
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 02 Sep 2021 22:18:14 +0200] rev 3303
Preliminary support for WxPython 4.1.0. Needs more testing. Grid selection/focus seems broken, and probably many other bugs hidden in dialogs and editors.
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 02 Sep 2021 21:36:29 +0200] rev 3302
Merge SVGHMI in default
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 02 Sep 2021 21:37:10 +0200] rev 3301
Close SVGHMI branch
Edouard Tisserant [Mon, 30 Aug 2021 09:39:23 +0200] rev 3300
Copy description when DnD variables from Globals in resources and configuration variable panels to POUs. Also prevent making exception in case some other DropSource wouldn't provide description.
Edouard Tisserant [Fri, 27 Aug 2021 11:31:32 +0200] rev 3299
SVGHMI: Allow toggling fulscreen mode my right click or long press.
Edouard Tisserant [Tue, 24 Aug 2021 11:12:41 +0200] rev 3298
Xenomai runtime: fixed bugs introduced in e3db472b0dfb (RT->nRT wakeup) + other small typos
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 21 Aug 2021 11:02:09 +0200] rev 3297
IDE: systematically log command when launching process (was not showing in case of LOCAL:// runtime being launched)
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 21 Aug 2021 10:54:13 +0200] rev 3296
Win32 runtime: fix build with gcc 9.3.0 from msys2
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 17 Aug 2021 12:29:36 +0200] rev 3295
Runtime+SVGHMI: Add generic wakeup of threads from PLC thread to windows implementation of plc_main.c. Also added nRT_reschedule to abstract sched_yield.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 16 Aug 2021 22:49:08 +0200] rev 3294
Runtime+SVGHMI: Added a generic way to wakeup non-real-time threads from real-time PLC thread. Replace SVGHMI specific calls in Linux and Xenomai implementations of plc_main.c. Fixed xenomai build, xeno-config making problems with --no-auto-init argument.
Edouard Tisserant [Thu, 29 Jul 2021 11:59:28 +0200] rev 3293
Runtime: Better handling of nested strings in spawn_subprocess commandline parsing
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 29 Jul 2021 08:25:26 +0200] rev 3292
IDE: Fixed use of RingBuffers in variable traces graphs when switching to 2D trend graph.
Edouard Tisserant [Mon, 26 Jul 2021 10:20:39 +0200] rev 3291
IDE: On windows, align better "reset to default" button in CTN config panel.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 26 Jul 2021 08:42:26 +0200] rev 3290
SVGHMI: Fix detection of library without instance and instances without library. Added one more widget in the widget library. Renamed "view_name" in "name" in commands substitutions.
Edouard Tisserant [Fri, 23 Jul 2021 13:16:15 +0200] rev 3289
SVGHMI: Fix missing "OnWatchdog" in XSD, accidentally deleted in earlier commit.
Edouard Tisserant [Fri, 23 Jul 2021 13:15:19 +0200] rev 3288
IDE: Add a "undo" button for each field in CTN config panel to reset to default value.
Edouard Tisserant [Thu, 22 Jul 2021 12:03:34 +0200] rev 3287
SVGHMI: detect watchdog abuse (more than one HMI instance with watchdog) at build time
Edouard Tisserant [Thu, 22 Jul 2021 12:02:50 +0200] rev 3286
SVGHMI: code refactoring allowing more in depth customization for substitution on start/stop/restart commands, and default SVG choice.
Edouard Tisserant [Tue, 20 Jul 2021 10:52:25 +0200] rev 3285
Runtime: more robust loading of Wamp config, specially in case config file was corrupted.
Edouard Tisserant [Tue, 20 Jul 2021 09:43:35 +0200] rev 3284
SVGHMI: add arguments to pass to ressource factory when attaching rerssource to svghmi root
Edouard Tisserant [Tue, 20 Jul 2021 09:12:45 +0200] rev 3283
SVGHMI: fix typo in slider widget
Edouard Tisserant [Thu, 15 Jul 2021 11:50:44 +0200] rev 3282
Runtime: Handle errors in user's python code more gracefully : make exceptions and allow repair.
Edouard Tisserant [Thu, 15 Jul 2021 11:48:02 +0200] rev 3281
SVGHMI: Fixed halting problem when there is no session opened.
Edouard Tisserant [Tue, 13 Jul 2021 16:19:07 +0200] rev 3280
SVGHMI: Widget lib: small doc fix.
Edouard Tisserant [Tue, 13 Jul 2021 16:18:37 +0200] rev 3279
SVGHMI: DnD UI: Use widget's short description, initially forgoten.
Edouard Tisserant [Tue, 13 Jul 2021 16:16:58 +0200] rev 3278
SVGHMI: Fixed typo on session manager unregister, leading to wrong count of sessions and then exceptions when creating more session than allowed in protocol options. Also added more safety check in protocol in case session would be missing.
Edouard Tisserant [Tue, 13 Jul 2021 16:13:21 +0200] rev 3277
SVGHMI: set some boundaries for watchdog timings and max connection count.
Edouard Tisserant [Tue, 13 Jul 2021 16:12:15 +0200] rev 3276
SVGHMI: update generated xslt
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 12 Jul 2021 23:26:14 +0200] rev 3275
SVGHMI: fixed bug introduced in 7bdb766c2a4d, typo breaking meter widget
Edouard Tisserant [Mon, 12 Jul 2021 16:29:55 +0200] rev 3274
SVGHMI: default library path, default page when starting a SVGHMI project, error page when no SVG present
Edouard Tisserant [Mon, 12 Jul 2021 14:13:29 +0200] rev 3273
SVGHMI: finished multiclient support. Still needs more testing.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 12 Jul 2021 10:07:52 +0200] rev 3272
SVGHMI: Fixed iterator in session manager. Getting closer to working multiclient, to be continued.
Edouard Tisserant [Fri, 09 Jul 2021 15:47:43 +0200] rev 3271
SVGHMI: Fixing last commit's multiclient implementation, in case of watchdog. To be continued, since multiclient still fail...
Edouard Tisserant [Wed, 07 Jul 2021 16:31:13 +0200] rev 3270
SVGHMI: Implemented multiserver+multiclient, but only tested with single client and single server for now. To be continued...
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 05 Jul 2021 10:51:02 +0200] rev 3269
SVGHMI: More configuration parameters : network interface, TCP port, URL path and watchdog enabling.
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 01 Jul 2021 14:33:14 +0200] rev 3268
SVGHMI: Added a way to distinguish watchdog-enabled HMI from multi-client HMI in URL.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 30 Jun 2021 15:51:59 +0200] rev 3267
SVGHMI: Prepare accepting multiple clients on multiple HMI: Use POULibrary new capability to add variables to PLC Configuration. Now heartbeat and HMI tree root are added by the library part of SVGHMI, and not by each instance.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 30 Jun 2021 15:44:32 +0200] rev 3266
IDE: Allow POU Libraries to inject PLC Configurations globals during build.
Edouard Tisserant [Fri, 18 Jun 2021 14:13:03 +0200] rev 3265
SVGHMI: DnD UI: Add hint instructing user to Drag HMI tree items to text field.
Edouard Tisserant [Fri, 18 Jun 2021 11:47:55 +0200] rev 3264
SVGHMI: update generated XSLT files
Edouard Tisserant [Fri, 18 Jun 2021 11:47:33 +0200] rev 3263
SVGHMI: DnD UI: Fix SVG gen that was dropping widget name and making XSLTExceptions plus some UX enhancements.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 18 Jun 2021 10:57:33 +0200] rev 3262
removed useless import
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 18 Jun 2021 10:49:10 +0200] rev 3261
SVGHMI: DnD UI: SVG for DnD now generated again based on paths and args entries filled by user.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 16 Jun 2021 18:27:27 +0200] rev 3260
merge
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 16 Jun 2021 18:27:05 +0200] rev 3259
SVGHMI: UI: added prefill of arguments according to values in widget instance in library. Also added library's widget instance description to description field.
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.
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.
Edouard Tisserant [Fri, 11 Jun 2021 11:56:07 +0200] rev 3256
IDE: Log: Prevent crash when display progress on empty log.
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 10 Jun 2021 14:05:44 +0200] rev 3255
merge
Edouard Tisserant [Thu, 10 Jun 2021 09:40:05 +0200] rev 3254
Copy description when DnD variables from CodeFile CTN to POUs
Edouard Tisserant [Wed, 09 Jun 2021 15:28:00 +0200] rev 3253
SVGHMI: fix exception when stored widget library path does not exist anymore
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
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
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 31 May 2021 16:06:00 +0200] rev 3250
SVGHMI: Fixed typo in last commit
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 31 May 2021 10:10:00 +0200] rev 3249
merged
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
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.
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.
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
Edouard Tisserant [Wed, 19 May 2021 18:54:35 +0200] rev 3244
SVGHMI: UI: Swap widget selection tree and preview panel
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.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 18 May 2021 09:28:44 +0200] rev 3242
Merged SVGHMI branches
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
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.
Edouard Tisserant [Wed, 12 May 2021 11:38:00 +0200] rev 3239
merged default in svghmi
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 03 May 2021 00:14:38 +0200] rev 3238
SVGHMI: updating generated XSLT
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
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
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.
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
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
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.
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
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 14 Apr 2021 09:21:18 +0200] rev 3230
SVGHMI: fixed typo
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...
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
Edouard Tisserant [Fri, 09 Apr 2021 09:47:06 +0200] rev 3227
Merged default in 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.
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.
Edouard Tisserant [Tue, 06 Apr 2021 14:04:08 +0200] rev 3224
SVGHMI: Widget transform before DnD now have HMI path as a parameter
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.
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.
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.
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.
Edouard Tisserant [Thu, 01 Apr 2021 15:57:06 +0200] rev 3219
SVGHMI: Code cleanup for ToggleButton.
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.
Edouard Tisserant [Thu, 01 Apr 2021 15:51:24 +0200] rev 3217
IDE: Add a shortcut to project "Clean" action : F9
Edouard Tisserant [Wed, 31 Mar 2021 15:30:07 +0200] rev 3216
merge
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
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
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.
Edouard Tisserant [Tue, 30 Mar 2021 14:56:04 +0200] rev 3212
SVGHMI: silence debug output in generated xhtml.
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.
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
Edouard Tisserant [Mon, 29 Mar 2021 15:46:02 +0200] rev 3209
Fixed misuse of GridCellEditor in DurationCellEditor, potentially leading to crash on windows.
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.
Edouard Tisserant [Mon, 29 Mar 2021 10:26:42 +0200] rev 3207
merge
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
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.
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||
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
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 25 Mar 2021 13:08:19 +0100] rev 3202
merge
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)
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.
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.
Edouard Tisserant [Tue, 23 Mar 2021 14:09:55 +0100] rev 3198
SVGHMI: Fix typo in error message formating in i18n.
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
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 23 Mar 2021 05:15:19 +0100] rev 3196
Merged
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.
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.
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.
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.
Edouard Tisserant [Wed, 17 Mar 2021 11:07:29 +0100] rev 3191
merged
Edouard Tisserant [Tue, 16 Mar 2021 14:19:22 +0100] rev 3190
SVGHMI: cosmetic change, missing semicolon
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.
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.
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
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.
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.
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 11 Mar 2021 09:13:51 +0100] rev 3184
merge
Edouard Tisserant [Wed, 10 Mar 2021 10:01:05 +0100] rev 3183
merge
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
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.
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
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 05 Mar 2021 09:36:22 +0100] rev 3179
Merged
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
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).
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
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.
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.
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.
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.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 02 Mar 2021 09:25:55 +0100] rev 3171
IDE: Log: Cosmetic changes, refactoring
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.
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.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 01 Mar 2021 10:03:50 +0100] rev 3168
merged
Edouard Tisserant [Fri, 26 Feb 2021 11:08:51 +0100] rev 3167
SVGHMI: Fixed progress time computation
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.
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.
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 25 Feb 2021 11:22:10 +0100] rev 3164
merged
Edouard Tisserant [Wed, 24 Feb 2021 09:37:00 +0100] rev 3163
Merge changes from default into svghmi branch
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.
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.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 22 Feb 2021 10:09:57 +0100] rev 3160
Merge
Edouard Tisserant [Fri, 19 Feb 2021 14:56:14 +0100] rev 3159
SVGHMI: Add icons
Edouard Tisserant [Fri, 19 Feb 2021 12:03:42 +0100] rev 3158
SVGHMI: Fixed/extended error message when failing to launch POEdit.
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.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 22 Feb 2021 10:08:36 +0100] rev 3156
SVGHMI: display progress in IDE console while building
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.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 19 Feb 2021 10:04:36 +0100] rev 3154
SVGHMI: update generated XSLT
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.
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
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.
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.
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.
Edouard Tisserant [Tue, 16 Feb 2021 11:47:52 +0100] rev 3148
merge
Edouard Tisserant [Tue, 16 Feb 2021 11:35:56 +0100] rev 3147
SVGHMI: update generated XSLT
Edouard Tisserant [Tue, 16 Feb 2021 11:32:37 +0100] rev 3146
SVGHMI: little fix ihn i18n example.
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.
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.
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.
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".
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 14 Feb 2021 05:30:29 +0100] rev 3141
SVGHMI: update generated XSLT
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
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.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 14 Feb 2021 05:17:25 +0100] rev 3138
SVGHMI: fix scrollbar not behaving when rotated.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 14 Feb 2021 05:15:13 +0100] rev 3137
SVGHMI: remove forgotten debug code
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
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
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 09 Feb 2021 17:10:08 +0100] rev 3134
SVGHMI: Update generated XSLT
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.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 09 Feb 2021 08:11:22 +0100] rev 3132
SVGHMI: Add a simple i18n test
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
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 09 Feb 2021 07:56:25 +0100] rev 3130
SVGHMI: removed dead code
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.
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.
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
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
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
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 02 Feb 2021 16:39:02 +0100] rev 3124
SVGHMI: update generated XSLT
Edouard Tisserant [Tue, 02 Feb 2021 11:20:54 +0100] rev 3123
Merged
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.
Edouard Tisserant [Tue, 02 Feb 2021 10:59:00 +0100] rev 3121
SVGHMI: Prevent excluded widget to appear in generated pages' widget list.
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.
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.
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.
Edouard Tisserant [Mon, 25 Jan 2021 14:02:08 +0100] rev 3117
SVGHMI: Make an error when pages are nested
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.
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
Edouard Tisserant [Thu, 21 Jan 2021 11:08:04 +0100] rev 3114
SVGHMI: i18n: better warning messages, more explicit.
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
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.
Edouard Tisserant [Mon, 18 Jan 2021 10:32:13 +0100] rev 3111
Docutil : reworked Inkscape launching and path resolution in docsvg.py
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 15 Jan 2021 10:15:41 +0100] rev 3110
merge
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.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 15 Jan 2021 10:11:05 +0100] rev 3108
SVGHMI: Intermediate commit while implementing i18n. WIP.
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.
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
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 04 Jan 2021 12:34:56 +0100] rev 3105
SVGHMI: CircularBar: use animate() + cormetic changes
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 29 Dec 2020 16:54:32 +0100] rev 3104
SVGHMI: Meter widget: use animate() + cosmetic changes
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 29 Dec 2020 15:53:30 +0100] rev 3103
SVGHMI: Update generated xslt
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
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 29 Dec 2020 15:38:31 +0100] rev 3101
SVGHMI: cosmetic changes
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.
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.
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
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
Edouard Tisserant [Tue, 22 Dec 2020 14:57:59 +0100] rev 3096
Merged default in svghmi branch
Edouard Tisserant [Mon, 21 Dec 2020 11:10:27 +0100] rev 3095
WebInterface: better wording for wiping PLC content: "Repair"
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.
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.
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.
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.
Edouard Tisserant [Tue, 15 Dec 2020 13:43:21 +0100] rev 3090
SVGHMI: DropDown widget now using new class based style
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
Edouard Tisserant [Thu, 10 Dec 2020 14:54:42 +0100] rev 3088
Fixed "Onchange" object added in previous commit
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.
Edouard Tisserant [Mon, 07 Dec 2020 09:49:34 +0100] rev 3086
SVGHMI: cosmetic fixes in button widget
Edouard Tisserant [Sat, 05 Dec 2020 16:59:27 +0100] rev 3085
SVGHMI: Rewrote button widget.
Edouard Tisserant [Wed, 02 Dec 2020 14:33:24 +0100] rev 3084
SVGHMI: update generated XSLT
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...
Edouard Tisserant [Wed, 02 Dec 2020 14:31:57 +0100] rev 3082
SVGHMI: prevent unwnted context menu and pinch zoom
Edouard Tisserant [Wed, 02 Dec 2020 14:30:58 +0100] rev 3081
SVGHMI: more attempts to prevent losing memory in JS closure
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.
Edouard Tisserant [Wed, 25 Nov 2020 14:47:47 +0100] rev 3079
SVGHMI: update generated xslt file
Edouard Tisserant [Wed, 25 Nov 2020 14:47:23 +0100] rev 3078
SVGHMI: use const when applicable
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.
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.
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.
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
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 18 Nov 2020 23:08:17 +0100] rev 3073
merge
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.
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.
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.
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
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.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 20 Oct 2020 00:24:49 +0200] rev 3067
merge
Edouard Tisserant [Mon, 19 Oct 2020 10:17:18 +0200] rev 3066
SVGHMI: JsonTable now outputs "visible" value as well.
Edouard Tisserant [Mon, 19 Oct 2020 10:15:26 +0200] rev 3065
SVGHMI: non significant cosmetic changes
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
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.
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
usveticic [Wed, 30 Sep 2020 12:31:59 +0200] rev 3061
Merge two different heads
Edouard Tisserant [Thu, 24 Sep 2020 15:42:40 +0200] rev 3060
SVGHMI: Documentation fix
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
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
usveticic [Wed, 16 Sep 2020 09:42:26 +0200] rev 3057
Updated svg and xml for testing program
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.
Edouard Tisserant [Tue, 15 Sep 2020 13:57:06 +0200] rev 3055
Modbus: fixed typo in ctype typing.
Edouard Tisserant [Fri, 11 Sep 2020 13:46:41 +0200] rev 3054
MODBUS: Fix saving of websettings.
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.
Edouard Tisserant [Thu, 03 Sep 2020 11:16:08 +0200] rev 3052
SVGHMI: Better error message when inkscape is not installed.
Edouard Tisserant [Wed, 02 Sep 2020 11:45:41 +0200] rev 3051
SVGHMI: nicer error message
Edouard Tisserant [Tue, 01 Sep 2020 11:15:48 +0200] rev 3050
Merge
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.
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.
Edouard Tisserant [Fri, 28 Aug 2020 11:31:18 +0200] rev 3047
Merged
Edouard Tisserant [Fri, 28 Aug 2020 11:27:07 +0200] rev 3046
SVGHMI: cosmetic fix in test
usveticic [Tue, 18 Aug 2020 11:42:28 +0200] rev 3045
All widgets reworked to use widget class and animate function if needed
Edouard Tisserant [Thu, 27 Aug 2020 14:34:48 +0200] rev 3044
SVGHMI: Moved JsonTable/Alarm related test in a separate page.
Edouard Tisserant [Thu, 27 Aug 2020 14:34:00 +0200] rev 3043
SVGHMI: JsonTable now ignores elements and groups starting with #
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.
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.
Edouard Tisserant [Wed, 26 Aug 2020 14:24:43 +0200] rev 3040
SVGHMI: Fix multiple variable support in widget
Edouard Tisserant [Wed, 26 Aug 2020 11:34:06 +0200] rev 3039
SVGHMI: Add TODOs in Button widgets.
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.
Edouard Tisserant [Tue, 25 Aug 2020 14:34:49 +0200] rev 3037
SVGHMI: little fix in HMI:Button
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.
Edouard Tisserant [Mon, 24 Aug 2020 09:48:35 +0200] rev 3035
SVGHMI: removed debug code forgotten here and there.
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.
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.
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.
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.
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.
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
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.
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.
Edouard Tisserant [Thu, 13 Aug 2020 11:37:39 +0200] rev 3026
SVGHMI: factorize dispatch calling logic.
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.
Edouard Tisserant [Wed, 12 Aug 2020 15:24:02 +0200] rev 3024
Merge
Edouard Tisserant [Wed, 12 Aug 2020 13:36:18 +0200] rev 3023
SVGHMI: Add more local HMI variable tests in tests/svghmi.
Edouard Tisserant [Tue, 11 Aug 2020 14:37:33 +0200] rev 3022
SVGHMI: finished initial implementation of PAGE_LOCAL and HMI_LOCAL variables.
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.
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.
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.
Edouard Tisserant [Mon, 10 Aug 2020 11:30:06 +0200] rev 3018
Merge
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.
usveticic [Wed, 05 Aug 2020 15:20:10 +0200] rev 3016
Beremiz test project with newly created widgets.
usveticic [Wed, 05 Aug 2020 15:18:00 +0200] rev 3015
Rebuilded gen_index_html.xslt after all new widgets were commited
usveticic [Wed, 05 Aug 2020 15:16:43 +0200] rev 3014
Create new multistate widget which extand class widget
usveticic [Wed, 05 Aug 2020 15:16:03 +0200] rev 3013
Create new CircularSlider widget which extand class widget
usveticic [Wed, 05 Aug 2020 15:15:33 +0200] rev 3012
Create new slider widget which extand class widget
usveticic [Wed, 05 Aug 2020 15:14:39 +0200] rev 3011
Reworked togglebutton widget to extand class widget
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
usveticic [Wed, 05 Aug 2020 15:04:53 +0200] rev 3009
Reworked button widget so it uses classes.
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.
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.
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)
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.
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.
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.