mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-28 00:17:30 -05:00
Now all classes and members are either exposed to bindings or marked as "not available in Python bindings" in the docs. Drop test thresholds to 0. Now it should be much easier to determine what missing members have been added which are causing test failures.
203 lines
6.2 KiB
Plaintext
203 lines
6.2 KiB
Plaintext
/***************************************************************************
|
|
qgsrelation.sip
|
|
--------------------------------------
|
|
Date : 29.4.2013
|
|
Copyright : (C) 2013 Matthias Kuhn
|
|
Email : matthias at opengis dot ch
|
|
***************************************************************************
|
|
* *
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
* it under the terms of the GNU General Public License as published by *
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
* (at your option) any later version. *
|
|
* *
|
|
***************************************************************************/
|
|
|
|
class QgsRelation
|
|
{
|
|
%TypeHeaderCode
|
|
#include <qgsrelation.h>
|
|
%End
|
|
public:
|
|
|
|
/**
|
|
* Default constructor. Creates an invalid relation.
|
|
*/
|
|
QgsRelation();
|
|
|
|
/**
|
|
* Creates a relation from an XML structure. Used for reading .qgs projects.
|
|
*
|
|
* @param node The dom node containing the relation information
|
|
*
|
|
* @return A relation
|
|
*/
|
|
static QgsRelation createFromXML( const QDomNode& node );
|
|
|
|
/**
|
|
* 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
|
|
*/
|
|
void writeXML( QDomNode& node, QDomDocument& doc ) const;
|
|
|
|
/**
|
|
* Set a name for this relation
|
|
*
|
|
* @param id
|
|
*/
|
|
void setRelationId( const QString& id );
|
|
|
|
/**
|
|
* Set a name for this relation
|
|
*
|
|
* @param name
|
|
*/
|
|
void setRelationName( const QString& name );
|
|
|
|
/**
|
|
* Set the referencing layer id. This layer will be searched in the registry.
|
|
*
|
|
* @param id
|
|
*/
|
|
void setReferencingLayer( const QString& id );
|
|
|
|
/**
|
|
* Set the referenced layer id. This layer will be searched in the registry.
|
|
*
|
|
* @param id
|
|
*/
|
|
void setReferencedLayer( const QString& id );
|
|
|
|
/**
|
|
* Add a field pairs which is part of this relation
|
|
* The first element of each pair are the field names fo 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 layer (FK)
|
|
* @param referencedField The field name on the referenced layer (PK)
|
|
*/
|
|
void addFieldPair( const QString& referencingField, const QString& referencedField );
|
|
|
|
/**
|
|
* Add a field pairs which is part of this relation
|
|
* The first element of each pair are the field names fo the foreign key.
|
|
* The second element of each pair are the field names of the matching primary key.
|
|
*
|
|
* @param fieldPair A pair of two strings
|
|
* @note not available in python bindings
|
|
*/
|
|
// void addFieldPair( FieldPair fieldPair );
|
|
|
|
/**
|
|
* 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
|
|
*/
|
|
QgsFeatureIterator getRelatedFeatures( const QgsFeature& feature ) const;
|
|
|
|
/**
|
|
* 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 An request for all the referenced features
|
|
*/
|
|
QgsFeatureRequest getRelatedFeaturesRequest( const QgsFeature& feature ) const;
|
|
|
|
QgsFeatureRequest getReferencedFeatureRequest( const QgsFeature& feature ) const;
|
|
|
|
QgsFeature getReferencedFeature( const QgsFeature& child ) const;
|
|
|
|
/**
|
|
* The id
|
|
* @return
|
|
*/
|
|
QString name() const;
|
|
|
|
/**
|
|
* A (project-wide) unique id for this relation
|
|
*
|
|
* @return The id
|
|
*/
|
|
QString id() const;
|
|
|
|
/**
|
|
* 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
|
|
*/
|
|
QString referencingLayerId() const;
|
|
|
|
/**
|
|
* Access the referencing (child) layer
|
|
* This is the layer which has the field(s) which point to another layer
|
|
*
|
|
* @return The referencing layer
|
|
*/
|
|
QgsVectorLayer* referencingLayer() const;
|
|
|
|
/**
|
|
* Access the referenced (parent) layer's id
|
|
*
|
|
* @return The id of the referenced layer
|
|
*/
|
|
QString referencedLayerId() const;
|
|
|
|
/**
|
|
* Access the referenced (parent) layer
|
|
*
|
|
* @return referenced layer
|
|
*/
|
|
QgsVectorLayer* referencedLayer() const;
|
|
|
|
/**
|
|
* Returns the field pairs which form this relation
|
|
* The first element of each pair are the field names fo the foreign key.
|
|
* The second element of each pair are the field names of the matching primary key.
|
|
*
|
|
* @return The fields forming the relation
|
|
*/
|
|
QMap< QString, QString > fieldPairs() const;
|
|
%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
|
|
|
|
/**
|
|
* Returns a list of attributes used to form the referenced fields
|
|
* (most likely primary key) on the referenced layer.
|
|
*
|
|
* @return A list of attributes
|
|
*/
|
|
QgsAttributeList referencedFields() const;
|
|
|
|
/**
|
|
* Returns a list of attributes used to form the referencing fields
|
|
* (foreign key) on the referencing layer.
|
|
*
|
|
* @return A list of attributes
|
|
*/
|
|
QgsAttributeList referencingFields() const;
|
|
|
|
/**
|
|
* Returns the validity of this relation. Don't use the information if it's not valid.
|
|
*
|
|
* @return true if the relation is valid
|
|
*/
|
|
bool isValid() const;
|
|
|
|
protected:
|
|
void updateRelationStatus();
|
|
};
|