18#ifndef QGSPROCESSINGMODELCOMPONENT_H
19#define QGSPROCESSINGMODELCOMPONENT_H
28class QgsProcessingModelComment;
36class CORE_EXPORT QgsProcessingModelComponent
41 if (
dynamic_cast<QgsProcessingModelChildAlgorithm *
>( sipCpp ) != NULL )
42 sipType = sipType_QgsProcessingModelChildAlgorithm;
43 else if (
dynamic_cast<QgsProcessingModelComment *
>( sipCpp ) != NULL )
44 sipType = sipType_QgsProcessingModelComment;
45 else if (
dynamic_cast<QgsProcessingModelGroupBox *
>( sipCpp ) != NULL )
46 sipType = sipType_QgsProcessingModelGroupBox;
47 else if (
dynamic_cast<QgsProcessingModelOutput *
>( sipCpp ) != NULL )
48 sipType = sipType_QgsProcessingModelOutput;
49 else if (
dynamic_cast<QgsProcessingModelParameter *
>( sipCpp ) != NULL )
50 sipType = sipType_QgsProcessingModelParameter;
58 virtual ~QgsProcessingModelComponent() =
default;
64 QString description()
const;
70 void setDescription(
const QString &description );
76 QPointF position()
const;
82 void setPosition( QPointF position );
96 void setSize( QSizeF size );
106 QColor color()
const;
115 void setColor(
const QColor &color );
121 bool linksCollapsed( Qt::Edge edge )
const;
128 void setLinksCollapsed( Qt::Edge edge,
bool collapsed );
134 SIP_SKIP virtual const QgsProcessingModelComment *comment()
const {
return nullptr; }
140 virtual QgsProcessingModelComment *comment() {
return nullptr; }
146 virtual void setComment(
const QgsProcessingModelComment &comment );
153 virtual QgsProcessingModelComponent *clone()
const = 0
SIP_FACTORY;
158 QgsProcessingModelComponent(
const QString &description = QString() );
161 QgsProcessingModelComponent(
const QgsProcessingModelComponent &other ) =
default;
164 QgsProcessingModelComponent &operator=(
const QgsProcessingModelComponent &other ) =
default;
170 void saveCommonProperties( QVariantMap &map )
const;
176 void restoreCommonProperties(
const QVariantMap &map );
186 void copyNonDefinitionProperties(
const QgsProcessingModelComponent &other );
190 static constexpr double DEFAULT_COMPONENT_WIDTH = 200;
191 static constexpr double DEFAULT_COMPONENT_HEIGHT = 30;
196 QString mDescription;
198 QSizeF mSize = QSizeF( DEFAULT_COMPONENT_WIDTH, DEFAULT_COMPONENT_HEIGHT );
201 bool mTopEdgeLinksCollapsed =
true;
202 bool mBottomEdgeLinksCollapsed =
true;
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)