forked from qt-creator/qt-creator
QmlDesigner: Implement drag-n-drop materials to the 3D Editor
Fixes: QDS-7011 Change-Id: Id6e4aea2c19561ea861507480636ae2358ece067 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
@@ -239,6 +239,16 @@ void Edit3DView::customNotification(const AbstractView *view, const QString &ide
|
||||
resetPuppet();
|
||||
}
|
||||
|
||||
void Edit3DView::modelAtPosReady(const ModelNode &modelNode)
|
||||
{
|
||||
if (!m_droppedMaterial.isValid() || !modelNode.isValid())
|
||||
return;
|
||||
|
||||
executeInTransaction(__FUNCTION__, [&] {
|
||||
assignMaterialTo3dModel(modelNode, m_droppedMaterial);
|
||||
});
|
||||
}
|
||||
|
||||
void Edit3DView::sendInputEvent(QInputEvent *e) const
|
||||
{
|
||||
if (nodeInstanceView())
|
||||
@@ -605,5 +615,10 @@ void Edit3DView::addQuick3DImport()
|
||||
tr("Could not add QtQuick3D import to project."));
|
||||
}
|
||||
|
||||
void Edit3DView::dropMaterial(const ModelNode &matNode, const QPointF &pos)
|
||||
{
|
||||
m_droppedMaterial = matNode;
|
||||
QmlDesignerPlugin::instance()->viewManager().nodeInstanceView()->view3DAction({View3DActionCommand::GetModelAtPos, pos});
|
||||
}
|
||||
|
||||
} // namespace QmlDesigner
|
||||
|
||||
Reference in New Issue
Block a user