18#ifndef QGSPROCESSINGPROJECTMODELPROVIDER_H
19#define QGSPROCESSINGPROJECTMODELPROVIDER_H
24#include <QDomDocument>
27class QgsProcessingModelAlgorithm;
44 QString
name()
const override;
46 QString
id()
const override;
47 QIcon
icon()
const override;
60 void addModel(
const QgsProcessingModelAlgorithm &model );
65 void removeModel(
const QgsProcessingModelAlgorithm *model );
83 void onProviderAdded(
const QString &providerId );
86 QPointer< QgsProject > mProject;
87 QMap< QString, QVariant > mModelDefinitions;
88 bool mIsLoading =
false;
void writeProject(QDomDocument &document)
Writes project model definitions into a project DOM document document.
void readProject(const QDomDocument &document)
Reads project model definitions from a project DOM document document.
void removeModel(const QgsProcessingModelAlgorithm *model)
Removes a model from the provider.
void addModel(const QgsProcessingModelAlgorithm &model)
Adds a model to the provider.
void clear()
Clears all models from the provider.
QgsProcessingProjectModelProvider(QgsProject *project, QObject *parent=nullptr)
Constructor for QgsProcessingProjectModelProvider, storing models in the specified project.
virtual QIcon icon() const
Returns an icon for the provider.
virtual QString name() const =0
Returns the provider name, which is used to describe the provider within the GUI.
QgsProcessingProvider(QObject *parent=nullptr)
Constructor for QgsProcessingProvider.
virtual QString svgIconPath() const
Returns a path to an SVG version of the provider's icon.
virtual QString id() const =0
Returns the unique provider id, used for identifying the provider.
virtual bool load()
Loads the provider.
virtual void loadAlgorithms()=0
Loads all algorithms belonging to this provider.
virtual QString longName() const
Returns the longer version of the provider name, which can include extra details such as version numb...
virtual bool supportsNonFileBasedOutput() const
Returns true if the provider supports non-file based outputs (such as memory layers or direct databas...
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...