aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/doc/snippets/pointerHandlers/pinchAndDragHandlers.qml
Commit message (Collapse)AuthorAgeFilesLines
* internal doc: Start "QQ Pointer event delivery" with single-drag caseShawn Rutledge2023-07-121-0/+54
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>