18#ifndef QGSPROCESSINGMODELCOMPONENT_H
19#define QGSPROCESSINGMODELCOMPONENT_H
28class QgsProcessingModelComment;
36class CORE_EXPORT QgsProcessingModelComponent
40 if (
dynamic_cast<QgsProcessingModelChildAlgorithm *
>( sipCpp ) != NULL )
41 sipType = sipType_QgsProcessingModelChildAlgorithm;
42 else if (
dynamic_cast<QgsProcessingModelComment *
>( sipCpp ) != NULL )
43 sipType = sipType_QgsProcessingModelComment;
44 else if (
dynamic_cast<QgsProcessingModelGroupBox *
>( sipCpp ) != NULL )
45 sipType = sipType_QgsProcessingModelGroupBox;
46 else if (
dynamic_cast<QgsProcessingModelOutput *
>( sipCpp ) != NULL )
47 sipType = sipType_QgsProcessingModelOutput;
48 else if (
dynamic_cast<QgsProcessingModelParameter *
>( sipCpp ) != NULL )
49 sipType = sipType_QgsProcessingModelParameter;
57 virtual ~QgsProcessingModelComponent() =
default;
63 QString description()
const;
69 void setDescription(
const QString &description );
75 QPointF position()
const;
81 void setPosition( QPointF position );
95 void setSize( QSizeF size );
105 QColor color()
const;
114 void setColor(
const QColor &color );
120 bool linksCollapsed( Qt::Edge edge )
const;
127 void setLinksCollapsed( Qt::Edge edge,
bool collapsed );
133 SIP_SKIP virtual const QgsProcessingModelComment *comment()
const {
return nullptr; }
139 virtual QgsProcessingModelComment *comment() {
return nullptr; }
145 virtual void setComment(
const QgsProcessingModelComment &comment );
152 virtual QgsProcessingModelComponent *clone()
const = 0
SIP_FACTORY;
156 QgsProcessingModelComponent(
const QString &description = QString() );
159 QgsProcessingModelComponent(
const QgsProcessingModelComponent &other ) =
default;
162 QgsProcessingModelComponent &operator=(
const QgsProcessingModelComponent &other ) =
default;
168 void saveCommonProperties( QVariantMap &map )
const;
174 void restoreCommonProperties(
const QVariantMap &map );
184 void copyNonDefinitionProperties(
const QgsProcessingModelComponent &other );
187 static constexpr double DEFAULT_COMPONENT_WIDTH = 200;
188 static constexpr double DEFAULT_COMPONENT_HEIGHT = 30;
193 QString mDescription;
195 QSizeF mSize = QSizeF( DEFAULT_COMPONENT_WIDTH, DEFAULT_COMPONENT_HEIGHT );
198 bool mTopEdgeLinksCollapsed =
true;
199 bool mBottomEdgeLinksCollapsed =
true;
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)