Project: Add setRootProjectNode method

Add setRootProjectNode method and a default implementation of
rootProjectNode to Project. Use that in all derived classes.

Change-Id: Id28cde04457a20a8963d43020785ef9d77fea57c
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
This commit is contained in:
Tobias Hunger
2016-01-08 12:49:00 +01:00
parent 219b2d9c16
commit d144ea58e0
28 changed files with 101 additions and 159 deletions

View File

@@ -65,14 +65,13 @@ QmlProject::QmlProject(Internal::Manager *manager, const Utils::FileName &fileNa
setProjectManager(manager);
setDocument(new Internal::QmlProjectFile(this, fileName));
DocumentManager::addDocument(document(), true);
setRootProjectNode(new Internal::QmlProjectNode(this));
setProjectContext(Context(QmlProjectManager::Constants::PROJECTCONTEXT));
setProjectLanguages(Context(ProjectExplorer::Constants::LANG_QMLJS));
m_projectName = projectFilePath().toFileInfo().completeBaseName();
m_rootNode = new Internal::QmlProjectNode(this);
projectManager()->registerProject(this);
}
@@ -81,7 +80,6 @@ QmlProject::~QmlProject()
projectManager()->unregisterProject(this);
delete m_projectItem.data();
delete m_rootNode;
}
void QmlProject::addedTarget(Target *target)
@@ -177,7 +175,7 @@ void QmlProject::parseProject(RefreshOptions options)
}
}
}
m_rootNode->refresh();
rootProjectNode()->refresh();
}
if (options & Configuration) {
@@ -193,7 +191,7 @@ void QmlProject::refresh(RefreshOptions options)
parseProject(options);
if (options & Files)
m_rootNode->refresh();
rootProjectNode()->refresh();
if (!modelManager())
return;
@@ -323,9 +321,9 @@ bool QmlProject::supportsKit(Kit *k, QString *errorMessage) const
return true;
}
ProjectNode *QmlProject::rootProjectNode() const
Internal::QmlProjectNode *QmlProject::rootProjectNode() const
{
return m_rootNode;
return static_cast<Internal::QmlProjectNode *>(Project::rootProjectNode());
}
QStringList QmlProject::files(FilesMode) const