2020-06-02 Edouard Tisserant Runtime: create .md5 file at the end of all transfered files being written to disk, so that it presence indicates completeness of transfer. svghmi
2020-06-02 Edouard Tisserant IDE: Main toolbar : Show repair button also in stop mode. Move repair button after disconnect button. svghmi
2020-06-01 Edouard Tisserant Runtime: fsync() files when transfering them, to prebent data loss when poweroff soon after programming. Fixed variable naming as a side effect. svghmi
2020-05-28 Edouard Tisserant PLCObject : reorganize code in StartPLC(), add a PreStartPLC() empty method, to be overloaded by runtime extensions. svghmi
2020-05-26 Edouard Tisserant Solve import order problem when POULibrary imports ConfigTreeNode because of UserAddressedException. Now UserAddressedException is declared in POULibrary.py, as a quick and dirty fix, but some independant module should be created for beremiz exceptions in general. svghmi
2020-05-21 Edouard Tisserant SVGHMI: stop using eval in change_hmi_value, apparently slowly leaking memory. svghmi
2020-05-14 Edouard Tisserant SVGHMI: Switch widget was picking sub-elements from original SVG, not the result SVG ehwe clones are unlinked, thus making problems with svg:use based widgets. svghmi
2020-05-14 Edouard Tisserant SVGHMI: When unlinking a clone of a group, do not create additional group, but merge transformation and styles, and replace label. This allows svg:use based widgets to directly access elements of svg:use targeted element. svghmi
2020-05-14 Edouard Tisserant SVGHMI: Applies clone unlinking to widget themselves, not only to clones inside widgets. svghmi
2020-05-14 Edouard Tisserant merge svghmi
2020-05-13 Edouard Tisserant SVGHMI: Makes error when HMI tree is not well formed. Prevents multiple and non-first HMI_NODE, and ensure that all paths in HMI tree are unique. svghmi
2020-05-13 Edouard Tisserant Added FatalError call to Libraries code gen, so that they can emit messages addressed like config tree nodes do. svghmi
2020-05-13 Edouard Tisserant SVGHMI: more Widget properties declared ES6 style. svghmi
2020-05-13 Edouard Tisserant SVGHMI: Switch widget now use class declaration svghmi
2020-05-13 Edouard Tisserant SVGHMI: Update Button widget to class declaration, and add a button widget in tests/svghmi. svghmi
2020-05-13 Edouard Tisserant SVGHMI: explicit handling of undefined maximum widget update frequency svghmi
2020-05-13 Edouard Tisserant SVGHMI: removed dead code svghmi
2020-05-13 Edouard Tisserant SVGHMI: Back button updated to class style svghmi
2020-05-11 Edouard Tisserant merge svghmi
2020-05-11 Edouard Tisserant DEBUG: (IDE side) fixed wrong implementation of anti-rapid-fire leading to systematic delay in subscribing svghmi
2020-05-10 Edouard Tisserant SVGHMI: Exclude non-widget HMI:* labeled elements from hmi_widget. Namely : HMI:Page HMI:Lang and HMI:List have been excluded. svghmi
2020-05-10 Edouard Tisserant SVGHMI: clean up dead code, update generated xslt. svghmi
2020-05-10 Edouard Tisserant SVGHMI: apply per class overloading of sub/unsub to Jump widget svghmi
2020-05-10 Edouard Tisserant SVGHMI: apply per class overloading of sub/unsub to ForEach widget svghmi
2020-05-10 Edouard Tisserant SVGHMI: Widget's specific sub/unsub traits are now wxpressed in widget's class. svghmi
2020-05-10 Edouard Tisserant SVGHMI: Parameters common to all widget constructors now passed as ordered parameters. svghmi
2020-05-08 Edouard Tisserant SVGHMI: One class per widget type, widget objects are instances of these classes, and members are passed through constructor. This allows to keep compatible with previous widget_defs template used in most widgets. svghmi
2020-05-08 Edouard Tisserant SVGHMI: Add an exslt function to collect used widget types, in order to only include necessary JS definitions in furure changes. svghmi
2020-05-08 Edouard Tisserant SVGHMI: Systematically output local name as /* comment */ when emiting content. svghmi
2020-04-24 Edouard Tisserant Merge svghmi
2020-04-24 Edouard Tisserant SVGHMI: Fix flawed logic to place nodes in the HMI tree, leading to wrecked tree in some cases. svghmi
2020-04-22 dgaberscek Added button and circular bar widgets. svghmi
2020-04-20 Edouard Tisserant SVGHMI: added more meaningful namespaces to emit javascript code from. svghmi
2020-04-19 Edouard Tisserant SVGHMI: moved JS code of foreach and jump widget in corresponding widget_*.ysl2. To be continued. svghmi
2020-04-19 Edouard Tisserant SVGHMI: spread JS code from svghmi/scripts.ysl2 in other .ysl2 files, using dedicated preamble and epilogue namespaces svghmi
2020-04-19 Edouard Tisserant SVGHMI: Introduced "emit" to simplify producing per-topic code and content from anywhere in code. Applied to debug output, next to JS. svghmi
2020-04-18 Edouard Tisserant SVGHMI: Move reflective debug tags from "reflect" to "debug" namespace, preparing for per-purpose namespaces. svghmi
2020-04-18 Edouard Tisserant SVGHMI: Added scripts.ysl2 svghmi
2020-04-18 Edouard Tisserant SVGHMI: moving code wher it belongs, and reformulate some declarations for better readability. svghmi
2020-04-16 Edouard Tisserant SVGHMI: HMI:DropDown: more documentation. svghmi
2020-04-15 Edouard Tisserant SVGHMI: Comments in HMI:DropDown source code svghmi
2020-04-14 Edouard Tisserant SVGHMI: HMI:DropDown menu aligns to selected when opening svghmi
2020-04-14 Edouard Tisserant SVGHMI: When clicking outside of opened HMI:DropDown box, close it. svghmi
2020-04-14 Edouard Tisserant SVGHMI: Fix HMI:DropDown flicker on close. svghmi
2020-04-14 Edouard Tisserant SVGHMI: HMI:DropDown now temporarily takes content from widget's arguments, until HMI:List is implemented. svghmi
2020-04-14 Edouard Tisserant SVGHMI: Connect HMI:DropDown to value in HMI Tree, in svghmi test as well. svghmi
2020-04-14 Edouard Tisserant SVGHMI: fix probable problem in HMI:Input, where value could be applied to wrong index if used in relative page. svghmi
2020-04-14 Edouard Tisserant SVGHMI: HMI:DropDown element is brought in front when opened, so that it isn't occulted by other widgets at the same level. svghmi
2020-04-14 Edouard Tisserant SVGHMI: HMI:DropDown now catches all clicks when open svghmi
2020-04-14 Edouard Tisserant SVGHMI: Add button element to HMI:DropDown, also fix problem with computed box margins. svghmi
2020-04-14 Edouard Tisserant SVGHMI: HMI:DropDown now scrolls forward and backward svghmi
2020-04-13 Edouard Tisserant SVGHMI: progress on HMI:DropDown - now selects some value on click, and close svghmi
2020-04-12 Edouard Tisserant SVGHMI: HMI:DropDown work in progress, intermediate commit. Now menu's rectangle grows up to viewport borders. svghmi
2020-04-09 Edouard Tisserant SVGHMI: intermediate commit while working on dropdown widget. svghmi
2020-04-07 Edouard Tisserant SVGHMI: HMI is not speculating on PLC variable update anymore when sending new variable value. svghmi
2020-04-04 Edouard Tisserant SVGHMI: finished shift and capslock support n keypad widget. Added a helper in widgets_common to collect subelements likle active/inactive/disabled... svghmi
2020-04-04 Edouard Tisserant SVGHMI: fixed keypad JS regarding shift/capslock and other details svghmi
2020-04-04 Edouard Tisserant Fix unmatched "Courier" font for monospace fonts on latest ubuntu 20.04. Selected "FreeMono" instead, present since at least 18.04 svghmi
2020-04-03 Edouard Tisserant SVGHMI: Keypad working for HMI_STRING, still Shift/CapsLock not finished. svghmi
2020-04-03 Edouard Tisserant SVGHMI: fix keyboard not showing svghmi
2020-04-03 Edouard Tisserant SVGHMI: Added keypads to svghmi test's SVG file svghmi
2020-04-03 Edouard Tisserant merge svghmi
2020-04-02 Edouard Tisserant SVGHMI: Keypad: added code to re-attach keypad when starting edit. svghmi
2020-04-02 Edouard Tisserant SVGHMI: removed debug code svghmi
2020-04-02 Edouard Tisserant SVGHMI: More infrastructure for editing values with a keypad. svghmi
2020-04-02 Edouard Tisserant SVGHMI: Widget input buttons should be clickable through svg:use (onclick attribute instead of addEventListener) svghmi
2020-04-01 Edouard Tisserant SVGHMI: moved dead code to where it belongs svghmi
2020-04-01 Edouard Tisserant SVGHMI: empty widget_keypad.ysl2, WIP svghmi
2020-03-31 Edouard Tisserant SVGHMI: HMI:Switch now accepts boolean values 'true' and 'false' svghmi
2020-03-30 Edouard Tisserant SVGHMI: Jump widget, if it has a 'disabled' labeled element, reflects value of the pointed HMITree variable by showing this element when value is False, and behaving normaly otherwise. svghmi
2020-03-30 Edouard Tisserant SVGHMI: prevent man-made memory leak by limiting back button history items count to 42 svghmi
2020-03-29 Edouard Tisserant SVGHMI: collect debug data through xslt reflectivity instead of yml2/python trick svghmi
2020-03-27 Edouard Tisserant SVGHMI: Jump widget can now display as active or inactive, if corresponfing "active" and "inactive labeled elements are provided. svghmi
2020-03-26 Edouard Tisserant SVGHMI: added Back widget. svghmi
2020-03-26 Edouard Tisserant SVGHMI: Jump widget now make errors if path given for relative jump doesn't match target page reference path class. svghmi
2020-03-26 Edouard Tisserant SVGHMI: Check that explicit relative page jump path is consistant with destination page reference path. svghmi
2020-03-25 Edouard Tisserant SVGHMI: ForEach Widget now has a better wrap-around when scrolling : hit the boundary systematically before wrapping svghmi
2020-03-25 Edouard Tisserant SVGHMI: Alow relative relative Jump. (i.e, relative jump from a foreach widget) svghmi
2020-03-25 Edouard Tisserant SVGHMI: Generalize applying cache to widgets, be it from page or ForEach widgets. Now ForEach widget buttons work as expected. svghmi
2020-03-24 Edouard Tisserant SVGHMI: Widget ForEach buttons now call corresponding methods. svghmi
2020-03-24 Edouard Tisserant SVGHMI: ForEach now has working (un)subscribe. Fixed PageSwitch that wasn't behaving when jumping to current page with another path. svghmi
2020-03-23 Edouard Tisserant SVGHMI: Easier way to match HMI tree elements to paths. ForEach widget now looks for paths and indexes of all items, and enforce path to be consistent with ForEach items sub widgets svghmi
2020-03-23 Edouard Tisserant SVGHMI: added func:get_hmi_tree_elt to match HMI tree node from path. Continue implementing ForEach widget : force order and completeness of items list. Now also collecting ForEach buttons. svghmi
2020-03-23 Edouard Tisserant SVGHMI: ForEach knows its own widgets svghmi
2020-03-20 Edouard Tisserant SVGHMI: add widget_foreach.ysl2 svghmi
2020-03-20 Edouard Tisserant SVGHMI: make root HMI tree node a HMI_NODE, droped HMI_ROOT node type svghmi
2020-03-19 Edouard Tisserant SVGHMI: reworked widget (un)subscription now a method of widgect object, allowing special subscription methods svghmi
2020-03-19 Edouard Tisserant SVGHMI: Exclude (again) sub-widgets of forEach widget from page-switch managed widget. svghmi
2020-03-19 Edouard Tisserant SVGHMI: cosmetic changes svghmi
2020-03-19 Edouard Tisserant SVGHMI: Simplification and optimization. func:parselabel becomes a template. svghmi
2020-03-18 Edouard Tisserant SVGHMI: intermediate untested state. Excluded ForEach widget from pages handled widgets. svghmi
2020-03-18 Edouard Tisserant SVGHMI: update Makefile to pick all changes to any dependency svghmi
2020-03-18 Edouard Tisserant SVGHMI: created widget_*.ysl2. Renamed widget_common in widgets_common, so that it doesn't match globing. svghmi
2020-03-17 Edouard Tisserant SVGHMI: moving comments svghmi
2020-03-17 Edouard Tisserant SVGHMI: added widget_common.ysl2 svghmi
2020-03-17 Edouard Tisserant SVGHMI: More readable debug output gen code svghmi
2020-03-17 Edouard Tisserant SVGHMI: Cosmetic changes svghmi
2020-03-17 Edouard Tisserant SVGHMI: added inline_svg.ysl2 svghmi
2020-03-17 Edouard Tisserant SVGHMI: detachable_elements.ysl2 becomes detachable_pages.ysl2, and includes logic to process pages elements. Other minor code moves. svghmi
2020-03-17 Edouard Tisserant SVGHMI: moved debug code svghmi
2020-03-17 Edouard Tisserant SVGHMI: created detachable_elements.ysl2 svghmi
2020-03-17 Edouard Tisserant SVGHMI: more debug code moved to hmi_tree.ysl2 svghmi
2020-03-17 Edouard Tisserant SVGHMI : create hmi_tree.ysl2, rename bbox_intersect.ysl2 into geometry.ysl2 and move more code into. Add per included ysl2 file debug output. svghmi
2020-03-16 Edouard Tisserant SVGHMI: created bbox_intersect.ysl2 svghmi
2020-03-16 Edouard Tisserant SVGHMI: Re-enable dispatch to arrays of functions in case of multiple suscription per widget. Still unused, but disabled for reasons not any more true. svghmi
2020-03-13 Edouard Tisserant SVGHMI: relative pages and page jumps svghmi
2020-03-13 Edouard Tisserant SVGHMI: take care of path given in HMI:Page and HMI:Jump, but do not apply subscription offset for now. Intermediate commit in a "working" state. svghmi
2020-03-12 Edouard Tisserant SVGHMI: significant whitespace changes svghmi
2020-03-12 Edouard Tisserant SVGHMI: unsignificant changes or changes in generated code svghmi
2020-03-12 Edouard Tisserant SVGHMI: Stop ignoring HMI_NODE in HMI tree, and count it as a BOOL. Soon we use those nodes as reference for relative page jump, and as an "enable" bit for features associated to an HMI tree fragment. svghmi
2020-03-12 Edouard Tisserant SVGHMI: cosmetic code moving svghmi
2020-03-10 Edouard Tisserant SVGHMI: split page switch into switching subscription and switching elements in the DOM, to ensure that subscriptions have been send before changing DOM, and avoid some flicker. svghmi
2020-03-09 Edouard Tisserant SVGHMI: fix wrong updates of HMI variables on each change, especially when not subscribed. svghmi
2020-03-09 Edouard Tisserant SVGHMI: whitespaces svghmi
2020-03-06 Edouard Tisserant SVGHMI: fixed repeated error when Input widget is missing 'value' element svghmi
2020-03-06 Edouard Tisserant SVGHMI: more decoupling in between UI related and the rest of JS code, still in the aim of enhancing robustness under heavy load. svghmi
2020-03-06 Edouard Tisserant SVGHMI: use requestAnimationFrame to delegate rendering of updates from network. Should help prevent browser collapse leading to watchdog in case of overload. svghmi
2020-03-05 Edouard Tisserant SVGHMI: Fix disapearing elements in case of nested detachable elements. svghmi
2020-03-05 Edouard Tisserant SVGHMI: Meter widget accepts 2 arguments : min and max, taken in account when min or max text element is missing svghmi
2020-03-04 Edouard Tisserant SVGHMI: More precise error message on missing HMI path. Meter widget now defaults 0-100 range when min and max elements arent's present, without error. svghmi