aboutsummaryrefslogtreecommitdiffstats
path: root/share/qtcreator/qml/qmlpuppet/mockfiles/DirectionalDraggable.qml
diff options
context:
space:
mode:
Diffstat (limited to 'share/qtcreator/qml/qmlpuppet/mockfiles/DirectionalDraggable.qml')
-rw-r--r--share/qtcreator/qml/qmlpuppet/mockfiles/DirectionalDraggable.qml47
1 files changed, 27 insertions, 20 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/mockfiles/DirectionalDraggable.qml b/share/qtcreator/qml/qmlpuppet/mockfiles/DirectionalDraggable.qml
index af24bac6fb..e88b9c4c51 100644
--- a/share/qtcreator/qml/qmlpuppet/mockfiles/DirectionalDraggable.qml
+++ b/share/qtcreator/qml/qmlpuppet/mockfiles/DirectionalDraggable.qml
@@ -36,6 +36,9 @@ Model {
property bool dragging: mouseAreaYZ.dragging || mouseAreaXZ.dragging
property bool active: false
property MouseArea3D dragHelper: null
+ property alias material: material
+ property real length: 12
+ property real offset: 0
readonly property bool hovering: mouseAreaYZ.hovering || mouseAreaXZ.hovering
@@ -43,17 +46,19 @@ Model {
property real _posPressed
property vector3d _targetStartPos
- signal pressed(var mouseArea)
- signal dragged(var mouseArea, vector3d sceneRelativeDistance, real relativeDistance)
- signal released(var mouseArea, vector3d sceneRelativeDistance, real relativeDistance)
+ signal pressed(var mouseArea, point screenPos)
+ signal dragged(var mouseArea, vector3d sceneRelativeDistance, real relativeDistance, point screenPos)
+ signal released(var mouseArea, vector3d sceneRelativeDistance, real relativeDistance, point screenPos)
- materials: DefaultMaterial {
+ DefaultMaterial {
id: material
emissiveColor: "white"
lighting: DefaultMaterial.NoLighting
}
- function handlePressed(mouseArea, planePos)
+ materials: [ material ]
+
+ function handlePressed(mouseArea, planePos, screenPos)
{
if (!targetNode)
return;
@@ -62,7 +67,7 @@ Model {
_posPressed = planePos.x;
_scenePosPressed = mouseArea.dragHelper.mapPositionToScene(maskedPosition);
_targetStartPos = mouseArea.pivotScenePosition(targetNode);
- pressed(mouseArea);
+ pressed(mouseArea, screenPos);
}
function calcRelativeDistance(mouseArea, planePos)
@@ -72,54 +77,56 @@ Model {
return scenePointerPos.minus(_scenePosPressed);
}
- function handleDragged(mouseArea, planePos)
+ function handleDragged(mouseArea, planePos, screenPos)
{
if (!targetNode)
return;
- dragged(mouseArea, calcRelativeDistance(mouseArea, planePos), planePos.x - _posPressed);
+ dragged(mouseArea, calcRelativeDistance(mouseArea, planePos), planePos.x - _posPressed, screenPos);
}
- function handleReleased(mouseArea, planePos)
+ function handleReleased(mouseArea, planePos, screenPos)
{
if (!targetNode)
return;
- released(mouseArea, calcRelativeDistance(mouseArea, planePos), planePos.x - _posPressed);
+ released(mouseArea, calcRelativeDistance(mouseArea, planePos), planePos.x - _posPressed, screenPos);
}
MouseArea3D {
id: mouseAreaYZ
view3D: rootModel.view3D
- x: 0
+ x: rootModel.offset
y: -1.5
- width: 12
+ width: rootModel.length
height: 3
eulerRotation: Qt.vector3d(0, 0, 90)
grabsMouse: targetNode
active: rootModel.active
dragHelper: rootModel.dragHelper
+ priority: 5
- onPressed: rootModel.handlePressed(mouseAreaYZ, planePos)
- onDragged: rootModel.handleDragged(mouseAreaYZ, planePos)
- onReleased: rootModel.handleReleased(mouseAreaYZ, planePos)
+ onPressed: rootModel.handlePressed(mouseAreaYZ, planePos, screenPos)
+ onDragged: rootModel.handleDragged(mouseAreaYZ, planePos, screenPos)
+ onReleased: rootModel.handleReleased(mouseAreaYZ, planePos, screenPos)
}
MouseArea3D {
id: mouseAreaXZ
view3D: rootModel.view3D
- x: 0
+ x: rootModel.offset
y: -1.5
- width: 12
+ width: rootModel.length
height: 3
eulerRotation: Qt.vector3d(0, 90, 90)
grabsMouse: targetNode
active: rootModel.active
dragHelper: rootModel.dragHelper
+ priority: 5
- onPressed: rootModel.handlePressed(mouseAreaXZ, planePos)
- onDragged: rootModel.handleDragged(mouseAreaXZ, planePos)
- onReleased: rootModel.handleReleased(mouseAreaXZ, planePos)
+ onPressed: rootModel.handlePressed(mouseAreaXZ, planePos, screenPos)
+ onDragged: rootModel.handleDragged(mouseAreaXZ, planePos, screenPos)
+ onReleased: rootModel.handleReleased(mouseAreaXZ, planePos, screenPos)
}
}