Branch data Line data Source code
1 : : /*************************************************************************** 2 : : qgsprocessingmodelchilddependency.h 3 : : ----------------------------- 4 : : begin : April 2020 5 : : copyright : (C) 2020 by Nyall Dawson 6 : : email : nyall dot dawson at gmail dot com 7 : : ***************************************************************************/ 8 : : 9 : : /*************************************************************************** 10 : : * * 11 : : * This program is free software; you can redistribute it and/or modify * 12 : : * it under the terms of the GNU General Public License as published by * 13 : : * the Free Software Foundation; either version 2 of the License, or * 14 : : * (at your option) any later version. * 15 : : * * 16 : : ***************************************************************************/ 17 : : 18 : : #ifndef QGSPROCESSINGMODELCHILDDEPENDENCY_H 19 : : #define QGSPROCESSINGMODELCHILDDEPENDENCY_H 20 : : 21 : : #include "qgis_core.h" 22 : : #include "qgis.h" 23 : : 24 : : 25 : : ///@cond NOT_STABLE 26 : : 27 : : /** 28 : : * \class QgsProcessingModelChildDependency 29 : : * \ingroup core 30 : : * \brief Contains details of a child algorithm dependency. 31 : : * \since QGIS 3.14 32 : : */ 33 : 0 : class CORE_EXPORT QgsProcessingModelChildDependency 34 : : { 35 : : public: 36 : : 37 : : /** 38 : : * Constructor for QgsProcessingModelChildDependency, with the specified \a childId. 39 : : */ 40 : 0 : QgsProcessingModelChildDependency( const QString &childId = QString(), const QString &conditionalBranch = QString() ) 41 : 0 : : childId( childId ) 42 : 0 : , conditionalBranch( conditionalBranch ) 43 : : { 44 : 0 : } 45 : : 46 : : //! Child algorithm ID 47 : : QString childId; 48 : : 49 : : //! Conditional branch output name, if applicable. 50 : : QString conditionalBranch; 51 : : 52 : : /** 53 : : * Saves this dependency to a QVariant. 54 : : * \see loadVariant() 55 : : */ 56 : 0 : QVariant toVariant() const 57 : : { 58 : 0 : QVariantMap res; 59 : 0 : res.insert( QStringLiteral( "child_id" ), childId ); 60 : 0 : res.insert( QStringLiteral( "conditional_branch" ), conditionalBranch ); 61 : 0 : return res; 62 : 0 : } 63 : : 64 : : /** 65 : : * Loads this dependency from a QVariantMap. 66 : : * \see toVariant() 67 : : */ 68 : 0 : bool loadVariant( const QVariantMap &map ) 69 : : { 70 : 0 : childId = map.value( QStringLiteral( "child_id" ) ).toString(); 71 : 0 : conditionalBranch = map.value( QStringLiteral( "conditional_branch" ) ).toString(); 72 : 0 : return true; 73 : 0 : } 74 : : 75 : 0 : bool operator==( const QgsProcessingModelChildDependency &other ) const 76 : : { 77 : 0 : return childId == other.childId && conditionalBranch == other.conditionalBranch; 78 : : } 79 : : 80 : : bool operator!=( const QgsProcessingModelChildDependency &other ) const 81 : : { 82 : : return !( *this == other ); 83 : : } 84 : : 85 : 0 : bool operator<( const QgsProcessingModelChildDependency &other ) const 86 : : { 87 : 0 : return childId == other.childId ? conditionalBranch < other.conditionalBranch : childId < other.childId; 88 : : } 89 : : }; 90 : : 91 : 10 : Q_DECLARE_METATYPE( QgsProcessingModelChildDependency ) 92 : : 93 : : ///@endcond 94 : : 95 : : #endif // QGSPROCESSINGMODELCHILDDEPENDENCY_H