aboutsummaryrefslogtreecommitdiffstats
path: root/share/qtcreator/qml/qmlpuppet/mockfiles/MoveGizmo.qml
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@qt.io>2019-11-05 15:38:12 +0200
committerMiikka Heikkinen <miikka.heikkinen@qt.io>2019-11-08 12:54:06 +0000
commit862b7fa35c7e8cbc0e0b2367b83a1b63dbc43e70 (patch)
tree4f6b5f89bf8ec86499c7d07f171f8da94c5322eb /share/qtcreator/qml/qmlpuppet/mockfiles/MoveGizmo.qml
parentc67965fb2932a129ba6aa87875007fd5b70b24fd (diff)
QmlDesigner: Add planar move and scale handles to gizmos
Change-Id: Icae60ec35fc84d731243a005e97b174fa9a94815 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Diffstat (limited to 'share/qtcreator/qml/qmlpuppet/mockfiles/MoveGizmo.qml')
-rw-r--r--share/qtcreator/qml/qmlpuppet/mockfiles/MoveGizmo.qml127
1 files changed, 61 insertions, 66 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/mockfiles/MoveGizmo.qml b/share/qtcreator/qml/qmlpuppet/mockfiles/MoveGizmo.qml
index c035f9c85e..b8e6cdafb9 100644
--- a/share/qtcreator/qml/qmlpuppet/mockfiles/MoveGizmo.qml
+++ b/share/qtcreator/qml/qmlpuppet/mockfiles/MoveGizmo.qml
@@ -35,7 +35,8 @@ Node {
property Node targetNode: null
property bool globalOrientation: true
readonly property bool dragging: arrowX.dragging || arrowY.dragging || arrowZ.dragging
- || centerMouseArea.dragging
+ || planeX.dragging || planeY.dragging || planeZ.dragging
+ || centerBall.dragging
signal positionCommit()
signal positionMove()
@@ -45,7 +46,6 @@ Node {
Arrow {
id: arrowX
- objectName: "Arrow X"
rotation: Qt.vector3d(0, 0, -90)
targetNode: moveGizmo.targetNode
color: highlightOnHover && (hovering || dragging) ? Qt.lighter(Qt.rgba(1, 0, 0, 1))
@@ -59,7 +59,6 @@ Node {
Arrow {
id: arrowY
- objectName: "Arrow Y"
rotation: Qt.vector3d(0, 0, 0)
targetNode: moveGizmo.targetNode
color: highlightOnHover && (hovering || dragging) ? Qt.lighter(Qt.rgba(0, 0.6, 0, 1))
@@ -73,7 +72,6 @@ Node {
Arrow {
id: arrowZ
- objectName: "Arrow Z"
rotation: Qt.vector3d(90, 0, 0)
targetNode: moveGizmo.targetNode
color: highlightOnHover && (hovering || dragging) ? Qt.lighter(Qt.rgba(0, 0, 1, 1))
@@ -85,75 +83,72 @@ Node {
onPositionMove: moveGizmo.positionMove()
}
- }
+ PlanarMoveHandle {
+ id: planeX
- Model {
- id: centerBall
+ y: 10
+ z: 10
- source: "#Sphere"
- scale: Qt.vector3d(0.024, 0.024, 0.024)
- materials: DefaultMaterial {
- id: material
- emissiveColor: highlightOnHover
- && (centerMouseArea.hovering || centerMouseArea.dragging)
- ? Qt.lighter(Qt.rgba(0.5, 0.5, 0.5, 1))
- : Qt.rgba(0.5, 0.5, 0.5, 1)
- lighting: DefaultMaterial.NoLighting
+ rotation: Qt.vector3d(0, 90, 0)
+ targetNode: moveGizmo.targetNode
+ color: highlightOnHover && (hovering || dragging) ? Qt.lighter(Qt.rgba(1, 0, 0, 1))
+ : Qt.rgba(1, 0, 0, 1)
+ view3D: moveGizmo.view3D
+ active: moveGizmo.visible
+
+ onPositionCommit: moveGizmo.positionCommit()
+ onPositionMove: moveGizmo.positionMove()
}
- MouseArea3D {
- id: centerMouseArea
+ PlanarMoveHandle {
+ id: planeY
+
+ x: 10
+ z: 10
+
+ rotation: Qt.vector3d(90, 0, 0)
+ targetNode: moveGizmo.targetNode
+ color: highlightOnHover && (hovering || dragging) ? Qt.lighter(Qt.rgba(0, 0.6, 0, 1))
+ : Qt.rgba(0, 0.6, 0, 1)
view3D: moveGizmo.view3D
- x: -60
- y: -60
- width: 120
- height: 120
- rotation: view3D.camera.rotation
- grabsMouse: moveGizmo.targetNode
- priority: 1
active: moveGizmo.visible
- property var _pointerPosPressed
- property var _targetStartPos
-
- function localPos(scenePos)
- {
- var scenePointerPos = mapPositionToScene(scenePos);
- var sceneRelativeDistance = Qt.vector3d(
- scenePointerPos.x - _pointerPosPressed.x,
- scenePointerPos.y - _pointerPosPressed.y,
- scenePointerPos.z - _pointerPosPressed.z);
-
- var newScenePos = Qt.vector3d(
- _targetStartPos.x + sceneRelativeDistance.x,
- _targetStartPos.y + sceneRelativeDistance.y,
- _targetStartPos.z + sceneRelativeDistance.z);
-
- return moveGizmo.targetNode.parent.mapPositionFromScene(newScenePos);
- }
-
- onPressed: {
- if (!moveGizmo.targetNode)
- return;
-
- _pointerPosPressed = mapPositionToScene(scenePos);
- var sp = moveGizmo.targetNode.scenePosition;
- _targetStartPos = Qt.vector3d(sp.x, sp.y, sp.z);
- }
- onDragged: {
- if (!moveGizmo.targetNode)
- return;
-
- moveGizmo.targetNode.position = localPos(scenePos);
- moveGizmo.positionMove();
- }
- onReleased: {
- if (!moveGizmo.targetNode)
- return;
-
- moveGizmo.targetNode.position = localPos(scenePos);
- moveGizmo.positionCommit();
- }
+ onPositionCommit: moveGizmo.positionCommit()
+ onPositionMove: moveGizmo.positionMove()
}
+
+ PlanarMoveHandle {
+ id: planeZ
+
+ x: 10
+ y: 10
+
+ rotation: Qt.vector3d(0, 0, 0)
+ targetNode: moveGizmo.targetNode
+ color: highlightOnHover && (hovering || dragging) ? Qt.lighter(Qt.rgba(0, 0, 1, 1))
+ : Qt.rgba(0, 0, 1, 1)
+ view3D: moveGizmo.view3D
+ active: moveGizmo.visible
+
+ onPositionCommit: moveGizmo.positionCommit()
+ onPositionMove: moveGizmo.positionMove()
+ }
+ }
+
+ PlanarMoveHandle {
+ id: centerBall
+
+ source: "#Sphere"
+ color: highlightOnHover && (hovering || dragging) ? Qt.lighter(Qt.rgba(0.5, 0.5, 0.5, 1))
+ : Qt.rgba(0.5, 0.5, 0.5, 1)
+ rotation: view3D.camera.rotation
+ priority: 1
+ targetNode: moveGizmo.targetNode
+
+ view3D: moveGizmo.view3D
+ active: moveGizmo.visible
+
+ onPositionCommit: moveGizmo.positionCommit()
+ onPositionMove: moveGizmo.positionMove()
}
}