summaryrefslogtreecommitdiffstats
path: root/src/core/nodes/nodes.pri
Commit message (Collapse)AuthorAgeFilesLines
* Make QAbstractNodeFactory privateSean Harmer2016-05-011-2/+2
| | | | | | Task-number: QTBUG-51497 Change-Id: I0517aead1f2ab004e3b5e053d96561d88feb060c Reviewed-by: Volker Krause <volker.krause@kdab.com>
* Add QNodeCreatedChangeGenerator helperSean Harmer2016-04-121-2/+4
| | | | | | | | | This can then be used by the QAspectEngine to create creation changes at startup and by QNodePrivate to generate creation changes for dynamic objects at runtime. Change-Id: Idf13fc249de7238a8c5803634a825bd86bc3c52a Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add QNodeDestroyedChange and send from QNode dtorSean Harmer2016-04-121-2/+4
| | | | | | | | Taking care not to do this recursively. One event can take care of notifying the backend of an entire sub-tree being destroyed. Change-Id: Iabf849317943b982eebac72e201e117c2f174026 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Introduce a non-template base class for PropertyChangeHandler.Volker Krause2016-02-081-2/+2
| | | | | | | | | | While my main intention was to get PropertyChangeHandler a meta object so its instances can be identified in GammaRay, this turned out to also help with minimizing template code, as half the methods don't actually depend on the template argument. Change-Id: I302a305db8ed0c864338d90c9795bf54155c790b Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Make QNodeVisitor privateKevin Ottens2015-12-031-1/+0
| | | | | Change-Id: Ie36f6f170b5b627d0ed371bcd1a8dc292e7226b3 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* d-pointer classes, private/public changesTomi Korpipää2015-10-301-0/+1
| | | | | | Change-Id: I4ca133aebad0c088296ab293f95f0a6d76d18395 Task-number: QTBUG-39946 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add "We mean it" warnings to private headersSean Harmer2015-10-131-1/+2
| | | | | Change-Id: Ic4a69123255c33990765ea3601e01914c2d8cb70 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Create proper Quick extended classes in scene loadersLaszlo Agocs2015-08-201-2/+4
| | | | | | | | | | | | This allows exploring the loaded subtrees from QML/Javascript code. The C++ classes are not suitable for this as they lack properties that involve QML specifics. The assimp (QML) example is updated to show how to do this (with the help of some C++ code). Say hello to the pulsating torus and the rotating monkey! Change-Id: I60401272105df5d72f4b7afebe26a3271e92f19e Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Rename QNodeUuid to QNodeIdSean Harmer2014-11-191-2/+2
| | | | | Change-Id: I0450a4d4708af1ccd3d4c8f2ddc5c9a5c9deca27 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Renamed nodevisitor.h/cpp to qnodevisitor.h/cppPaul Lemire2014-11-141-4/+4
| | | | | Change-Id: I338ece2a9819a7471f1c32b2712857641482b683 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNodeUuid is now a wrapper around quint64Paul Lemire2014-11-141-1/+2
| | | | | | Change-Id: Id8a12e7b7b4ea43cf75224d4176022a79a4bfe63 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
* QNodeUuid: typedef for QUuidPaul Lemire2014-11-021-1/+2
| | | | | | | Should allow to easily replace QUuid by a custom quint64 based struct Change-Id: Ib4ba57efd2e070317aa3417b37ce091f2b4779a0 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QBackendNodePaul Lemire2014-10-171-2/+6
| | | | | | | | | | | | | | | | | | QBackendNodeCreatorFunctor added to provide a way to create a backend tree classes from a frontend one. Can be readonly / readwrite -> observer / observer + observable QAbstractAspect now has a registerBackendType to register a QBackendNodeCreatorFunctor against a frontend type. QBackendObservable is replaced by this class. Follow-up commits will add a QBackendNoceCreatorFunctor for each backend class of the RendererAspect. Change-Id: I0b4398ce77408b52ffa0ba3dfdd04903cfd6091d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Renamed Component to QComponentPaul Lemire2014-07-051-3/+3
| | | | | Change-Id: Ifd585f5883e446d0569c38219d26ba581455e857 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Renamed Entity to QEntityPaul Lemire2014-07-051-3/+3
| | | | | Change-Id: I16b3d967e1244e3d47bffd36f6284a0e9ef0a89f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Renamed Node to QNodePaul Lemire2014-07-051-3/+3
| | | | | Change-Id: I0a0ebde1c107db8831b596eab1e512a2062979f7 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* d-pointer Component and use q-pointer already in QObjectPrivateSean Harmer2014-06-261-0/+1
| | | | | Change-Id: I68a4a629b36dfef941991e072274b693714f7e24 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* d-pointer and clean up EntitySean Harmer2014-06-081-1/+2
| | | | | Change-Id: Ia224ebb66ce41b72244d66d384d702a8721369d5 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* d-pointer NodeSean Harmer2014-06-081-0/+1
| | | | | Change-Id: I57da99c63b41106402b1991e7f2abeceea0680c7 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Removed EntityNodePaul Lemire2014-06-021-4/+2
| | | | | | | | | | | | Entity and EntityNode are back to being the same class. This is ground work needed to have a QML API based on extending C++ types rather than having two distincts API subclassing common interfaces. Note: this patch won't properly compile alone. It should be staged with follow-up patches. Change-Id: Icd98c6c687ca06f18056ebd7a2d6555a7ba7ffa3 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QQmlExtensionPlugins for Qt3DCore and Qt3DRendererPaul Lemire2014-05-251-4/+0
| | | | | | | | | | | | | | | | | Quick3D components for core and renderer have been moved to their own module. For each module, a QQmlExtensionPlugin has been created and is installed in qtbase/qml/Qt3D/. To use the Qml API, 3dquick needs to added in the .pro. 3dquickrenderer can be added if subclassing Quick3D elements defined in Renderer. Otherwise, appending it is not necessary as the Qml engine will automatically load the QQmlExtensionPlugin. Core has no more reference to the QML module. Qt3DRenderer still has references to the QML module which will be remove in follow up patches. Change-Id: I0cd5cbd27020c776b9eb8d1548514df2b1321bbd Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Abstract Entity, EntityNode and Quick3DEntityPaul Lemire2014-05-241-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because Node no longer holds QQmlListProperties, Entity which inherited Node could'nt be used to have nested children in Qml because there was no longer a data DefaultProperty. To solve that issue Entity has become an abstract class encapsulating most what an Entity used to contain. EntityNode is a class bound to be used by the C++ API and it subclasses Node and Entity. Regarding the Qml API, Quick3DEntity subclasses Quick3DNode and Entity. RenderSceneBuilder and NodeVisitor have been slightly modified to work with those changes but the backend is pretty much the same. The big change is that Entity is no longer a QObject and no logner inherits Node. That means Node and Entity have to be used along side on the backend. On the frontend or other Aspects subclassing EntityNode or Quick3DEntity should be pretty much the same as subclassing Entity prior this change. Component classes have not been touched so they cannot contain nested QtQuick2 elements in QML. As Entity and Nodes can hold QtQuick2 Components this isn't a big issue. Also as the DefaultProperty of each Component subclasses may differ, keeping them as they are at the moment could make sense. Note: This patch restored rendering. The code is a bit messy at the moment but necessary to keep commits small. Follow up patches will clean things up a bit and move the Qml and C++ API in distinct subprojects. Change-Id: Ia048812f51bbbd43ec2ee754b5120b7ec3174436 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Quick3DNodePaul Lemire2014-05-241-2/+4
| | | | | | | | | | | | | | | Qml frontend Entity for Qt3D::Node. All QQmlListProperty are now in Quick3DNode. Note : this breaks the rendering as the Qml FrameGraph is defined by FrameGraphItem elements that inherit Node. As node no longer has QQmlListProperties and a Default property, FrameGraphItem nodes cannot be added to the FrameGraph tree. The follow-up patches will correct that. Change-Id: Iac8cb89cffca8d604b003d546350bc0afdb1eb0e Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Renamed QmlEntity to Quick3DEntityPaul Lemire2014-05-241-2/+2
| | | | | | | To be consistent with the quick3d module name and other quick3d elements. Change-Id: Iaed819e9690a5c516aaadad2b62ecc4f25332853 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Added QmlEntityPaul Lemire2014-04-301-2/+4
| | | | | | | | | QmlEntity is a subclass of Entity. It contains a QmlListProperty of Components. It properly separates the C++ from Qml. Change-Id: I8004943e3a98fb3211309a38e022be71560f9951 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Reorganized sources to ease the move toward aspect pluginsPaul Lemire2014-03-251-0/+13
Change-Id: Id7a9b4575912239811a4ae527db5ac1e353949fd Reviewed-by: Sean Harmer <sean.harmer@kdab.com>