mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-24 00:47:57 -05:00
375 lines
10 KiB
Plaintext
375 lines
10 KiB
Plaintext
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/qgsrelation.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
|
************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class QgsRelation
|
|
{
|
|
%Docstring(signature="appended")
|
|
|
|
Represents a relationship between two vector layers.
|
|
%End
|
|
|
|
%TypeHeaderCode
|
|
#include "qgsrelation.h"
|
|
%End
|
|
public:
|
|
static const QMetaObject staticMetaObject;
|
|
|
|
public:
|
|
|
|
|
|
QgsRelation();
|
|
%Docstring
|
|
Default constructor. Creates an invalid relation.
|
|
%End
|
|
~QgsRelation();
|
|
|
|
QgsRelation( const QgsRelationContext &context );
|
|
%Docstring
|
|
Constructor with context. Creates an invalid relation.
|
|
%End
|
|
|
|
QgsRelation( const QgsRelation &other );
|
|
%Docstring
|
|
Copies a relation.
|
|
This makes a shallow copy, relations are implicitly shared and only duplicated when the copy is
|
|
changed.
|
|
%End
|
|
|
|
|
|
static QgsRelation createFromXml( const QDomNode &node, QgsReadWriteContext &context, const QgsRelationContext &relationContext = QgsRelationContext() );
|
|
%Docstring
|
|
Creates a relation from an XML structure. Used for reading .qgs projects.
|
|
|
|
:param node: The dom node containing the relation information
|
|
:param context: to pass project translator
|
|
:param relationContext: a relation context
|
|
|
|
:return: A relation
|
|
%End
|
|
|
|
void writeXml( QDomNode &node, QDomDocument &doc ) const;
|
|
%Docstring
|
|
Writes a relation to an XML structure. Used for saving .qgs projects
|
|
|
|
:param node: The parent node in which the relation will be created
|
|
:param doc: The document in which the relation will be saved
|
|
%End
|
|
|
|
void setId( const QString &id );
|
|
%Docstring
|
|
Set an id for this relation
|
|
%End
|
|
|
|
void setName( const QString &name );
|
|
%Docstring
|
|
Set a name for this relation
|
|
%End
|
|
|
|
void setStrength( Qgis::RelationshipStrength strength );
|
|
%Docstring
|
|
Set a strength for this relation
|
|
%End
|
|
|
|
void setReferencingLayer( const QString &id );
|
|
%Docstring
|
|
Set the referencing (child) layer id. This layer will be searched in the registry.
|
|
%End
|
|
|
|
void setReferencedLayer( const QString &id );
|
|
%Docstring
|
|
Set the referenced (parent) layer id. This layer will be searched in the registry.
|
|
%End
|
|
|
|
void addFieldPair( const QString &referencingField, const QString &referencedField );
|
|
%Docstring
|
|
Add a field pair which is part of this relation
|
|
The first element of each pair are the field names of the foreign key.
|
|
The second element of each pair are the field names of the matching primary key.
|
|
|
|
:param referencingField: The field name on the referencing (child) layer (FK)
|
|
:param referencedField: The field name on the referenced (parent) layer (PK)
|
|
%End
|
|
|
|
|
|
QgsFeatureIterator getRelatedFeatures( const QgsFeature &feature ) const;
|
|
%Docstring
|
|
Creates an iterator which returns all the features on the referencing (child) layer
|
|
which have a foreign key pointing to the provided feature.
|
|
|
|
:param feature: A feature from the referenced (parent) layer
|
|
|
|
:return: An iterator with all the referenced features
|
|
|
|
.. seealso:: :py:func:`getRelatedFeaturesRequest`
|
|
|
|
.. seealso:: :py:func:`getRelatedFeaturesFilter`
|
|
%End
|
|
|
|
QgsFeatureRequest getRelatedFeaturesRequest( const QgsFeature &feature ) const;
|
|
%Docstring
|
|
Creates a request to return all the features on the referencing (child) layer
|
|
which have a foreign key pointing to the provided feature.
|
|
|
|
:param feature: A feature from the referenced (parent) layer
|
|
|
|
:return: A request for all the referencing features
|
|
|
|
.. seealso:: :py:func:`getRelatedFeatures`
|
|
|
|
.. seealso:: :py:func:`getRelatedFeaturesFilter`
|
|
%End
|
|
|
|
QString getRelatedFeaturesFilter( const QgsFeature &feature ) const;
|
|
%Docstring
|
|
Returns a filter expression which returns all the features on the referencing (child) layer
|
|
which have a foreign key pointing to the provided feature.
|
|
|
|
:param feature: A feature from the referenced (parent) layer
|
|
|
|
:return: expression filter string for all the referencing features
|
|
|
|
.. seealso:: :py:func:`getRelatedFeatures`
|
|
|
|
.. seealso:: :py:func:`getRelatedFeaturesRequest`
|
|
%End
|
|
|
|
QgsFeatureRequest getReferencedFeatureRequest( const QgsAttributes &attributes ) const;
|
|
%Docstring
|
|
Creates a request to return the feature on the referenced (parent) layer
|
|
which is referenced by the provided feature.
|
|
|
|
:param attributes: An attribute vector containing the foreign key
|
|
|
|
:return: A request the referenced feature
|
|
%End
|
|
|
|
QgsFeatureRequest getReferencedFeatureRequest( const QgsFeature &feature ) const;
|
|
%Docstring
|
|
Creates a request to return the feature on the referenced (parent) layer
|
|
which is referenced by the provided feature.
|
|
|
|
:param feature: A feature from the referencing (child) layer
|
|
|
|
:return: A request the referenced feature
|
|
%End
|
|
|
|
QgsFeature getReferencedFeature( const QgsFeature &feature ) const;
|
|
%Docstring
|
|
Creates a request to return the feature on the referenced (parent) layer
|
|
which is referenced by the provided feature.
|
|
|
|
:param feature: A feature from the referencing (child) layer
|
|
|
|
:return: The referenced (parent) feature, or an invalid feature if no matching feature
|
|
was found
|
|
%End
|
|
|
|
QString name() const;
|
|
%Docstring
|
|
Returns a human readable name for this relation. Mostly used as title for the children.
|
|
|
|
.. seealso:: :py:func:`id`
|
|
|
|
:return: A name
|
|
%End
|
|
|
|
Qgis::RelationshipStrength strength() const;
|
|
%Docstring
|
|
Returns the relation strength as a string
|
|
|
|
:return: strength
|
|
%End
|
|
|
|
QString id() const;
|
|
%Docstring
|
|
A (project-wide) unique id for this relation
|
|
|
|
:return: The id
|
|
%End
|
|
|
|
void generateId();
|
|
%Docstring
|
|
Generate a (project-wide) unique id for this relation
|
|
%End
|
|
|
|
QString referencingLayerId() const;
|
|
%Docstring
|
|
Access the referencing (child) layer's id
|
|
This is the layer which has the field(s) which point to another layer
|
|
|
|
:return: The id of the referencing layer
|
|
%End
|
|
|
|
QgsVectorLayer *referencingLayer() const;
|
|
%Docstring
|
|
Access the referencing (child) layer
|
|
This is the layer which has the field(s) which point to another layer
|
|
|
|
:return: The referencing layer
|
|
%End
|
|
|
|
QString referencedLayerId() const;
|
|
%Docstring
|
|
Access the referenced (parent) layer's id
|
|
|
|
:return: The id of the referenced layer
|
|
%End
|
|
|
|
QgsVectorLayer *referencedLayer() const;
|
|
%Docstring
|
|
Access the referenced (parent) layer
|
|
|
|
:return: referenced layer
|
|
%End
|
|
|
|
QMap< QString, QString > fieldPairs() const;
|
|
%Docstring
|
|
Returns the field pairs which form this relation
|
|
The first element of each pair are the field names of the foreign key.
|
|
The second element of each pair are the field names of the matching primary key.
|
|
|
|
:return: The fields forming the relation
|
|
%End
|
|
%MethodCode
|
|
const QList< QgsRelation::FieldPair > &pairs = sipCpp->fieldPairs();
|
|
sipRes = new QMap< QString, QString >();
|
|
for ( const QgsRelation::FieldPair &pair : pairs )
|
|
{
|
|
sipRes->insert( pair.first, pair.second );
|
|
}
|
|
%End
|
|
|
|
QgsAttributeList referencedFields() const;
|
|
%Docstring
|
|
Returns a list of attributes used to form the referenced fields
|
|
(most likely primary key) on the referenced (parent) layer.
|
|
|
|
:return: A list of attributes
|
|
%End
|
|
|
|
QgsAttributeList referencingFields() const;
|
|
%Docstring
|
|
Returns a list of attributes used to form the referencing fields
|
|
(foreign key) on the referencing (child) layer.
|
|
|
|
:return: A list of attributes
|
|
%End
|
|
|
|
bool referencingFieldsAllowNull() const;
|
|
%Docstring
|
|
Returns ``True`` if none of the referencing fields has a NOT NULL constraint.
|
|
|
|
.. versionadded:: 3.28
|
|
%End
|
|
|
|
bool isValid() const;
|
|
%Docstring
|
|
Returns the validity of this relation. Don't use the information if it's not valid.
|
|
A relation is considered valid if both referenced and referencig layers are valid.
|
|
|
|
:return: ``True`` if the relation is valid
|
|
|
|
.. seealso:: :py:func:`validationError`
|
|
%End
|
|
|
|
QString validationError() const;
|
|
%Docstring
|
|
Returns a user-friendly explanation for why the relationship is invalid.
|
|
|
|
Returns an empty string if the relationship :py:func:`~QgsRelation.isValid`.
|
|
|
|
.. seealso:: :py:func:`isValid`
|
|
|
|
.. versionadded:: 3.28
|
|
%End
|
|
|
|
bool hasEqualDefinition( const QgsRelation &other ) const;
|
|
%Docstring
|
|
Compares the two QgsRelation, ignoring the name and the ID.
|
|
|
|
:param other: The other relation
|
|
|
|
:return: ``True`` if they are similar
|
|
%End
|
|
|
|
QString resolveReferencedField( const QString &referencingField ) const;
|
|
%Docstring
|
|
Gets the referenced field counterpart given a referencing field.
|
|
%End
|
|
|
|
QString resolveReferencingField( const QString &referencedField ) const;
|
|
%Docstring
|
|
Gets the referencing field counterpart given a referenced field.
|
|
%End
|
|
|
|
void updateRelationStatus();
|
|
%Docstring
|
|
Updates the validity status of this relation.
|
|
Will be called internally whenever a member is changed.
|
|
|
|
.. versionadded:: 3.6
|
|
%End
|
|
|
|
void setPolymorphicRelationId( const QString &polymorphicRelationId );
|
|
%Docstring
|
|
Sets the parent polymorphic relation id.
|
|
|
|
.. versionadded:: 3.18
|
|
%End
|
|
|
|
QString polymorphicRelationId() const;
|
|
%Docstring
|
|
Returns the parent polymorphic relation id. If the relation is a normal relation, a null string is returned.
|
|
|
|
.. versionadded:: 3.18
|
|
%End
|
|
|
|
QgsPolymorphicRelation polymorphicRelation() const;
|
|
%Docstring
|
|
Returns the parent polymorphic relation. If the relation is a normal relation, an invalid polymorphic relation is returned.
|
|
|
|
.. versionadded:: 3.18
|
|
%End
|
|
|
|
Qgis::RelationshipType type() const;
|
|
%Docstring
|
|
Returns the type of the relation
|
|
|
|
.. versionadded:: 3.18
|
|
%End
|
|
|
|
static QString cardinalityToDisplayString( Qgis::RelationshipCardinality cardinality );
|
|
%Docstring
|
|
Returns a user-friendly translated string representing a relationship ``cardinality``.
|
|
|
|
.. versionadded:: 3.28
|
|
%End
|
|
|
|
static QString strengthToDisplayString( Qgis::RelationshipStrength strength );
|
|
%Docstring
|
|
Returns a user-friendly translated string representing a relationship ``strength``.
|
|
|
|
.. versionadded:: 3.28
|
|
%End
|
|
|
|
};
|
|
|
|
|
|
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/qgsrelation.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
|
************************************************************************/
|