Commit Graph

25 Commits

Author SHA1 Message Date
Miikka Heikkinen
d076c59429 QmlDesigner: Block selection of hidden objects
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>
2019-11-26 10:36:51 +00:00
Thomas Hartmann
17dbc74cca QmlDesigner: Avoid reflection when setting values from puppet
When editing values in the puppet we did not take reflection into account.
This means that any changes we did from the puppet for notified back
from Qt Creator. Since those notifications are asynchronous this leads
to various issues especially when more than one axis (property) was modified
at once.

This patch avoids reflection. The notifications are 'flagged' and then
ignored in the Qt5InformationNodeInstanceServer.

While a node is moved we ignore any changes to that specific node.

Task-number: QDS-1191
Change-Id: Ic74e22ea71832ce12321f9085a7296c2a7d9893d
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-10-30 09:46:35 +00:00
Thomas Hartmann
ac84f8a457 QmlDesigner: Implement Quick3DNodeInstance wrapper
We use Quick3DNodeInstance as a proxy class to wrap QQuick3DNode.
The access to private API like QQuick3DNodePrivate::setIsHiddenInEditor()
is restriced by such proxy classes.

Change-Id: If5191c3b730359000cf983c3af206dcffa07be74
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Pasi Keränen <pasi.keranen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-10-21 11:30:19 +00:00
Thomas Hartmann
1900276c17 QmlDesigner: Enable 3D Edit View in Qt Quick Designer
If we find a QQuick3DViewport or the root node is a QQuick3DNode,
we create an 3D Edit View QQuickView for 3D editing in the 'editmode'.

This requires to not use the DesignerWindowManager for the 'editmode'.

The current implementation for the 3D Edit View is done in EditView3D.qml,
but can be replaced by a custom EditView class later. At this point in time
there is no hard dependency on QtQuick3D. Once we start to implement
more advanceded editing features, EditView3D.qml has to be replaced by a
custom C++ class with a hard dependency on QtQuick3D.

Currently the scene can be rotated around the 'y' axis, it is possible
to move the camera on the 'z' axis and the custom light can be turned
on and off. This is simply a proof of concept that the 3D Edit View
already allows some user interaction.

Change-Id: I96400e72b0853dde7939c693d1d7300f9c2ab142
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-10-09 10:07:11 +00:00
hjk
2e14df7561 Some clang-tidy -use-modernize-nullptr
Change-Id: I1bed5e85a5b7948d08502a72a10f80baa075c204
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-08-01 13:20:26 +00:00
hjk
39a38d5679 Wholesale conversion to #pragma once
Kudos to cgmb and https://github.com/cgmb/guardonce

Change-Id: Ifa8970734b8d43fd08c9260c645bdb0228633791
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-03-30 15:20:19 +00:00
Tobias Hunger
38cce7eb83 Update License according to agreement with Free Qt Foundation
* Update all files in share folder

Change-Id: I8a82c3eb2eb614d4339dd4c4e690f54b5f29d813
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2016-01-19 16:05:29 +00:00
Alessandro Portale
374f84acc7 Qt Quick Designer: License change to Qt Commercial + GPLv3
Change-Id: I7f7aecd02892b6c616cd148fa5d845e7bc0d3b4f
Reviewed-by: Tuukka Turunen <tuukka.turunen@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2015-09-18 12:12:57 +00:00
Tim Jenssen
3c9efc3e72 refactor NodeInstanceMetaObject
Reduce the use of NodeInstanceMetaObject in QtQuickDesigner code
to two static methods:
 - registerNodeInstanceMetaObject
 - createNewDynamicProperty

Change-Id: I0ef8ee96995184e968467b799147c6b4c80fbccc
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2015-05-18 13:27:03 +00:00
Eike Ziller
3c85058694 Update License
Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2015-01-16 12:37:56 +01:00
Eike Ziller
8295b503be License update
Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-10-09 11:41:44 +02:00
Marco Bubke
9818f714f4 QmlDesigner: Use the root NodeInstance for item collection
Change-Id: I0ed67997c371af8acb3db480446ea5d577380804
Reviewed-by: Marco Bubke <marco.bubke@digia.com>
2014-04-17 18:01:02 +02:00
Marco Bubke
3483365f01 QmlDesigner: Add root item getter to ServerNodeInstance
Change-Id: I9f31390b478d8638038998682fb606dea5d1c81a
Reviewed-by: Marco Bubke <marco.bubke@digia.com>
2014-04-16 17:16:03 +02:00
Robert Loehning
746c5d8863 Incremented year in copyright info
Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-01-08 08:29:47 +01:00
Marco Bubke
90ce3aec8b QmlDesigner: Test mode for qml puppet streams
Change-Id: I93128c60892900d6b4728569b84efb0ed835b51f
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2013-07-08 11:28:38 +02:00
Marco Bubke
b97422b710 QmlDesigner: Add container item support in node instances
Change-Id: I30e0d11346b8c63188d052b46656e7ede179e55d
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2013-05-30 14:11:57 +02:00
Marco Bubke
7976456002 QmlDesigner: Add content item hack
There is no stand content item interface, so try to work around to enable
snapping and anchoring.

Change-Id: Ib2eaf0d6c35e3ba289dd7d55b2ba4c064ad40748
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2013-05-22 14:45:43 +02:00
Marco Bubke
ff4457bb46 QmlDesigner: Prepare for other layout items
Change-Id: I831e68877eb3d785b4bbb99db002ab8e42158d75
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2013-04-22 17:03:37 +02:00
Marco Bubke
40b62e1cfa QmlDesigner: Add GraphicalNodeInstance as abstraction for item and window
Change-Id: Icaba711464f672a3bfbb9d83a449d47e72ba11ff
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2013-04-22 17:03:23 +02:00
Marco Bubke
de822ec5ca QmlDesigner: Remove old paint function in instances
Change-Id: I5da0c624b467448dc6f16a88fa3ad3682f423c20
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2013-04-16 16:52:11 +02:00
Marco Bubke
359ef53280 QmlDesigner: Move implementation code in the node instances
updateDirtyNodeRecursive and renderPreviewImage belongs to quick image and
not in the node instance server.

Change-Id: I629b89c748036c0614e78bcfa0c837cb16ca6374
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2013-04-15 13:53:53 +02:00
Thomas Hartmann
d204ee0b43 QmlDesigner: Type of the propertyname is now PropertyName
And PropertyName is a typedef for QByteArray. Because we don't use the
features of QString and the source would be cluttered with QLatin1Strings
we changed the property name to QByteArray.

Change-Id: Ib70ef136bbc411504b450456bd9bb705ae93dd25
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
(cherry picked from commit ee4bf638ca)
Reviewed-by: Marco Bubke <marco.bubke@digia.com>
2013-03-25 13:35:11 +01:00
Robert Loehning
a040424d2a Incremented year in copyright info
Change-Id: Ia11f4d7a94465de7f12cc390855e54e3256e5455
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-02-01 09:19:26 +01:00
Thomas Hartmann
0fd35fcc2e QmlDesigner.puppet: licence header fix
Task-number: QTCREATORBUG-8189

Change-Id: Ib1862dee47b3e340492c9321b9db92a7fe2b4786
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-06 15:43:07 +01:00
Marco Bubke
770ab68c45 QmlDesigner.Instances: Refactor the qml2 puppet
Change-Id: Iaa7a744ecf13e011addc573a381ea523d2d50a55
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2012-09-24 11:46:20 +02:00