Clicking undo, redo, delete, or save keyboard hotkeys while the Edit View 3D
has focus is working now.
Additionally this commit introduces a generic command for carrying any
variant data from puppet to creator side. This significantly simplifies
and avoids the boiler plate work of sending actions from puppet to
creator side. Current commands can be ported to use this generic
command but this is not part of this commit. Also a similar command to
work the other way around could be implemented.
Task-number: QDS-1266
Change-Id: I40fdf6b215ce77402250a791ea49cbdcd2a9d6eb
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
By default the workflow uses the Qt and Qt Creator version that the
wizard was triggered from. The user has to adapt these as needed.
Change-Id: I9dc38324756b571563fee64ddd3ed641f07a358f
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
For some reason the Qt meta system does not work reliable
for QVector3D. It does work "rotation", but not for "pivot",
despite the fact that both properties are defined in exactly the
same way.
This patch works around the main issue.
There are still a few issues left, but at least the default is
correct now.
Task-number: QDS-1355
Change-Id: I75e2d3adff6967e89c6ce031d744baa12b5e8061
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Also the 2D/3D action updates correctly according to Edit View 3D state.
Task-number: QDS-1385
Change-Id: I95d0994e9c56df25a2988eb9d27994268dd1903d
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
- Proxy dialog removed
- When the QDS window is minimized/maximized, the edit view 3D follows.
The opposite is not true (edit view 3D can be minimized separately).
- Edit view 3D is always on top of QDS window. Only exception is when
a popup is shown (so that the user can handle the popup).
- External apps go normally on top of the edit view 3D.
Known (non critical) issues:
- Activating the edit view 3D doesn't raise() the QDS window, so if an
external app is on top of the edit view 3D then the view is clicked,
the external app will be in between the view and the QDS window.
- Closing the edit view 3D from the x button doesnt work (causes a
restart). This is not in the scope of this commit.
Task-number: QDS-1179
Change-Id: I1dd72590037be295b94735de96772307ba14c59c
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Now edit view will create and remove cameras and light gizmos properly
when cameras and lights are added or deleted.
Change-Id: I858752c1410f3a40ea2adaf538c281aaee94ec58
Fixes: QDS-1267
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Using the MouseArea3D linked to gizmo to manage the drag leads to
slight unwanted drift on the drag plane, as it moves with the gizmo.
Fixed by using a helper MouseArea3D to calculate drag vector.
Helper area's transform is set at mouse press time and is not changed
during the drag.
Change-Id: I50d3f738277bd34005c977423d114abc8dbed520
Fixes: QDS-1312
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Selection box geometry update sets explicit global transform for
selection box root. The transform depends on the target node
parent, so if the parent changes, the box needs to be updated.
Change-Id: Iccf8b7e863bcfe541bbb4f60a4094739a7513e8d
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
- Create EditableListView for material management
- Add id list functionality to PropertyEditorValue
Task-number: QDS-1258
Task-number: QDS-1256
Change-Id: I1694648b36845b22f4773ecbd578d77c22c934e2
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Selection box for zero size items ended up being infinite, which broke
some functionality like fit to camera. Now boxes should be correctly
zero sized for non-model items. This also fixes issues with parent
box size if it has zero size children.
Change-Id: I3c8fae3ee971fbb0cf9e0de2615c107ce97a76f8
Fixes: QDS-1287
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
All the math before checking if the scaling axis is zero can cause
enough rounding errors to make qFuzzyIsNull to not think the value is
zero anymore, so check increase the check range.
Change-Id: I776d44886f061be6c1fd91c09eb8efcfb29e0936
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
When selected node has non-default rotation order or orientation,
gizmos need to account for that.
Change-Id: Ie3817fd057b43f708ac1feea3e98e1e44f56d66a
Fixes: QDS-1290
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Import creates an opaque Component, which can contain one or more
pickable models. We mark all instanceless models pickable according to
the parent instance pickable status and specify the parent instance
as the pick target using a dynamic property.
Change-Id: I05b96ee48eb8f246c50b2254d620b621e2437aa5
Fixes: QDS-1282
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
When changing the view by clicking the axis helper, maintain the
current view camera zoom
Task-number: QDS-1274
Change-Id: Icb502bd70da1e6348be90a52885366393ea072c6
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Qt for Python
* Add files with basic statements to execute a QApplication using ".ui" files
* Add files with basic statements to execute a QtQuick application
Task-number: QTCREATORBUG-21824
Change-Id: I6e69d82f2a6ba9c67ede96b36ecf4421f30f169f
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Multiselection works in 3D edit view with ctrl-click just like it
does on the Design Studio.
Change-Id: I266f2de11758bed064f44dd97cd79189e3e1f831
Fixes: QDS-1265
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
To integrate the 3D edit view in the qml2puppet process,
we create a dialog in the Qt Creator process.
This dialog acts as a proxy that manages the actual window.
For this I introduced a new command that allows showing, hiding, resizing
and moving of the 3D edit view.
The 3D edit view always follows the proxy dialog.
During moving and resizing we hide the window to avoid artefacts.
At this point in time the proxy widget is a dialog, but it could
also be a dockwidget or any other QWidget in the future.
Task-number: QDS-1179
Change-Id: I67ccab49eb2de9ba23098a67b2f9577f6c7fd3ac
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Fixes RealSpinBoxInput scroll behavior. Without this change the
RealSpinBox would block the ScrollView from getting mouse wheel events,
which means whenever the mouse is hovering over a RealSpinBox the
ScrollView can't be scrolled via the mouse wheel.
Change-Id: I4533e36700fc2652a9c246a0e30613c71258edaf
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Implement global/local, projection type, and default light controls UI.
Also small tweaks:
- Fixed ortho. camera near clipping
- Grid color darkened a bit
- Selection rect color changed to yellow
Task-number: QDS-1250
Change-Id: I03cf2023ee1b8a6a0768e4dbf7d6fee621a25ce2
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This patch introduces a new state called 'popup' to disable text editing
while the popup is opened and enables text editing whenever the popup is
closed.
Task-number: QDS-1262
Change-Id: I74ad4723d2cfe81447e94c37e9ba1f0913790d97
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Offsetting in scene space resulted in label being inconsistent distance
away from the object, depending on zoom and angle.
Change-Id: Ief555de664c042bb1a5c93af0ee7e5a1c3e7ce0a
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
If eyeball is turned off for object, it shouldn't be pickable in
3D edit view.
Change-Id: Ib9308aaaecc822f448591f249bd96ffb5d0c9c48
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Instead of centering edit camera on selected object, center it on
the selection box, which includes child objects.
Change-Id: I7315a4bcfffc74e72a2b21d0a04fc99ee9f4f3c3
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Object's selection box now includes the bounds of all of its
descendants. Selection boxes of immediate children of a selected
object are also drawn.
Individual/group selection buttons also now work as expected.
Change-Id: Ice7ef9a536e32c6bb6da70fe23bf0a38e72c14f8
Fixes: QDS-1210
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Shortcuts for scale and move were also updated to correct ones.
Change-Id: Iffcad0c81475553003962e65dc059879a237546e
Fixes: QDS-1235
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Axis helper shows up on top right corner of 3D edit view.
Clicking on axis helper arms zooms camera on that side of the selected
object.
Change-Id: Ibd81a933036f7965f825e3dc97ad7156da62e14c
Fixes: QDS-1205
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Existing mouse grab is now released when MouseArea3D is deactivated
or set to no longer grab the mouse. Various gizmos were also set
to follow MouseArea3D's dragging property instead of keeping track
of drag themselves.
Change-Id: I49f968f20b26eb222fc8635b943e9144073fb164
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>