|
|
This is for doxygen, thus we use the .dox extension rather than .qdoc.
It's hard to dive into event delivery even in a simplified way without
starting with a scenario walkthrough, so that's how this starts, with
UML Object diagrams showing the delivery scenarios for single touch
press, move and release events to drag a DragHandler.
Then we end with some UML Activity Diagrams: an overview of the
generalized delivery process, neglecting all the complications like
filtering and touch->mouse synthesis.
Other scenarios will be described on different pages in following patches.
\mainpage starts a top-level subtree in the main left-side TOC, and
we need to specify a \subpage for each page to be added to that subtree;
but each page's contents can (and will) be defined in a separate file,
from which doxygen also generates a separate HTML file. We can also use
\ref to link pages together, to hint to the reader what (s)he ought to
read next.
An alternative approach would have been \defgroup to start a subtree
under Modules in left-side TOC, and other pages could use \ingroup to
insert themselves there. Calling a set of pages a "module" seems a bit
odd though. What is worse is that doxygen would then combine all the
\ingroup pages into one big page; heading sizes for \section and
\subsection get confusing; and it's hard to control the TOC subtree
ordering.
Process for generating scenario diagrams, AKA communication diagrams,
https://en.wikipedia.org/wiki/Communication_diagram which resemble UML
object instance diagrams with numbered arrows showing function calls:
- build and install umlquick into your local Qt build
- `$ qml ~/dev/umlquick/examples/objectInstancesTimer.qml
../../snippets/pointerHandlers/pinchAndDragHandlers.qml`
- close the qml window after the .dot file is generated
- use graphviz to render the generated .dot file to SVG:
`dot -Tsvg -O *.dot`
- open the svg file in Inkscape; add the arrows with numbered labels
- use kcharselect to find the "circled number" unicode glpyhs for
pasting into labels, and into the corresponding descriptive text
in the .dox file
Change-Id: I08c047610f08d3b91f556cdb37192963ecc5eb8f
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|