qt5base-lts/tests/auto/widgets/kernel
Shawn Rutledge 4e400369c0 Refactor pointer event hierarchy
Some goals that have hopefully been achieved are:
- make QPointerEvent and QEventPoint resemble their Qt Quick
  counterparts to such an extent that we can remove those wrappers
  and go back to delivering the original events in Qt Quick
- make QEventPoint much smaller than QTouchEvent::TouchPoint, with no pimpl
- remove most public setters
- reduce the usage of complex constructors that take many arguments
- don't repeat ourselves: move accessors and storage upwards
  rather than having redundant ones in subclasses
- standardize the set of accessors in QPointerEvent
- maintain source compatibility as much as possible: do not require
  modifying event-handling code in any QWidget subclass

To avoid public setters we now introduce a few QMutable* subclasses.
This is a bit like the Builder pattern except that it doesn't involve
constructing a separate disposable object: the main event type can be
cast to the mutable type at any time to enable modifications, iff the
code is linked with gui-private. Therefore event classes can have
less-"complete" constructors, because internal Qt code can use setters
the same way it could use the ones in QTouchEvent before; and the event
classes don't need many friends. Even some read-accessors can be kept
private unless we are sure we want to expose them.

Task-number: QTBUG-46266
Fixes: QTBUG-72173
Change-Id: I740e4e40165b7bc41223d38b200bbc2b403e07b6
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-07-10 14:32:56 +02:00
..
qaction CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qactiongroup CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qapplication Refactor pointer event hierarchy 2020-07-10 14:32:56 +02:00
qboxlayout CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qformlayout CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qgesturerecognizer CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qgridlayout CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qlayout CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qshortcut Qt::Modifier: do some cleanups 2020-07-09 18:38:14 +02:00
qsizepolicy CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qstackedlayout CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qtooltip CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qwidget CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qwidget_window CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qwidgetaction CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qwidgetmetatype CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qwidgetsvariant CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qwindowcontainer CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
CMakeLists.txt CMake: Regenerate subdir test projects 2020-07-09 09:38:39 +02:00
kernel.pro Reduce QDesktopWidget API to bare minimum 2020-05-15 18:46:39 +02:00