2021-02-16 Edouard Tisserant merge svghmi
2021-02-16 Edouard Tisserant SVGHMI: update generated XSLT svghmi
2021-02-16 Edouard Tisserant SVGHMI: little fix ihn i18n example. svghmi
2021-02-16 Edouard Tisserant 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. svghmi
2021-02-16 Edouard Tisserant 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. svghmi
2021-02-15 Edouard Tisserant SVGHMI: more straightforward implementation of dragging position computation in Scrollbar + some little fix about boundaries. svghmi
2021-02-14 Edouard Tisserant 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". svghmi
2021-02-14 Edouard Tisserant SVGHMI: update generated XSLT svghmi
2021-02-14 Edouard Tisserant SVGHMI: i18n: prevent creating messages.pot if no translation svghmi
2021-02-14 Edouard Tisserant 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. svghmi
2021-02-14 Edouard Tisserant SVGHMI: fix scrollbar not behaving when rotated. svghmi
2021-02-14 Edouard Tisserant SVGHMI: remove forgotten debug code svghmi
2021-02-12 Edouard Tisserant SVGHMI: Add a robust ScrollBar widget. HMI:ScrollBar@positionrange@size svghmi
2021-02-12 Edouard Tisserant SVGHMI: propagate default local variables (HMI_LOCAL, PAGE_LOCAL) to widgets at startup svghmi
2021-02-09 Edouard Tisserant SVGHMI: Update generated XSLT svghmi
2021-02-09 Edouard Tisserant SVGHMI: HMI:DropDown:#langs@lang now automatically shows human readable list of languages. tests/svghmi_i18n updated accordingly. svghmi
2021-02-09 Edouard Tisserant SVGHMI: Add a simple i18n test svghmi
2021-02-09 Edouard Tisserant SVGHMI: Prevent Dropdown widget to mak exception whe value out of range svghmi
2021-02-09 Edouard Tisserant SVGHMI: removed dead code svghmi
2021-02-09 Edouard Tisserant 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. svghmi
2021-02-09 Edouard Tisserant SVGHMI: Added HMI:VarInitPersistent to initialize persistent HMI_LOCAL and PAGE_LOCAL variables, stored as cookies in browser. svghmi
2021-02-09 Edouard Tisserant SVGHMI: Enforce formating HMI_LOCAL and PAGE_LOCAL variables until the end of variable name svghmi
2021-02-04 Edouard Tisserant 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 svghmi
2021-02-04 Edouard Tisserant SVGHMI: widget activable elements : moved code to wher it belongs, rewrote cleaner svghmi
2021-02-02 Edouard Tisserant SVGHMI: update generated XSLT svghmi
2021-02-02 Edouard Tisserant Merged svghmi
2021-02-02 Edouard Tisserant 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 svghmi
2021-02-02 Edouard Tisserant SVGHMI: Prevent excluded widget to appear in generated pages' widget list. svghmi
2021-02-02 Edouard Tisserant SVGHMI: Remove recursive walk in parsed widget to find unique type and use xsl:key instead. svghmi
2021-01-26 Edouard Tisserant 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. svghmi
2021-01-26 Edouard Tisserant SVGHMI : removed support for changing keyboard position and showing at user defined location. Feature was problematic in many respect. svghmi
2021-01-25 Edouard Tisserant SVGHMI: Make an error when pages are nested svghmi
2021-01-22 Edouard Tisserant SVGHMI: i18n: finished passing back translated messaged to xslt proc, finished template to generate corresponding javascript literals. svghmi
2021-01-22 Edouard Tisserant SVGHMI: i18n: various fixes about unicode encoding and converting translation result back to XML to feed xslt processor svghmi
2021-01-21 Edouard Tisserant SVGHMI: i18n: better warning messages, more explicit. svghmi
2021-01-21 Edouard Tisserant SVGHMI: i18n: now loads PO filesand match translation against catalog. Refactored a bit to move i18n related code in i18n.py svghmi
2021-01-19 Edouard Tisserant SVGHMI: still WIP, now POT file is properly generated with utf-8 encoding and POEdit is launched when pressing button. svghmi
2021-01-18 Edouard Tisserant Docutil : reworked Inkscape launching and path resolution in docsvg.py svghmi
2021-01-15 Edouard Tisserant merge svghmi
2021-01-13 Edouard Tisserant Removed harmful assert in ProcessLogger. svghmi
2021-01-15 Edouard Tisserant SVGHMI: Intermediate commit while implementing i18n. WIP. svghmi
2021-01-05 Edouard Tisserant 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. svghmi
2021-01-04 Edouard Tisserant SVGHMI: intermediate state of test/svghmi's SVG for backup... WIP svghmi
2021-01-04 Edouard Tisserant SVGHMI: CircularBar: use animate() + cormetic changes svghmi
2020-12-29 Edouard Tisserant SVGHMI: Meter widget: use animate() + cosmetic changes svghmi
2020-12-29 Edouard Tisserant SVGHMI: Update generated xslt svghmi
2020-12-29 Edouard Tisserant SVGHMI: Fix bug in keypad leading to error messages in browser console when keypas has no Shift or CapsLock keys svghmi
2020-12-29 Edouard Tisserant SVGHMI: cosmetic changes svghmi
2020-12-29 Edouard Tisserant SVGHMI: Input widget overrides undershot() and overshot() methods to display "min: xxx" or "max: xxx" when user input goes out of given range. svghmi
2020-12-29 Edouard Tisserant 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. svghmi
2020-12-24 Edouard Tisserant SVGHMI: decoupled operation string evaluation from HMI variable uptdate in change_hmi_variable(), paving the way for min/max boundaries enforcement svghmi
2020-12-24 Edouard Tisserant SVGHMI: Added parsing of min and max value that can be given as @path,min,max in widget description svghmi
2020-12-22 Edouard Tisserant Merged default in svghmi branch svghmi
2020-12-21 Edouard Tisserant WebInterface: better wording for wiping PLC content: "Repair" svghmi
2020-12-18 Edouard Tisserant SVGHMI: almost rewrote Input widget to make it new class based style. svghmi
2020-12-18 Edouard Tisserant runtime: added restart/reset button in web settings. Accidentaly fixed web settings logging feature. svghmi
2020-12-17 Edouard Tisserant SVGHMI: added dropdown selection highlighting and fixed scrolling so that it doesn't miss any entry while jumping from one page to the other. svghmi
2020-12-16 Edouard Tisserant 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. svghmi
2020-12-15 Edouard Tisserant SVGHMI: DropDown widget now using new class based style svghmi
2020-12-10 Edouard Tisserant Add a little test to see OnChange's .count .first .last in action svghmi
2020-12-10 Edouard Tisserant Fixed "Onchange" object added in previous commit svghmi
2020-12-10 Edouard Tisserant 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. svghmi
2020-12-07 Edouard Tisserant SVGHMI: cosmetic fixes in button widget svghmi
2020-12-05 Edouard Tisserant SVGHMI: Rewrote button widget. svghmi
2020-12-02 Edouard Tisserant SVGHMI: update generated XSLT svghmi
2020-12-02 Edouard Tisserant SVGHMI: stuff test so that it moves all the time, to have better chance to spot memory leaks... svghmi
2020-12-02 Edouard Tisserant SVGHMI: prevent unwnted context menu and pinch zoom svghmi
2020-12-02 Edouard Tisserant SVGHMI: more attempts to prevent losing memory in JS closure svghmi
2020-11-27 Edouard Tisserant SVGHMI: WIP trying to reduce memory usage : use .onclick onstead of SetAttribute, avoid useless closure and object creation when possible, etc. svghmi
2020-11-25 Edouard Tisserant SVGHMI: update generated xslt file svghmi
2020-11-25 Edouard Tisserant SVGHMI: use const when applicable svghmi
2020-11-25 Edouard Tisserant SVGHMI: prevents text and svg elements selection on the whole page when dragging. svghmi
2020-11-25 Edouard Tisserant SVGHMI: Update default test to check that Input widget is indeed updated when variable changes. svghmi
2020-11-25 Edouard Tisserant SVGHMI: Fix: on screen keyboard wasn't showing up when editing local variables through Input widget. svghmi
2020-11-20 Edouard Tisserant Project tree: avoid flickering and glitches in notebook when selecting some still not opened ConfigTreeNode svghmi
2020-11-18 Edouard Tisserant merge svghmi
2020-11-18 Edouard Tisserant py_ext: better handling of coma separated OnChange attribute for python safe global variables. svghmi
2020-11-18 Edouard Tisserant 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. svghmi
2020-11-02 Edouard Tisserant Allow customization of generated py_ext OnChange calls, by adding a static method to PythonFileCTNMixin that can the be later hot patched. svghmi
2020-10-28 Edouard Tisserant Arbitrary variables added to JsonTable subscription are now passed as 'extra' field in json query. As an example added JsonTable filtering in tests/svghmi svghmi
2020-10-22 Edouard Tisserant SVGHMI: Fix HMI_REAL support, and add a HMI_REAL use case in tests/svghmi. svghmi
2020-10-19 Edouard Tisserant merge svghmi
2020-10-19 Edouard Tisserant SVGHMI: JsonTable now outputs "visible" value as well. svghmi
2020-10-19 Edouard Tisserant SVGHMI: non significant cosmetic changes svghmi
2020-10-19 usveticic - New widget customHtml which allows to insert block of html code svghmi
2020-10-19 Edouard Tisserant PY_EXT: OnChange is now a coma separated list of callables. Updated tests/python accordingly. svghmi
2020-10-01 usveticic Button fix if no active or inactive state, svghmi
2020-09-30 usveticic Merge two different heads svghmi
2020-09-24 Edouard Tisserant SVGHMI: Documentation fix svghmi
2020-09-24 usveticic Button and toggle reworked to use animate and dispatch svghmi
2020-09-17 Edouard Tisserant Merge + fix side effects of making warning instead of errors in case of missing HMI variable svghmi
2020-09-16 usveticic Updated svg and xml for testing program svghmi
2020-09-16 usveticic Button, ToggleButton and slider updated. Error to warning when building svghmi
2020-09-15 Edouard Tisserant Modbus: fixed typo in ctype typing. svghmi
2020-09-11 Edouard Tisserant MODBUS: Fix saving of websettings. svghmi
2020-09-10 Edouard Tisserant 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. svghmi
2020-09-03 Edouard Tisserant SVGHMI: Better error message when inkscape is not installed. svghmi
2020-09-02 Edouard Tisserant SVGHMI: nicer error message svghmi
2020-09-01 Edouard Tisserant Merge svghmi
2020-08-31 Edouard Tisserant 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. svghmi
2020-08-28 Edouard Tisserant SVGHMI: JsonTable can now have clickable elements, that trigger a request with extra argument whose content is taken from Json data. svghmi
2020-08-28 Edouard Tisserant Merged svghmi
2020-08-28 Edouard Tisserant SVGHMI: cosmetic fix in test svghmi
2020-08-18 usveticic All widgets reworked to use widget class and animate function if needed svghmi
2020-08-27 Edouard Tisserant SVGHMI: Moved JsonTable/Alarm related test in a separate page. svghmi
2020-08-27 Edouard Tisserant SVGHMI: JsonTable now ignores elements and groups starting with # svghmi
2020-08-27 Edouard Tisserant SVGHMI: Fix keypad : non-number input was always considered invalid because of missing type checking. svghmi
2020-08-26 Edouard Tisserant SVGHMI: JsonTable now updates range and position variables so that slider widget can update. svghmi
2020-08-26 Edouard Tisserant SVGHMI: Fix multiple variable support in widget svghmi
2020-08-26 Edouard Tisserant SVGHMI: Add TODOs in Button widgets. svghmi
2020-08-26 Edouard Tisserant 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. svghmi
2020-08-25 Edouard Tisserant SVGHMI: little fix in HMI:Button svghmi
2020-08-25 Edouard Tisserant 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. svghmi
2020-08-24 Edouard Tisserant SVGHMI: removed debug code forgotten here and there. svghmi
2020-08-21 Edouard Tisserant SVGHMI: JsonTable now makes meaningfull JSON request : all arguments and variables are passed in. svghmi
2020-08-21 Edouard Tisserant 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. svghmi
2020-08-20 Edouard Tisserant SVGHMI: Behave when project path include spaces, and make more understandable error in case of problem extracting geometry with inkscape. svghmi
2020-08-20 Edouard Tisserant 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. svghmi
2020-08-20 Edouard Tisserant SVGHMI: Fix again clone unlinking, and this time add an "original" attribute to track the id of the original object before unlinking. svghmi
2020-08-17 Edouard Tisserant SVGHMI: Fix svg test file while testing latest JsonTableChanges svghmi