Project Class

(ProjectExplorer::Project)

The Project class implements a project node in the project explorer. More...

Header: #include <Project>

Public Types

enum ModelRoles { FilePathRole, isParsingRole }
enum RestoreResult { Ok, Error, UserAbort }

Public Functions

Project(const QString &mimeType, const Utils::FileName &fileName, const ProjectDocument::ProjectCallback &callback = {})
~Project() override
Target *activeTarget() const
void addTarget(std::unique_ptr<Target> &&target)
virtual QVariant additionalData(Core::Id id, const Target *target) const
virtual void configureAsExampleProject(const QSet<Core::Id> &platforms)
ContainerNode *containerNode() const
std::unique_ptr<Target> createTarget(Kit *k)
QString displayName() const
Core::IDocument *document() const
EditorConfiguration *editorConfiguration() const
Utils::FileNameList files(const NodeMatcher &matcher) const
virtual QStringList filesGeneratedFrom(const QString &sourceFile) const
ProjectNode *findNodeForBuildKey(const QString &buildKey) const
bool hasActiveBuildSettings() const
bool hasParsingData() const
Core::Id id() const
bool isKnownFile(const Utils::FileName &filename) const
bool isParsing() const
virtual bool knowsAllBuildExecutables() const
Utils::MacroExpander *macroExpander() const
QString mimeType() const
QVariant namedSettings(const QString &name) const
virtual bool needsBuildConfigurations() const
virtual bool needsConfiguration() const
Kit::Predicate preferredKitPredicate() const
Core::Context projectContext() const
Utils::FileName projectDirectory() const
Utils::FileName projectFilePath() const
virtual ProjectImporter *projectImporter() const
virtual QList<Task> projectIssues(const Kit *k) const
Core::Context projectLanguages() const
bool removeTarget(Target *target)
Kit::Predicate requiredKitPredicate() const
RestoreResult restoreSettings(QString *errorMessage)
std::unique_ptr<Target> restoreTarget(const QVariantMap &data)
Utils::FileName rootProjectDirectory() const
virtual ProjectNode *rootProjectNode() const
void saveSettings()
void setNamedSettings(const QString &name, const QVariant &value)
void setNeedsInitialExpansion(bool needsInitialExpansion)
void setup(const QList<BuildInfo> &infoList)
Target *target(Core::Id id) const
Target *target(Kit *k) const
QList<Target *> targets() const
virtual QVariantMap toMap() const

Signals

void aboutToRemoveProjectConfiguration(ProjectExplorer::ProjectConfiguration *pc)
void aboutToRemoveTarget(ProjectExplorer::Target *target)
void aboutToSaveSettings()
void activeProjectConfigurationChanged(ProjectExplorer::ProjectConfiguration *pc)
void activeTargetChanged(ProjectExplorer::Target *target)
void addedProjectConfiguration(ProjectExplorer::ProjectConfiguration *pc)
void addedTarget(ProjectExplorer::Target *target)
void displayNameChanged()
void fileListChanged()
void parsingFinished(bool success)
void parsingStarted()
void projectLanguagesUpdated()
void removedProjectConfiguration(ProjectExplorer::ProjectConfiguration *pc)
void removedTarget(ProjectExplorer::Target *target)
void settingsLoaded()

Static Public Members

bool copySteps(Target *sourceTarget, Target *newTarget)
Utils::FileName projectDirectory(const Utils::FileName &top)

Protected Functions

void addProjectLanguage(Core::Id id)
void createTargetFromMap(const QVariantMap &map, int index)
void emitParsingFinished(bool success)
void emitParsingStarted()
virtual RestoreResult fromMap(const QVariantMap &map, QString *errorMessage)
virtual void projectLoaded()
void removeProjectLanguage(Core::Id id)
void setDisplayName(const QString &name)
void setId(Core::Id id)
void setPreferredKitPredicate(const Kit::Predicate &predicate)
void setProjectLanguage(Core::Id id, bool enabled)
void setProjectLanguages(Core::Context language)
void setRequiredKitPredicate(const Kit::Predicate &predicate)
void setRootProjectNode(std::unique_ptr<ProjectNode> &&root)
virtual bool setupTarget(Target *t)

Static Protected Members

ProjectExplorer::Task createProjectTask(ProjectExplorer::Task::TaskType type, const QString &description)

Detailed Description

The Project class implements a project node in the project explorer.

Member Type Documentation

enum Project::ModelRoles

enum Project::RestoreResult

Member Function Documentation

Project::Project(const QString &mimeType, const Utils::FileName &fileName, const ProjectDocument::ProjectCallback &callback = {})

Copy constructor.

Project::~Project()

Destroys the instance of Project.

[signal] void Project::aboutToRemoveProjectConfiguration(ProjectExplorer::ProjectConfiguration *pc)

[signal] void Project::aboutToRemoveTarget(ProjectExplorer::Target *target)

[signal] void Project::aboutToSaveSettings()

[signal] void Project::activeProjectConfigurationChanged(ProjectExplorer::ProjectConfiguration *pc)

Target *Project::activeTarget() const

[signal] void Project::activeTargetChanged(ProjectExplorer::Target *target)

[protected] void Project::addProjectLanguage(Core::Id id)

void Project::addTarget(std::unique_ptr<Target> &&target)

[signal] void Project::addedProjectConfiguration(ProjectExplorer::ProjectConfiguration *pc)

[signal] void Project::addedTarget(ProjectExplorer::Target *target)

[virtual] QVariant Project::additionalData(Core::Id id, const Target *target) const

[virtual] void Project::configureAsExampleProject(const QSet<Core::Id> &platforms)

ContainerNode *Project::containerNode() const

[static] bool Project::copySteps(Target *sourceTarget, Target *newTarget)

[static protected] ProjectExplorer::Task Project::createProjectTask(ProjectExplorer::Task::TaskType type, const QString &description)

std::unique_ptr<Target> Project::createTarget(Kit *k)

[protected] void Project::createTargetFromMap(const QVariantMap &map, int index)

QString Project::displayName() const

See also setDisplayName().

[signal] void Project::displayNameChanged()

Core::IDocument *Project::document() const

EditorConfiguration *Project::editorConfiguration() const

[protected] void Project::emitParsingFinished(bool success)

[protected] void Project::emitParsingStarted()

[signal] void Project::fileListChanged()

Utils::FileNameList Project::files(const NodeMatcher &matcher) const

[virtual] QStringList Project::filesGeneratedFrom(const QString &sourceFile) const

ProjectNode *Project::findNodeForBuildKey(const QString &buildKey) const

[virtual protected] RestoreResult Project::fromMap(const QVariantMap &map, QString *errorMessage)

bool Project::hasActiveBuildSettings() const

bool Project::hasParsingData() const

Core::Id Project::id() const

See also setId().

bool Project::isKnownFile(const Utils::FileName &filename) const

bool Project::isParsing() const

[virtual] bool Project::knowsAllBuildExecutables() const

Utils::MacroExpander *Project::macroExpander() const

QString Project::mimeType() const

QVariant Project::namedSettings(const QString &name) const

See also setNamedSettings().

[virtual] bool Project::needsBuildConfigurations() const

[virtual] bool Project::needsConfiguration() const

[signal] void Project::parsingFinished(bool success)

[signal] void Project::parsingStarted()

Kit::Predicate Project::preferredKitPredicate() const

See also setPreferredKitPredicate().

Core::Context Project::projectContext() const

Utils::FileName Project::projectDirectory() const

Returns the directory that contains the project.

This includes the absolute path.

[static] Utils::FileName Project::projectDirectory(const Utils::FileName &top)

Returns the directory that contains the file top.

This includes the absolute path.

Utils::FileName Project::projectFilePath() const

[virtual] ProjectImporter *Project::projectImporter() const

[virtual] QList<Task> Project::projectIssues(const Kit *k) const

Core::Context Project::projectLanguages() const

See also setProjectLanguages().

[signal] void Project::projectLanguagesUpdated()

[virtual protected] void Project::projectLoaded()

[protected] void Project::removeProjectLanguage(Core::Id id)

bool Project::removeTarget(Target *target)

[signal] void Project::removedProjectConfiguration(ProjectExplorer::ProjectConfiguration *pc)

[signal] void Project::removedTarget(ProjectExplorer::Target *target)

Kit::Predicate Project::requiredKitPredicate() const

See also setRequiredKitPredicate().

RestoreResult Project::restoreSettings(QString *errorMessage)

std::unique_ptr<Target> Project::restoreTarget(const QVariantMap &data)

Utils::FileName Project::rootProjectDirectory() const

Returns the common root directory that contains all files which belongs to a project.

[virtual] ProjectNode *Project::rootProjectNode() const

See also setRootProjectNode().

void Project::saveSettings()

[protected] void Project::setDisplayName(const QString &name)

See also displayName().

[protected] void Project::setId(Core::Id id)

See also id().

void Project::setNamedSettings(const QString &name, const QVariant &value)

See also namedSettings().

void Project::setNeedsInitialExpansion(bool needsInitialExpansion)

[protected] void Project::setPreferredKitPredicate(const Kit::Predicate &predicate)

See also preferredKitPredicate().

[protected] void Project::setProjectLanguage(Core::Id id, bool enabled)

[protected] void Project::setProjectLanguages(Core::Context language)

See also projectLanguages().

[protected] void Project::setRequiredKitPredicate(const Kit::Predicate &predicate)

See also requiredKitPredicate().

[protected] void Project::setRootProjectNode(std::unique_ptr<ProjectNode> &&root)

See also rootProjectNode().

[signal] void Project::settingsLoaded()

void Project::setup(const QList<BuildInfo> &infoList)

[virtual protected] bool Project::setupTarget(Target *t)

Target *Project::target(Core::Id id) const

Target *Project::target(Kit *k) const

QList<Target *> Project::targets() const

[virtual] QVariantMap Project::toMap() const

Serializes all data into a QVariantMap.

This map is then saved in the .user file of the project. Just put all your data into the map.

Note: Do not forget to call your base class' toMap function.

Note: Do not forget to call setActiveBuildConfiguration when creating new build configurations.