Branch data Line data Source code
1 : : /*************************************************************************** 2 : : qgsrelation_p.h 3 : : -------------------------- 4 : : begin : August 2018 5 : : copyright : (C) 2018 Matthias Kuhn 6 : : email : matthias@opengis.ch 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 : : #ifndef QGSRELATION_P_H 18 : : #define QGSRELATION_P_H 19 : : 20 : : #define SIP_NO_FILE 21 : : 22 : : /// @cond PRIVATE 23 : : 24 : : // 25 : : // W A R N I N G 26 : : // ------------- 27 : : // 28 : : // This file is not part of the QGIS API. It exists purely as an 29 : : // implementation detail. This header file may change from version to 30 : : // version without notice, or even be removed. 31 : : // 32 : : 33 : : #include "qgsrelation.h" 34 : : 35 : : #include <QSharedData> 36 : : #include <QPointer> 37 : : 38 : 0 : class QgsRelationPrivate : public QSharedData 39 : : { 40 : : public: 41 : 0 : QgsRelationPrivate() = default; 42 : : 43 : : //! Unique Id 44 : : QString mRelationId; 45 : : //! Human redable name 46 : : QString mRelationName; 47 : : //! The child layer 48 : : QString mReferencingLayerId; 49 : : //! The child layer 50 : : QPointer<QgsVectorLayer> mReferencingLayer; 51 : : //! The parent layer id 52 : : QString mReferencedLayerId; 53 : : //! The parent layer 54 : : QPointer<QgsVectorLayer> mReferencedLayer; 55 : : //! The relation strength: Association, Composition 56 : 0 : QgsRelation::RelationStrength mRelationStrength = QgsRelation::Association; 57 : : //! The parent polymorphic relation id. If the relation is a normal relation, a null string is returned. 58 : : QString mPolymorphicRelationId; 59 : : 60 : : /** 61 : : * A list of fields which define the relation. 62 : : * In most cases there will be only one value, but multiple values 63 : : * are supported for composite foreign keys. 64 : : * The first field is on the referencing layer, the second on the referenced 65 : : */ 66 : : QList< QgsRelation::FieldPair > mFieldPairs; 67 : : 68 : 0 : bool mValid = false; 69 : : }; 70 : : 71 : : /// @endcond 72 : : 73 : : #endif // QGSRELATION_P_H