- 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-16, by Edouard Tisserant
- SVGHMI: more straightforward implementation of dragging position computation in Scrollbar + some little fix about boundaries. svghmi 2021-02-15, by 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, by Edouard Tisserant
- SVGHMI: update generated XSLT svghmi 2021-02-14, by Edouard Tisserant
- SVGHMI: i18n: prevent creating messages.pot if no translation svghmi 2021-02-14, by 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, by Edouard Tisserant
- SVGHMI: fix scrollbar not behaving when rotated. svghmi 2021-02-14, by Edouard Tisserant
- SVGHMI: remove forgotten debug code svghmi 2021-02-14, by Edouard Tisserant
- SVGHMI: Add a robust ScrollBar widget. HMI:ScrollBar@positionrange@size svghmi 2021-02-12, by Edouard Tisserant
- SVGHMI: propagate default local variables (HMI_LOCAL, PAGE_LOCAL) to widgets at startup svghmi 2021-02-12, by Edouard Tisserant
- SVGHMI: Update generated XSLT svghmi 2021-02-09, by Edouard Tisserant
- SVGHMI: HMI:DropDown:#langs@lang now automatically shows human readable list of languages. tests/svghmi_i18n updated accordingly. svghmi 2021-02-09, by Edouard Tisserant
- SVGHMI: Add a simple i18n test svghmi 2021-02-09, by Edouard Tisserant
- SVGHMI: Prevent Dropdown widget to mak exception whe value out of range svghmi 2021-02-09, by Edouard Tisserant
- SVGHMI: removed dead code svghmi 2021-02-09, by 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, by Edouard Tisserant
- SVGHMI: Added HMI:VarInitPersistent to initialize persistent HMI_LOCAL and PAGE_LOCAL variables, stored as cookies in browser. svghmi 2021-02-09, by Edouard Tisserant
- SVGHMI: Enforce formating HMI_LOCAL and PAGE_LOCAL variables until the end of variable name svghmi 2021-02-09, by 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, by Edouard Tisserant
- SVGHMI: widget activable elements : moved code to wher it belongs, rewrote cleaner svghmi 2021-02-04, by Edouard Tisserant
- SVGHMI: update generated XSLT svghmi 2021-02-02, by Edouard Tisserant
- Merged svghmi 2021-02-02, by 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, by Edouard Tisserant
- SVGHMI: Prevent excluded widget to appear in generated pages' widget list. svghmi 2021-02-02, by Edouard Tisserant
- SVGHMI: Remove recursive walk in parsed widget to find unique type and use xsl:key instead. svghmi 2021-02-02, by 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, by Edouard Tisserant
- SVGHMI : removed support for changing keyboard position and showing at user defined location. Feature was problematic in many respect. svghmi 2021-01-26, by Edouard Tisserant
- SVGHMI: Make an error when pages are nested svghmi 2021-01-25, by Edouard Tisserant
- SVGHMI: i18n: finished passing back translated messaged to xslt proc, finished template to generate corresponding javascript literals. svghmi 2021-01-22, by Edouard Tisserant
- SVGHMI: i18n: various fixes about unicode encoding and converting translation result back to XML to feed xslt processor svghmi 2021-01-22, by Edouard Tisserant
- SVGHMI: i18n: better warning messages, more explicit. svghmi 2021-01-21, by 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-21, by 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-19, by Edouard Tisserant
- Docutil : reworked Inkscape launching and path resolution in docsvg.py svghmi 2021-01-18, by Edouard Tisserant
- merge svghmi 2021-01-15, by Edouard Tisserant
- Removed harmful assert in ProcessLogger. svghmi 2021-01-13, by Edouard Tisserant
- SVGHMI: Intermediate commit while implementing i18n. WIP. svghmi 2021-01-15, by 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-05, by Edouard Tisserant
- SVGHMI: intermediate state of test/svghmi's SVG for backup... WIP svghmi 2021-01-04, by Edouard Tisserant
- SVGHMI: CircularBar: use animate() + cormetic changes svghmi 2021-01-04, by Edouard Tisserant
- SVGHMI: Meter widget: use animate() + cosmetic changes svghmi 2020-12-29, by Edouard Tisserant
- SVGHMI: Update generated xslt svghmi 2020-12-29, by 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, by Edouard Tisserant
- SVGHMI: cosmetic changes svghmi 2020-12-29, by 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, by 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-29, by 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, by Edouard Tisserant
- SVGHMI: Added parsing of min and max value that can be given as @path,min,max in widget description svghmi 2020-12-24, by Edouard Tisserant
- Merged default in svghmi branch svghmi 2020-12-22, by Edouard Tisserant
- WebInterface: better wording for wiping PLC content: "Repair" svghmi 2020-12-21, by Edouard Tisserant
- SVGHMI: almost rewrote Input widget to make it new class based style. svghmi 2020-12-18, by Edouard Tisserant
- runtime: added restart/reset button in web settings. Accidentaly fixed web settings logging feature. svghmi 2020-12-18, by 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-17, by 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-16, by Edouard Tisserant
- SVGHMI: DropDown widget now using new class based style svghmi 2020-12-15, by Edouard Tisserant
- Add a little test to see OnChange's .count .first .last in action svghmi 2020-12-10, by Edouard Tisserant
- Fixed "Onchange" object added in previous commit svghmi 2020-12-10, by 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-10, by Edouard Tisserant
- SVGHMI: cosmetic fixes in button widget svghmi 2020-12-07, by Edouard Tisserant
- SVGHMI: Rewrote button widget. svghmi 2020-12-05, by Edouard Tisserant
- SVGHMI: update generated XSLT svghmi 2020-12-02, by Edouard Tisserant
- SVGHMI: stuff test so that it moves all the time, to have better chance to spot memory leaks... svghmi 2020-12-02, by Edouard Tisserant
- SVGHMI: prevent unwnted context menu and pinch zoom svghmi 2020-12-02, by Edouard Tisserant
- SVGHMI: more attempts to prevent losing memory in JS closure svghmi 2020-12-02, by 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-27, by Edouard Tisserant
- SVGHMI: update generated xslt file svghmi 2020-11-25, by Edouard Tisserant
- SVGHMI: use const when applicable svghmi 2020-11-25, by Edouard Tisserant
- SVGHMI: prevents text and svg elements selection on the whole page when dragging. svghmi 2020-11-25, by Edouard Tisserant
- SVGHMI: Update default test to check that Input widget is indeed updated when variable changes. svghmi 2020-11-25, by Edouard Tisserant
- SVGHMI: Fix: on screen keyboard wasn't showing up when editing local variables through Input widget. svghmi 2020-11-25, by Edouard Tisserant
- Project tree: avoid flickering and glitches in notebook when selecting some still not opened ConfigTreeNode svghmi 2020-11-20, by Edouard Tisserant
- merge svghmi 2020-11-18, by Edouard Tisserant
- py_ext: better handling of coma separated OnChange attribute for python safe global variables. svghmi 2020-11-18, by 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-18, by 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-11-02, by 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-28, by Edouard Tisserant
- SVGHMI: Fix HMI_REAL support, and add a HMI_REAL use case in tests/svghmi. svghmi 2020-10-22, by Edouard Tisserant
- merge svghmi 2020-10-20, by Edouard Tisserant
- SVGHMI: JsonTable now outputs "visible" value as well. svghmi 2020-10-19, by Edouard Tisserant
- SVGHMI: non significant cosmetic changes svghmi 2020-10-19, by Edouard Tisserant
- - New widget customHtml which allows to insert block of html code svghmi 2020-10-19, by usveticic
- PY_EXT: OnChange is now a coma separated list of callables. Updated tests/python accordingly. svghmi 2020-10-20, by Edouard Tisserant
- Button fix if no active or inactive state, svghmi 2020-10-01, by usveticic
- Merge two different heads svghmi 2020-09-30, by usveticic
- SVGHMI: Documentation fix svghmi 2020-09-24, by Edouard Tisserant
- Button and toggle reworked to use animate and dispatch svghmi 2020-09-24, by usveticic
- Merge + fix side effects of making warning instead of errors in case of missing HMI variable svghmi 2020-09-17, by Edouard Tisserant
- Updated svg and xml for testing program svghmi 2020-09-16, by usveticic
- Button, ToggleButton and slider updated. Error to warning when building svghmi 2020-09-16, by usveticic
- Modbus: fixed typo in ctype typing. svghmi 2020-09-15, by Edouard Tisserant
- MODBUS: Fix saving of websettings. svghmi 2020-09-11, by 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-10, by Edouard Tisserant
- SVGHMI: Better error message when inkscape is not installed. svghmi 2020-09-03, by Edouard Tisserant
- SVGHMI: nicer error message svghmi 2020-09-02, by Edouard Tisserant
- Merge svghmi 2020-09-01, by 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-31, by 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, by Edouard Tisserant
- Merged svghmi 2020-08-28, by Edouard Tisserant
- SVGHMI: cosmetic fix in test svghmi 2020-08-28, by Edouard Tisserant
- All widgets reworked to use widget class and animate function if needed svghmi 2020-08-18, by usveticic
- SVGHMI: Moved JsonTable/Alarm related test in a separate page. svghmi 2020-08-27, by Edouard Tisserant
- SVGHMI: JsonTable now ignores elements and groups starting with # svghmi 2020-08-27, by Edouard Tisserant
- SVGHMI: Fix keypad : non-number input was always considered invalid because of missing type checking. svghmi 2020-08-27, by Edouard Tisserant
- SVGHMI: JsonTable now updates range and position variables so that slider widget can update. svghmi 2020-08-26, by Edouard Tisserant
- SVGHMI: Fix multiple variable support in widget svghmi 2020-08-26, by Edouard Tisserant
- SVGHMI: Add TODOs in Button widgets. svghmi 2020-08-26, by 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-26, by Edouard Tisserant
- SVGHMI: little fix in HMI:Button svghmi 2020-08-25, by 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-25, by Edouard Tisserant
- SVGHMI: removed debug code forgotten here and there. svghmi 2020-08-24, by Edouard Tisserant
- SVGHMI: JsonTable now makes meaningfull JSON request : all arguments and variables are passed in. svghmi 2020-08-21, by 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-21, by 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, by 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, by 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-20, by Edouard Tisserant
- SVGHMI: Fix svg test file while testing latest JsonTableChanges svghmi 2020-08-17, by Edouard Tisserant
- SVGHMI: HMI:JsonTable also recognize TextStyleList, but parsing of textContent is still not implemented and style is still not updated. svghmi 2020-08-15, by Edouard Tisserant
- SVGHMI: Deeper clone unlinking. Was actually not recursive, and clones in clones where not unlinked. Stack successive ids to avoid collisions. svghmi 2020-08-15, by Edouard Tisserant
- SVGHMI: factorize dispatch calling logic. svghmi 2020-08-13, by Edouard Tisserant
- 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. svghmi 2020-08-13, by Edouard Tisserant