diff -r ffc8da83fdc2 -r 5c662d2e3f72 doc/svghmi/pages.rst --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/svghmi/pages.rst Fri Apr 05 13:11:30 2024 +0200 @@ -0,0 +1,96 @@ +Pages, Jumps and HMI_NODE relativity +==================================== + +Pages are full screen. Only one page is displayed at the same time. + +Page change is triggered by ``HMI:Jump`` and ``HMI:Back``, or by changing ``/CURRENTPAGE_N``. + +.. code-block:: text + + HMI:Page:PageName[@RootPath] + HMI:Jump:PageName[@RelativePath] + HMI:Back + +Absolute and relative pages +--------------------------- + +When ``[@RootPath]`` is given, page is relative. + +When using ``HMI:Jump`` to reach a relative page, a compatible +``[@RelativePath]`` may be provided. + +To be compatible, ``RootPath`` and ``RelativePath`` must both point to +HMI tree nodes of type ``HMI_NODE`` instanciated from same POU. + +Every widget using a path descendant of ``RootPath`` in a relative +page is relative. Relative widgets get the ``RootPath`` section of +their path replaced by ``RelativePath``. + +Relative page label:: + + HMI:Page:PageName + +Absolute page label:: + + HMI:Page:PageName@RootPath + +.. image:: svghmi_relative.svg + + +Jump and Back +------------- + + +``HMI:Jump`` can have ``inactive``, ``active`` and ``disabled`` labeled children: + + * ``inactive`` is shown when target page is not currently displayed + * ``active`` is shown when target page is currently displayed + * ``disabled`` is shown when relative page's RootPath is set to 0, disabling jump. + +Relative page label:: + + HMI:Jump:PageName[@RelativePath] + +Absolute page label:: + + HMI:Jump:PageName + + +``HMI:Back`` takes no parameter and just go back one step in page change history. + + +Special ``/CURRENTPAGE_N`` variable +----------------------------------- + +.. + TODO + + +Overlapping geometry +-------------------- + +If widget's bounding box is included in page bounding box, then widget is part of page. + +.. + TODO + + +References frames +----------------- + +References frames help to unclutter page and widgets. + +.. + TODO + +Screensaver +----------- + +.. + TODO + +Fading +------ + +.. + TODO