mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-04 00:04:25 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			289 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			289 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/************************************************************************
 | 
						|
 * This file has been generated automatically from                      *
 | 
						|
 *                                                                      *
 | 
						|
 * src/core/qgsrelation.h                                               *
 | 
						|
 *                                                                      *
 | 
						|
 * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 | 
						|
 ************************************************************************/
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
class QgsRelation
 | 
						|
{
 | 
						|
 | 
						|
%TypeHeaderCode
 | 
						|
#include "qgsrelation.h"
 | 
						|
%End
 | 
						|
  public:
 | 
						|
 | 
						|
 | 
						|
    QgsRelation();
 | 
						|
%Docstring
 | 
						|
 Default constructor. Creates an invalid relation.
 | 
						|
%End
 | 
						|
 | 
						|
    static QgsRelation createFromXml( const QDomNode &node );
 | 
						|
%Docstring
 | 
						|
 Creates a relation from an XML structure. Used for reading .qgs projects.
 | 
						|
 | 
						|
 \param node The dom node containing the relation information
 | 
						|
 | 
						|
 :return: A relation
 | 
						|
 :rtype: QgsRelation
 | 
						|
%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 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 pairs 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:: getRelatedFeaturesRequest()
 | 
						|
.. seealso:: getRelatedFeaturesFilter()
 | 
						|
 :rtype: QgsFeatureIterator
 | 
						|
%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:: getRelatedFeatures()
 | 
						|
.. seealso:: getRelatedFeaturesFilter()
 | 
						|
 :rtype: QgsFeatureRequest
 | 
						|
%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
 | 
						|
.. versionadded:: 2.16
 | 
						|
.. seealso:: getRelatedFeatures()
 | 
						|
.. seealso:: getRelatedFeaturesRequest()
 | 
						|
 :rtype: str
 | 
						|
%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
 | 
						|
.. note::
 | 
						|
 | 
						|
   not available in Python bindings
 | 
						|
 :rtype: QgsFeatureRequest
 | 
						|
%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
 | 
						|
 :rtype: QgsFeatureRequest
 | 
						|
%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: A request the referenced feature
 | 
						|
 :rtype: QgsFeature
 | 
						|
%End
 | 
						|
 | 
						|
    QString name() const;
 | 
						|
%Docstring
 | 
						|
 Returns a human readable name for this relation. Mostly used as title for the children.
 | 
						|
 | 
						|
.. seealso:: id()
 | 
						|
 | 
						|
 :return: A name
 | 
						|
 :rtype: str
 | 
						|
%End
 | 
						|
 | 
						|
    QString id() const;
 | 
						|
%Docstring
 | 
						|
 A (project-wide) unique id for this relation
 | 
						|
 | 
						|
 :return: The id
 | 
						|
 :rtype: str
 | 
						|
%End
 | 
						|
 | 
						|
    void generateId();
 | 
						|
%Docstring
 | 
						|
 Generate a (project-wide) unique id for this relation
 | 
						|
.. versionadded:: 3.0
 | 
						|
%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
 | 
						|
 :rtype: str
 | 
						|
%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
 | 
						|
 :rtype: QgsVectorLayer
 | 
						|
%End
 | 
						|
 | 
						|
    QString referencedLayerId() const;
 | 
						|
%Docstring
 | 
						|
 Access the referenced (parent) layer's id
 | 
						|
 | 
						|
 :return: The id of the referenced layer
 | 
						|
 :rtype: str
 | 
						|
%End
 | 
						|
 | 
						|
    QgsVectorLayer *referencedLayer() const;
 | 
						|
%Docstring
 | 
						|
 Access the referenced (parent) layer
 | 
						|
 | 
						|
 :return: referenced layer
 | 
						|
 :rtype: QgsVectorLayer
 | 
						|
%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
 | 
						|
 :rtype: QMap< str, QString >
 | 
						|
%End
 | 
						|
%MethodCode
 | 
						|
    const QList< QgsRelation::FieldPair > &pairs = sipCpp->fieldPairs();
 | 
						|
    sipRes = new QMap< QString, QString >();
 | 
						|
    Q_FOREACH ( 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
 | 
						|
 :rtype: QgsAttributeList
 | 
						|
%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
 | 
						|
 :rtype: QgsAttributeList
 | 
						|
%End
 | 
						|
 | 
						|
    bool isValid() const;
 | 
						|
%Docstring
 | 
						|
 Returns the validity of this relation. Don't use the information if it's not valid.
 | 
						|
 | 
						|
 :return: true if the relation is valid
 | 
						|
 :rtype: bool
 | 
						|
%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
 | 
						|
.. versionadded:: 3.0
 | 
						|
 :rtype: bool
 | 
						|
%End
 | 
						|
 | 
						|
    QString resolveReferencedField( const QString &referencingField ) const;
 | 
						|
%Docstring
 | 
						|
 Get the referenced field counterpart given a referencing field.
 | 
						|
 | 
						|
.. versionadded:: 3.0
 | 
						|
 :rtype: str
 | 
						|
%End
 | 
						|
 | 
						|
    QString resolveReferencingField( const QString &referencedField ) const;
 | 
						|
%Docstring
 | 
						|
 Get the referencing field counterpart given a referenced field.
 | 
						|
 | 
						|
.. versionadded:: 3.0
 | 
						|
 :rtype: str
 | 
						|
%End
 | 
						|
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
/************************************************************************
 | 
						|
 * This file has been generated automatically from                      *
 | 
						|
 *                                                                      *
 | 
						|
 * src/core/qgsrelation.h                                               *
 | 
						|
 *                                                                      *
 | 
						|
 * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 | 
						|
 ************************************************************************/
 |