forked from qt-creator/qt-creator
QmlDesigner: Remove QmlModelView::createQmlItemNode functions
Change-Id: I5c3f05beec22f056daa3419fac40ef837a655a8d Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
This commit is contained in:
committed by
Thomas Hartmann
parent
125eb66b79
commit
1fd9707dbb
@@ -152,7 +152,7 @@ void DragTool::createQmlItemNode(const ItemLibraryEntry &itemLibraryEntry, QmlIt
|
|||||||
FormEditorItem *parentItem = scene()->itemForQmlItemNode(parentNode);
|
FormEditorItem *parentItem = scene()->itemForQmlItemNode(parentNode);
|
||||||
QPointF pos = parentItem->mapFromScene(scenePos);
|
QPointF pos = parentItem->mapFromScene(scenePos);
|
||||||
|
|
||||||
m_dragNode = view()->createQmlItemNode(itemLibraryEntry, pos, parentNode);
|
m_dragNode = QmlItemNode::createQmlItemNode(view(), itemLibraryEntry, pos, parentNode);
|
||||||
|
|
||||||
Q_ASSERT(m_dragNode.modelNode().isValid());
|
Q_ASSERT(m_dragNode.modelNode().isValid());
|
||||||
|
|
||||||
@@ -171,7 +171,7 @@ void DragTool::createQmlItemNodeFromImage(const QString &imageName, QmlItemNode
|
|||||||
FormEditorItem *parentItem = scene()->itemForQmlItemNode(parentNode);
|
FormEditorItem *parentItem = scene()->itemForQmlItemNode(parentNode);
|
||||||
QPointF pos = parentItem->mapFromScene(scenePos);
|
QPointF pos = parentItem->mapFromScene(scenePos);
|
||||||
|
|
||||||
m_dragNode = view()->createQmlItemNodeFromImage(imageName, pos, parentNode);
|
m_dragNode = QmlItemNode::createQmlItemNodeFromImage(view(), imageName, pos, parentNode);
|
||||||
|
|
||||||
QList<QmlItemNode> nodeList;
|
QList<QmlItemNode> nodeList;
|
||||||
nodeList.append(m_dragNode);
|
nodeList.append(m_dragNode);
|
||||||
|
@@ -58,9 +58,6 @@ public:
|
|||||||
|
|
||||||
ModelNode createQmlState(const PropertyListType &propertyList = PropertyListType());
|
ModelNode createQmlState(const PropertyListType &propertyList = PropertyListType());
|
||||||
|
|
||||||
QmlItemNode createQmlItemNode(const ItemLibraryEntry &itemLibraryEntry, const QPointF &position, QmlItemNode parentNode);
|
|
||||||
QmlItemNode createQmlItemNodeFromImage(const QString &imageName, const QPointF &position, QmlItemNode parentNode);
|
|
||||||
|
|
||||||
QmlItemNode rootQmlItemNode() const;
|
QmlItemNode rootQmlItemNode() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@@ -80,83 +80,6 @@ QmlModelStateGroup QmlModelView::rootStateGroup() const
|
|||||||
return QmlModelStateGroup(rootModelNode());
|
return QmlModelStateGroup(rootModelNode());
|
||||||
}
|
}
|
||||||
|
|
||||||
QmlItemNode QmlModelView::createQmlItemNodeFromImage(const QString &imageName, const QPointF &position, QmlItemNode parentQmlItemNode)
|
|
||||||
{
|
|
||||||
if (!parentQmlItemNode.isValid() && rootQmlItemNode().isValid())
|
|
||||||
parentQmlItemNode = rootQmlItemNode();
|
|
||||||
else
|
|
||||||
return QmlItemNode();
|
|
||||||
|
|
||||||
QmlItemNode newQmlItemNode;
|
|
||||||
RewriterTransaction transaction = beginRewriterTransaction();
|
|
||||||
{
|
|
||||||
const QString newImportUrl = QLatin1String("QtQuick");
|
|
||||||
const QString newImportVersion = QLatin1String("1.1");
|
|
||||||
Import newImport = Import::createLibraryImport(newImportUrl, newImportVersion);
|
|
||||||
|
|
||||||
foreach (const Import &import, model()->imports()) {
|
|
||||||
if (import.isLibraryImport()
|
|
||||||
&& import.url() == newImport.url()) {
|
|
||||||
// reuse this import
|
|
||||||
newImport = import;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!model()->hasImport(newImport, true, true))
|
|
||||||
model()->changeImports(QList<Import>() << newImport, QList<Import>());
|
|
||||||
|
|
||||||
QList<QPair<PropertyName, QVariant> > propertyPairList;
|
|
||||||
propertyPairList.append(qMakePair(PropertyName("x"), QVariant( round(position.x(), 4))));
|
|
||||||
propertyPairList.append(qMakePair(PropertyName("y"), QVariant( round(position.y(), 4))));
|
|
||||||
|
|
||||||
QString relativeImageName = imageName;
|
|
||||||
|
|
||||||
//use relative path
|
|
||||||
if (QFileInfo(model()->fileUrl().toLocalFile()).exists()) {
|
|
||||||
QDir fileDir(QFileInfo(model()->fileUrl().toLocalFile()).absolutePath());
|
|
||||||
relativeImageName = fileDir.relativeFilePath(imageName);
|
|
||||||
}
|
|
||||||
|
|
||||||
propertyPairList.append(qMakePair(PropertyName("source"), QVariant(relativeImageName)));
|
|
||||||
NodeMetaInfo metaInfo = model()->metaInfo("QtQuick.Image");
|
|
||||||
if (metaInfo.isValid()) {
|
|
||||||
int minorVersion = metaInfo.minorVersion();
|
|
||||||
int majorVersion = metaInfo.majorVersion();
|
|
||||||
newQmlItemNode = QmlItemNode(createModelNode("QtQuick.Image", majorVersion, minorVersion, propertyPairList));
|
|
||||||
parentQmlItemNode.nodeAbstractProperty("data").reparentHere(newQmlItemNode);
|
|
||||||
}
|
|
||||||
|
|
||||||
Q_ASSERT(newQmlItemNode.isValid());
|
|
||||||
|
|
||||||
QString id;
|
|
||||||
int i = 1;
|
|
||||||
QString name("image");
|
|
||||||
name.remove(QLatin1Char(' '));
|
|
||||||
do {
|
|
||||||
id = name + QString::number(i);
|
|
||||||
i++;
|
|
||||||
} while (hasId(id)); //If the name already exists count upwards
|
|
||||||
|
|
||||||
newQmlItemNode.setId(id);
|
|
||||||
if (!currentState().isBaseState()) {
|
|
||||||
newQmlItemNode.modelNode().variantProperty("opacity").setValue(0);
|
|
||||||
newQmlItemNode.setVariantProperty("opacity", 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
Q_ASSERT(newQmlItemNode.isValid());
|
|
||||||
}
|
|
||||||
|
|
||||||
Q_ASSERT(newQmlItemNode.isValid());
|
|
||||||
|
|
||||||
return newQmlItemNode;
|
|
||||||
}
|
|
||||||
|
|
||||||
QmlItemNode QmlModelView::createQmlItemNode(const ItemLibraryEntry &itemLibraryEntry, const QPointF &position, QmlItemNode parentQmlItemNode)
|
|
||||||
{
|
|
||||||
return QmlItemNode::createQmlItemNode(this, itemLibraryEntry, position, parentQmlItemNode);
|
|
||||||
}
|
|
||||||
|
|
||||||
QmlItemNode QmlModelView::rootQmlItemNode() const
|
QmlItemNode QmlModelView::rootQmlItemNode() const
|
||||||
{
|
{
|
||||||
return QmlItemNode(rootModelNode());
|
return QmlItemNode(rootModelNode());
|
||||||
|
Reference in New Issue
Block a user