diff options
author | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2019-10-31 10:46:14 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2019-11-08 12:53:21 +0000 |
commit | c67965fb2932a129ba6aa87875007fd5b70b24fd (patch) | |
tree | 102dc22716b776fbe9a8e68ce5c4685bf84ee33c /share/qtcreator/qml/qmlpuppet/mockfiles/MoveGizmo.qml | |
parent | 96f3cef06ac52f2cb82aa4078306c673a040f839 (diff) |
QmlDesigner: Add ScaleGizmo to 3D edit view
ScaleGizmo allows scaling in the direction of local or global axes,
as well as uniform scaling. Any scale component cannot be made
negative with ScaleGizmo.
Change-Id: I9b98d9593e07ded340178b07b73fa1b72421ba20
Fixes: QDS-1195
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.qml | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/mockfiles/MoveGizmo.qml b/share/qtcreator/qml/qmlpuppet/mockfiles/MoveGizmo.qml index 7ad5a2a011..c035f9c85e 100644 --- a/share/qtcreator/qml/qmlpuppet/mockfiles/MoveGizmo.qml +++ b/share/qtcreator/qml/qmlpuppet/mockfiles/MoveGizmo.qml @@ -49,8 +49,9 @@ Node { rotation: Qt.vector3d(0, 0, -90) targetNode: moveGizmo.targetNode color: highlightOnHover && (hovering || dragging) ? Qt.lighter(Qt.rgba(1, 0, 0, 1)) - : Qt.rgba(1, 0, 0, 1) + : Qt.rgba(1, 0, 0, 1) view3D: moveGizmo.view3D + active: moveGizmo.visible onPositionCommit: moveGizmo.positionCommit() onPositionMove: moveGizmo.positionMove() @@ -61,9 +62,10 @@ Node { objectName: "Arrow Y" 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) + color: highlightOnHover && (hovering || dragging) ? Qt.lighter(Qt.rgba(0, 0.6, 0, 1)) + : Qt.rgba(0, 0.6, 0, 1) view3D: moveGizmo.view3D + active: moveGizmo.visible onPositionCommit: moveGizmo.positionCommit() onPositionMove: moveGizmo.positionMove() @@ -74,9 +76,10 @@ Node { objectName: "Arrow Z" 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) + 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() @@ -108,13 +111,14 @@ Node { rotation: view3D.camera.rotation grabsMouse: moveGizmo.targetNode priority: 1 + active: moveGizmo.visible property var _pointerPosPressed property var _targetStartPos - function posInParent(pointerPosition) + function localPos(scenePos) { - var scenePointerPos = mapPositionToScene(pointerPosition); + var scenePointerPos = mapPositionToScene(scenePos); var sceneRelativeDistance = Qt.vector3d( scenePointerPos.x - _pointerPosPressed.x, scenePointerPos.y - _pointerPosPressed.y, @@ -132,7 +136,7 @@ Node { if (!moveGizmo.targetNode) return; - _pointerPosPressed = mapPositionToScene(pointerPosition); + _pointerPosPressed = mapPositionToScene(scenePos); var sp = moveGizmo.targetNode.scenePosition; _targetStartPos = Qt.vector3d(sp.x, sp.y, sp.z); } @@ -140,14 +144,14 @@ Node { if (!moveGizmo.targetNode) return; - moveGizmo.targetNode.position = posInParent(pointerPosition); + moveGizmo.targetNode.position = localPos(scenePos); moveGizmo.positionMove(); } onReleased: { if (!moveGizmo.targetNode) return; - moveGizmo.targetNode.position = posInParent(pointerPosition); + moveGizmo.targetNode.position = localPos(scenePos); moveGizmo.positionCommit(); } } |