diff options
author | Liang Qi <liang.qi@qt.io> | 2018-01-20 22:39:09 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2018-01-20 22:39:09 +0100 |
commit | 35c23364c17b4a816f7bba94a09531c982a1c9ad (patch) | |
tree | 4489cb0561f29b428cde266777d25e8c17851f17 /src | |
parent | 0ed7385dbe0be4eca685bae23c56da979232e348 (diff) | |
parent | 1b96186d1418adcba85fdbfd794da2d2f6ea122d (diff) |
Merge remote-tracking branch 'origin/5.10' into dev
Change-Id: Ibcdccc2149539466475ce32f58a9a568705caf23
Diffstat (limited to 'src')
-rw-r--r-- | src/imports/handlers/plugins.qmltypes | 308 | ||||
-rw-r--r-- | src/quick/handlers/qquickpointerhandler.cpp | 2 | ||||
-rw-r--r-- | src/quick/handlers/qquickpointerhandler_p.h | 1 |
3 files changed, 311 insertions, 0 deletions
diff --git a/src/imports/handlers/plugins.qmltypes b/src/imports/handlers/plugins.qmltypes new file mode 100644 index 0000000000..f51e1e4bf3 --- /dev/null +++ b/src/imports/handlers/plugins.qmltypes @@ -0,0 +1,308 @@ +import QtQuick.tooling 1.2 + +// This file describes the plugin-supplied types contained in the library. +// It is used for QML tooling purposes only. +// +// This file was auto-generated by: +// 'qmlplugindump -nonrelocatable Qt.labs.handlers 1.0' + +Module { + dependencies: ["QtQuick 2.8"] + Component { + name: "QQuickDragAxis" + prototype: "QObject" + exports: ["Qt.labs.handlers/DragAxis 1.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Property { name: "minimum"; type: "double" } + Property { name: "maximum"; type: "double" } + Property { name: "enabled"; type: "bool" } + } + Component { + name: "QQuickDragHandler" + prototype: "QQuickSinglePointHandler" + exports: ["Qt.labs.handlers/DragHandler 1.0"] + exportMetaObjectRevisions: [0] + Property { name: "xAxis"; type: "QQuickDragAxis"; isReadonly: true; isPointer: true } + Property { name: "yAxis"; type: "QQuickDragAxis"; isReadonly: true; isPointer: true } + Property { name: "translation"; type: "QVector2D"; isReadonly: true } + Method { name: "enforceConstraints" } + } + Component { + name: "QQuickEventPoint" + prototype: "QObject" + exports: ["Qt.labs.handlers/EventPoint 1.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Enum { + name: "States" + values: { + "Pressed": 1, + "Updated": 2, + "Stationary": 4, + "Released": 8 + } + } + Enum { + name: "GrabState" + values: { + "GrabPassive": 1, + "UngrabPassive": 2, + "CancelGrabPassive": 3, + "OverrideGrabPassive": 4, + "GrabExclusive": 16, + "UngrabExclusive": 32, + "CancelGrabExclusive": 48 + } + } + Property { name: "event"; type: "QQuickPointerEvent"; isReadonly: true; isPointer: true } + Property { name: "position"; type: "QPointF"; isReadonly: true } + Property { name: "scenePosition"; type: "QPointF"; isReadonly: true } + Property { name: "scenePressPosition"; type: "QPointF"; isReadonly: true } + Property { name: "sceneGrabPosition"; type: "QPointF"; isReadonly: true } + Property { name: "state"; type: "State"; isReadonly: true } + Property { name: "pointId"; type: "int"; isReadonly: true } + Property { name: "timeHeld"; type: "double"; isReadonly: true } + Property { name: "velocity"; type: "QVector2D"; isReadonly: true } + Property { name: "accepted"; type: "bool" } + Property { name: "exclusiveGrabber"; type: "QObject"; isPointer: true } + } + Component { + name: "QQuickEventTouchPoint" + prototype: "QQuickEventPoint" + exports: ["Qt.labs.handlers/EventTouchPoint 1.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Property { name: "rotation"; type: "double"; isReadonly: true } + Property { name: "pressure"; type: "double"; isReadonly: true } + Property { name: "ellipseDiameters"; type: "QSizeF"; isReadonly: true } + Property { name: "uniqueId"; type: "QPointingDeviceUniqueId"; isReadonly: true } + } + Component { + name: "QQuickMultiPointHandler" + prototype: "QQuickPointerDeviceHandler" + Property { name: "minimumPointCount"; type: "int" } + Property { name: "maximumPointCount"; type: "int" } + Property { name: "pointDistanceThreshold"; type: "double" } + } + Component { + name: "QQuickPinchHandler" + prototype: "QQuickMultiPointHandler" + exports: ["Qt.labs.handlers/PinchHandler 1.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "PinchOrigin" + values: { + "FirstPoint": 0, + "PinchCenter": 1, + "TargetCenter": 2 + } + } + Property { name: "minimumScale"; type: "double" } + Property { name: "maximumScale"; type: "double" } + Property { name: "minimumRotation"; type: "double" } + Property { name: "maximumRotation"; type: "double" } + Property { name: "pinchOrigin"; type: "PinchOrigin" } + Property { name: "centroid"; type: "QPointF"; isReadonly: true } + Property { name: "centroidVelocity"; type: "QVector2D"; isReadonly: true } + Property { name: "scale"; type: "double"; isReadonly: true } + Property { name: "rotation"; type: "double"; isReadonly: true } + Property { name: "translation"; type: "QVector2D"; isReadonly: true } + Property { name: "minimumX"; type: "double" } + Property { name: "maximumX"; type: "double" } + Property { name: "minimumY"; type: "double" } + Property { name: "maximumY"; type: "double" } + Signal { name: "updated" } + } + Component { + name: "QQuickPointHandler" + prototype: "QQuickSinglePointHandler" + exports: ["Qt.labs.handlers/PointHandler 1.0"] + exportMetaObjectRevisions: [0] + Property { name: "translation"; type: "QVector2D"; isReadonly: true } + } + Component { + name: "QQuickPointerDevice" + prototype: "QObject" + exports: ["Qt.labs.handlers/PointerDevice 1.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Enum { + name: "DeviceType" + values: { + "UnknownDevice": 0, + "Mouse": 1, + "TouchScreen": 2, + "TouchPad": 4, + "Puck": 8, + "Stylus": 16, + "Airbrush": 32, + "AllDevices": 63 + } + } + Enum { + name: "DeviceTypes" + values: { + "UnknownDevice": 0, + "Mouse": 1, + "TouchScreen": 2, + "TouchPad": 4, + "Puck": 8, + "Stylus": 16, + "Airbrush": 32, + "AllDevices": 63 + } + } + Enum { + name: "PointerType" + values: { + "GenericPointer": 1, + "Finger": 2, + "Pen": 4, + "Eraser": 8, + "Cursor": 16, + "AllPointerTypes": 31 + } + } + Enum { + name: "PointerTypes" + values: { + "GenericPointer": 1, + "Finger": 2, + "Pen": 4, + "Eraser": 8, + "Cursor": 16, + "AllPointerTypes": 31 + } + } + Enum { + name: "CapabilityFlag" + values: { + "Position": 1, + "Area": 2, + "Pressure": 4, + "Velocity": 8, + "Scroll": 256, + "Hover": 512, + "Rotation": 1024, + "XTilt": 2048, + "YTilt": 4096 + } + } + Enum { + name: "Capabilities" + values: { + "Position": 1, + "Area": 2, + "Pressure": 4, + "Velocity": 8, + "Scroll": 256, + "Hover": 512, + "Rotation": 1024, + "XTilt": 2048, + "YTilt": 4096 + } + } + Property { name: "type"; type: "DeviceType"; isReadonly: true } + Property { name: "pointerType"; type: "PointerType"; isReadonly: true } + Property { name: "capabilities"; type: "Capabilities"; isReadonly: true } + Property { name: "maximumTouchPoints"; type: "int"; isReadonly: true } + Property { name: "buttonCount"; type: "int"; isReadonly: true } + Property { name: "name"; type: "string"; isReadonly: true } + Property { name: "uniqueId"; type: "QPointingDeviceUniqueId"; isReadonly: true } + } + Component { + name: "QQuickPointerDeviceHandler" + prototype: "QQuickPointerHandler" + Property { name: "acceptedDevices"; type: "QQuickPointerDevice::DeviceTypes" } + Property { name: "acceptedPointerTypes"; type: "QQuickPointerDevice::PointerTypes" } + Property { name: "acceptedModifiers"; type: "Qt::KeyboardModifiers" } + Method { + name: "setAcceptedDevices" + Parameter { name: "acceptedDevices"; type: "QQuickPointerDevice::DeviceTypes" } + } + Method { + name: "setAcceptedPointerTypes" + Parameter { name: "acceptedPointerTypes"; type: "QQuickPointerDevice::PointerTypes" } + } + Method { + name: "setAcceptedModifiers" + Parameter { name: "acceptedModifiers"; type: "Qt::KeyboardModifiers" } + } + } + Component { + name: "QQuickPointerEvent" + prototype: "QObject" + exports: ["Qt.labs.handlers/PointerEvent 1.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Property { name: "device"; type: "const QQuickPointerDevice"; isReadonly: true; isPointer: true } + Property { name: "modifiers"; type: "Qt::KeyboardModifiers"; isReadonly: true } + Property { name: "button"; type: "Qt::MouseButtons"; isReadonly: true } + Property { name: "buttons"; type: "Qt::MouseButtons"; isReadonly: true } + } + Component { + name: "QQuickPointerHandler" + prototype: "QObject" + exports: ["Qt.labs.handlers/PointerHandler 1.0"] + isCreatable: false + exportMetaObjectRevisions: [0] + Enum { + name: "GrabPermissions" + values: { + "TakeOverForbidden": 0, + "CanTakeOverFromHandlersOfSameType": 1, + "CanTakeOverFromHandlersOfDifferentType": 2, + "CanTakeOverFromItems": 4, + "CanTakeOverFromAnything": 15, + "ApprovesTakeOverByHandlersOfSameType": 16, + "ApprovesTakeOverByHandlersOfDifferentType": 32, + "ApprovesTakeOverByItems": 64, + "ApprovesCancellation": 128, + "ApprovesTakeOverByAnything": 240 + } + } + Property { name: "enabled"; type: "bool" } + Property { name: "active"; type: "bool"; isReadonly: true } + Property { name: "target"; type: "QQuickItem"; isPointer: true } + Property { name: "parent"; type: "QQuickItem"; isReadonly: true; isPointer: true } + Property { name: "grabPermissions"; type: "GrabPermissions" } + Signal { + name: "grabChanged" + Parameter { name: "point"; type: "QQuickEventPoint"; isPointer: true } + } + Signal { name: "grabPermissionChanged" } + Signal { + name: "canceled" + Parameter { name: "point"; type: "QQuickEventPoint"; isPointer: true } + } + } + Component { + name: "QQuickSinglePointHandler" + prototype: "QQuickPointerDeviceHandler" + Property { name: "acceptedButtons"; type: "Qt::MouseButtons" } + Property { name: "point"; type: "QQuickHandlerPoint"; isReadonly: true } + Signal { name: "singlePointGrabChanged" } + } + Component { + name: "QQuickTapHandler" + prototype: "QQuickSinglePointHandler" + exports: ["Qt.labs.handlers/TapHandler 1.0"] + exportMetaObjectRevisions: [0] + Enum { + name: "GesturePolicy" + values: { + "DragThreshold": 0, + "WithinBounds": 1, + "ReleaseWithinBounds": 2 + } + } + Property { name: "pressed"; type: "bool"; isReadonly: true } + Property { name: "tapCount"; type: "int"; isReadonly: true } + Property { name: "timeHeld"; type: "double"; isReadonly: true } + Property { name: "longPressThreshold"; type: "double" } + Property { name: "gesturePolicy"; type: "GesturePolicy" } + Signal { name: "tapped" } + Signal { name: "longPressed" } + } +} diff --git a/src/quick/handlers/qquickpointerhandler.cpp b/src/quick/handlers/qquickpointerhandler.cpp index 64bf1a8a8b..d6d3a52d95 100644 --- a/src/quick/handlers/qquickpointerhandler.cpp +++ b/src/quick/handlers/qquickpointerhandler.cpp @@ -331,7 +331,9 @@ void QQuickPointerHandler::setTarget(QQuickItem *target) if (m_target == target) return; + QQuickItem *oldTarget = m_target; m_target = target; + onTargetChanged(oldTarget); emit targetChanged(); } diff --git a/src/quick/handlers/qquickpointerhandler_p.h b/src/quick/handlers/qquickpointerhandler_p.h index 9a77dd714a..a601d8a0f6 100644 --- a/src/quick/handlers/qquickpointerhandler_p.h +++ b/src/quick/handlers/qquickpointerhandler_p.h @@ -117,6 +117,7 @@ protected: virtual bool wantsPointerEvent(QQuickPointerEvent *event); virtual void handlePointerEventImpl(QQuickPointerEvent *event); void setActive(bool active); + virtual void onTargetChanged(QQuickItem *oldTarget) { Q_UNUSED(oldTarget); } virtual void onActiveChanged() { } virtual void onGrabChanged(QQuickPointerHandler *grabber, QQuickEventPoint::GrabState stateChange, QQuickEventPoint *point); virtual bool canGrab(QQuickEventPoint *point); |