16 #ifndef QGSPOLYMORPHICRELATION_H
17 #define QGSPOLYMORPHICRELATION_H
23 #include "qgis_core.h"
36 class QgsPolymorphicRelationPrivate;
53 Q_PROPERTY( QString
id READ
id WRITE setId )
55 Q_PROPERTY( QString referencedLayerField READ referencedLayerField )
56 Q_PROPERTY( QString referencedLayerExpression READ referencedLayerExpression )
57 Q_PROPERTY( QString name READ name WRITE setName )
58 Q_PROPERTY(
bool isValid READ isValid )
104 void writeXml( QDomNode &node, QDomDocument &doc ) const;
109 void setId( const QString &
id );
114 void setName( const QString &name );
119 void setReferencingLayer( const QString &
id );
129 void addFieldPair( const QString &referencingField, const QString &referencedField );
148 QString name() const;
169 QString referencingLayerId() const;
187 QList< QgsRelation::FieldPair > fieldPairs()
const;
189 QMap< QString, QString > fieldPairs()
const;
191 const QList< QgsRelation::FieldPair > &pairs = sipCpp->fieldPairs();
192 sipRes =
new QMap< QString, QString >();
195 sipRes->insert( pair.first, pair.second );
222 bool isValid()
const;
236 void updateRelationStatus();
241 void setReferencedLayerField(
const QString &referencedLayerField );
246 QString referencedLayerField()
const;
251 void setReferencedLayerExpression(
const QString &expression );
256 QString referencedLayerExpression()
const;
261 void setReferencedLayerIds(
const QStringList &childRelationIds );
266 QStringList referencedLayerIds()
const;
271 QList<QgsRelation> generateRelations()
const;
290 QExplicitlySharedDataPointer<QgsPolymorphicRelationPrivate> d;
299 #endif // QGSPOLYMORPHICRELATION_H