Commit Graph

26 Commits

Author SHA1 Message Date
Marco Bubke
0f9010d381 QmlDesigner: Introduce multiple node instance server
For capturing data we need a atomic mechanism. So in one
process multiple node instance server can be started and
then a command is send back that a scene is created. It
can be used to ensure that captured data of views is
up to date.

Task-number: QDS-2630
Change-Id: Iea8d0b036b6384c9c1b0f91af401f2b1f1978c12
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-09-11 08:57:42 +00:00
Tim Jenssen
4fe5b923cd Merge remote-tracking branch 'origin/qds-1.59' into 4.13
Change-Id: Ic720f3adab305c5ef8cd10e713ccabf510eff0c0
2020-08-13 06:39:40 +00:00
Marco Bubke
dc870f538d Prepare merge of qds-1.59 to 4.13
It is not compiling but we are closing this branch anyway.

Change-Id: If96318175d92ae492871d668d5c937c473fd05d5
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2020-08-13 06:24:10 +00:00
Marco Bubke
e43c7fdb1d QmlDesigner: Split messaging and process for puppets
This will make it easier to implement custom puppets. The new connection
manager will restucture the code and it add a mechanism to capture data
too.

Task-number: QDS-2529
Change-Id: I5d15c3303ef1c9a3e25ba197d350e0d561ce813a
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-08-10 12:53:30 +00:00
Miikka Heikkinen
60ff6b6577 QmlDesigner: Improve usage of QML items as quick3d textures
Quick3D Texture elements require some window signals to show QML item
as texture, so we fake them to make textures appear in form editor
and state preview. To prevent texture mirroring, flipV value
is force set at proxy creation. To keep state preview up to date,
we trigger multiple render passes if there are any QML items used
as texture sources in quick3D textures.

Task-number: QDS-2290
Change-Id: I16c34aad943213c0b737fdb073333be3bbd40f2d
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2020-06-25 08:07:41 +00:00
Miikka Heikkinen
a77ef4ca7f QmlDesigner: Port Edit 3D View to 5.15
Qt 5.15.0 is now the minimum version to enable Edit 3D view.

Change-Id: I15cee59e6a7665477825caa0ae412fc6ac7b570a
Fixes: QDS-1694
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2020-03-04 06:27:45 +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
ca42e48dac QmlDesigner: Keep Qt 3D scenes from crashing
If we do not set the source property of the Q3DSPresentationItem
nothing is actually rendered.

If a scene is rendered in the puppet we get an invalid OpenGL context
when rendering in the qml2puppet.

Change-Id: I74db0df7de759e830499967bc6985745be291856
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2018-07-31 12:41:54 +00:00
Thomas Hartmann
c919795a08 QmlPuppet: Bring back simplified NodeInstanceSignalSpy
A simplified version of NodeInstanceSignalSpy is required to track
sub objects. I moved all private API usage to QmlPrivateGate.

Change-Id: I86e3e5411eb43777a6b1ab5018a1b8fb9088c666
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-05-21 07:39:25 +00:00
Thomas Hartmann
e0a3e25491 Qml2Puppet: Introduce QmlPrivateGate
The goal is to avoid direct usage of private API.
Any access to private QML API is supposed to go through QmlPrivateGate.

NodeInstanceMetaObject is moved into QmlPrivateGate and renamed to just
MetaObject.

Change-Id: Iba0b574605e455b01e7b86306ec3ca47be7b4e58
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-05-19 12:04:41 +00:00
Tim Jenssen
de2f5f6339 remove NodeInstanceSignalSpy
Change-Id: Ia002967367e39ef9f8a6229e3c39d785382cc1a9
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2015-05-18 11:36:00 +00:00
Marco Bubke
37b1dc871f QmlDesigner: Merge GraphicalNodeInstance back in QuickItemNodeInstance
Change-Id: I2f5412887a66186d215e56101a63bacfda4f8e0a
Reviewed-by: Marco Bubke <marco.bubke@digia.com>
2014-04-17 18:02:06 +02:00
Marco Bubke
c7699c1121 QmlDesigner: Remove QuickWindowNodeInstance
Change-Id: I164b38286a4a4b1ff642c1cfdb8cd19477ad9fa1
Reviewed-by: Marco Bubke <marco.bubke@digia.com>
2014-04-17 18:01:42 +02: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
f68bd231c8 Revert "QmlDesigner: Remove NodeInstancesSignalSpy"
This is fixing some anchor movement bugs.

This reverts commit ae409f8bdf.

Change-Id: Ibe9b8b2601e2bcd1c249b5feda06fb3a29482f4b
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2013-05-21 13:08:10 +02:00
Eike Ziller
38b61177f6 Merge remote-tracking branch 'origin/2.7'
Conflicts:
	share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp
	share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.h
	tests/auto/treeviewfind/treeviewfind.pro

Change-Id: I1ec788373656c947b50d72df6c26c91312469692
2013-04-23 11:13:25 +02:00
Marco Bubke
457566974d QmlDesigner.Instances: adding LayoutNodeInstance
This class wraps a QQuickLayout.

Change-Id: Ib661ccb5bb5deb1acb87b9a4bef8da95cb4e40eb
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2013-04-22 17:39:04 +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
Eike Ziller
55de6a9fb9 Merge remote-tracking branch 'origin/2.7' into HEAD
Conflicts:
	src/plugins/coreplugin/generalsettings.cpp

Change-Id: Ic92d637fb92748b2bb40e1a2895ea5d0644b4646
2013-04-18 12:54:37 +02:00
Thomas Hartmann
58e280de2c QmlDesigner:Instances: Adding instance for QQuickWindow
This allows QuickWindowNodeInstance to return the content item
instead.

The function parentObject() in ObjectNodeInstance now knows
QQuickRootItem, because the parent of the root item should
is the windows (which is just a QObject but treated as item from us).

Change-Id: Ibaa7ccc8dd9346689cc4443ce0b594056feaa0cf
Reviewed-by: Marco Bubke <marco.bubke@digia.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2013-04-18 12:20:41 +02:00
Marco Bubke
ae409f8bdf QmlDesigner: Remove NodeInstancesSignalSpy
Not anymore needed.

Change-Id: Ia1f4d20138b43184b78fd4f39c391af524072dd2
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2013-03-18 16:45:39 +01:00
Marco Bubke
fb276230fe QmlDesigner.NodeInstances: Recover positioner support
Change-Id: Ib5e891a8563bfced2af93e4a516ef8f196e8ff1e
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2012-10-04 19:19:02 +02:00
Marco Bubke
18d34fef04 QmlDesigner.NodeInstances: Share NodeInstanceClientProxy between puppets
Change-Id: I49ffa49e45d12950150bedfa8452de4c89674ef8
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2012-10-01 17:10:28 +02:00
Marco Bubke
2fc24f27d1 QmlDesigner.NodeInstances: Rename SG to Quick
Change-Id: I2180704df244a715a078385a7ecbf852f41ca68f
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2012-09-26 18:22:19 +02: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
Marco Bubke
8fe3302329 QmlDesigner.NodeInstances: Move qmlpuppet to share
Change-Id: Id50d8c6130e9d5169a74015bc24e84de64eabfa7
Reviewed-on: http://codereview.qt.nokia.com/634
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com>
2011-06-22 18:24:36 +02:00