Files
qt-creator/share/qtcreator/qml/qmlpuppet/mockfiles/qt6/ModelNode3DImageView.qml
Miikka Heikkinen 56028311f1 QmlDesigner: Remove dummy View3D workaround
The underlying issue requiring the workaround has been fixed in Qt6.

Change-Id: I36ca14112ae86a558be0cfc43c192e26dfde7efd
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2021-11-26 08:21:53 +00:00

120 lines
3.6 KiB
QML

/****************************************************************************
**
** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/
import QtQuick 6.0
import QtQuick3D 6.0
Item {
id: root
width: 150
height: 150
visible: true
property View3D view: null
property alias contentItem: contentItem
property var previewObject
property var materialViewComponent
property var modelViewComponent
property var nodeViewComponent
property bool ready: false
function destroyView()
{
previewObject = null;
if (view)
view.destroy();
}
function createViewForObject(obj)
{
if (obj instanceof Material)
createViewForMaterial(obj);
else if (obj instanceof Model)
createViewForModel(obj);
else if (obj instanceof Node)
createViewForNode(obj);
previewObject = obj;
}
function createViewForMaterial(material)
{
if (!materialViewComponent)
materialViewComponent = Qt.createComponent("MaterialNodeView.qml");
// Always recreate the view to ensure material is up to date
if (materialViewComponent.status === Component.Ready)
view = materialViewComponent.createObject(viewRect, {"previewMaterial": material});
}
function createViewForModel(model)
{
if (!modelViewComponent)
modelViewComponent = Qt.createComponent("ModelNodeView.qml");
// Always recreate the view to ensure model is up to date
if (modelViewComponent.status === Component.Ready)
view = modelViewComponent.createObject(viewRect, {"sourceModel": model});
}
function createViewForNode(node)
{
if (!nodeViewComponent)
nodeViewComponent = Qt.createComponent("NodeNodeView.qml");
// Always recreate the view to ensure node is up to date
if (nodeViewComponent.status === Component.Ready)
view = nodeViewComponent.createObject(viewRect, {"importScene": node});
}
function afterRender()
{
if (previewObject instanceof Node) {
view.fitToViewPort();
ready = view.ready;
} else {
ready = true;
}
}
Item {
id: contentItem
anchors.fill: parent
Rectangle {
id: viewRect
anchors.fill: parent
gradient: Gradient {
GradientStop { position: 1.0; color: "#222222" }
GradientStop { position: 0.0; color: "#999999" }
}
}
}
}