QGIS/python/core/qgsrelationmanager.sip
2017-05-18 21:34:21 +02:00

145 lines
4.3 KiB
Plaintext

/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsrelationmanager.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/
class QgsRelationManager : QObject
{
%Docstring
This class manages a set of relations between layers.
%End
%TypeHeaderCode
#include "qgsrelationmanager.h"
%End
public:
explicit QgsRelationManager( QgsProject *project = 0 );
%Docstring
Constructor for QgsRelationManager.
\param project associated project (used to notify project of changes)
%End
void setRelations( const QList<QgsRelation> &relations );
%Docstring
Will set the specified relations and remove any relation currently set.
\param relations A list of relations to set.
%End
QMap<QString, QgsRelation> relations() const;
%Docstring
Get access to the relations managed by this class.
:return: A QMap where the key is the relation id, the value the relation object.
:rtype: QMap<str, QgsRelation>
%End
void addRelation( const QgsRelation &relation );
%Docstring
Add a relation.
\param relation The relation to add.
%End
void removeRelation( const QString &id );
%Docstring
Remove a relation.
\param id The id of the relation to remove.
%End
void removeRelation( const QgsRelation &relation );
%Docstring
Remove a relation.
\param relation The relation to remove.
%End
QgsRelation relation( const QString &id ) const;
%Docstring
Get access to a relation by its id.
\param id The id to search for
:return: A relation. Invalid if not found.
.. seealso:: relationsByName()
:rtype: QgsRelation
%End
QList<QgsRelation> relationsByName( const QString &name ) const;
%Docstring
Returns a list of relations with matching names.
\param name relation name to search for. Searching is case insensitive.
:return: a list of matching relations
.. versionadded:: 2.16
.. seealso:: relation()
:rtype: list of QgsRelation
%End
void clear();
%Docstring
Remove any relation managed by this class.
%End
QList<QgsRelation> referencingRelations( const QgsVectorLayer *layer = 0, int fieldIdx = -2 ) const;
%Docstring
Get all relations where the specified layer (and field) is the referencing part (i.e. the child table with the foreign key).
\param layer The layer which should be searched for.
\param fieldIdx The field which should be part of the foreign key. If not set will return all relations.
:return: A list of relations matching the given layer and fieldIdx.
:rtype: list of QgsRelation
%End
QList<QgsRelation> referencedRelations( QgsVectorLayer *layer = 0 ) const;
%Docstring
Get all relations where this layer is the referenced part (i.e. the parent table with the primary key being referenced from another layer).
\param layer The layer which should be searched for.
:return: A list of relations where the specified layer is the referenced part.
:rtype: list of QgsRelation
%End
static QList<QgsRelation> discoverRelations( const QList<QgsRelation> &existingRelations, const QList<QgsVectorLayer *> &layers );
%Docstring
Discover all the relations available from the current layers.
\param existingRelations the existing relations to filter them out
\param layers the current layers
:return: the list of discovered relations
.. versionadded:: 3.0
:rtype: list of QgsRelation
%End
signals:
void relationsLoaded();
%Docstring
This signal is emitted when the relations were loaded after reading a project
%End
void changed();
%Docstring
Emitted when relations are added or removed to the manager.
.. versionadded:: 2.5
%End
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsrelationmanager.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/