|
QGIS API Documentation
3.6.0-Noosa (5873452)
|
This class manages a set of relations between layers. More...
#include <qgsrelationmanager.h>

Public Slots | |
| void | updateRelationsStatus () |
| Updates relations status. More... | |
Signals | |
| void | changed () |
| Emitted when relations are added or removed to the manager. More... | |
| void | relationsLoaded () |
| This signal is emitted when the relations were loaded after reading a project. More... | |
Public Member Functions | |
| QgsRelationManager (QgsProject *project=nullptr) | |
| Constructor for QgsRelationManager. More... | |
| void | addRelation (const QgsRelation &relation) |
| Add a relation. More... | |
| void | clear () |
| Remove any relation managed by this class. More... | |
| QList< QgsRelation > | referencedRelations (QgsVectorLayer *layer=nullptr) const |
| Gets all relations where this layer is the referenced part (i.e. More... | |
| QList< QgsRelation > | referencingRelations (const QgsVectorLayer *layer=nullptr, int fieldIdx=-2) const |
| Gets all relations where the specified layer (and field) is the referencing part (i.e. More... | |
| Q_INVOKABLE QgsRelation | relation (const QString &id) const |
| Gets access to a relation by its id. More... | |
| QMap< QString, QgsRelation > | relations () const |
| Gets access to the relations managed by this class. More... | |
| QList< QgsRelation > | relationsByName (const QString &name) const |
| Returns a list of relations with matching names. More... | |
| void | removeRelation (const QString &id) |
| Remove a relation. More... | |
| void | removeRelation (const QgsRelation &relation) |
| Remove a relation. More... | |
| void | setRelations (const QList< QgsRelation > &relations) |
| Will set the specified relations and remove any relation currently set. More... | |
Static Public Member Functions | |
| static QList< QgsRelation > | discoverRelations (const QList< QgsRelation > &existingRelations, const QList< QgsVectorLayer *> &layers) |
| Discover all the relations available from the current layers. More... | |
This class manages a set of relations between layers.
Definition at line 34 of file qgsrelationmanager.h.
|
explicit |
Constructor for QgsRelationManager.
| project | associated project (used to notify project of changes) |
Definition at line 24 of file qgsrelationmanager.cpp.
| void QgsRelationManager::addRelation | ( | const QgsRelation & | relation | ) |
Add a relation.
Invalid relations are added only if both referencing layer and referenced layer exist.
| relation | The relation to add. |
Definition at line 51 of file qgsrelationmanager.cpp.
|
signal |
Emitted when relations are added or removed to the manager.
| void QgsRelationManager::clear | ( | ) |
Remove any relation managed by this class.
Definition at line 104 of file qgsrelationmanager.cpp.
|
static |
Discover all the relations available from the current layers.
| existingRelations | the existing relations to filter them out |
| layers | the current layers |
Definition at line 244 of file qgsrelationmanager.cpp.
| QList< QgsRelation > QgsRelationManager::referencedRelations | ( | QgsVectorLayer * | layer = nullptr | ) | const |
Gets all relations where this layer is the referenced part (i.e.
the parent table with the primary key being referenced from another layer).
| layer | The layer which should be searched for. |
Definition at line 147 of file qgsrelationmanager.cpp.
| QList< QgsRelation > QgsRelationManager::referencingRelations | ( | const QgsVectorLayer * | layer = nullptr, |
| int | fieldIdx = -2 |
||
| ) | const |
Gets all relations where the specified layer (and field) is the referencing part (i.e.
the child table with the foreign key).
| layer | The layer which should be searched for. |
| fieldIdx | The field which should be part of the foreign key. If not set will return all relations. |
Definition at line 110 of file qgsrelationmanager.cpp.
| QgsRelation QgsRelationManager::relation | ( | const QString & | id | ) | const |
Gets access to a relation by its id.
| id | The id to search for |
Definition at line 86 of file qgsrelationmanager.cpp.
| QMap< QString, QgsRelation > QgsRelationManager::relations | ( | ) | const |
Gets access to the relations managed by this class.
Definition at line 46 of file qgsrelationmanager.cpp.
| QList< QgsRelation > QgsRelationManager::relationsByName | ( | const QString & | name | ) | const |
Returns a list of relations with matching names.
| name | relation name to search for. Searching is case insensitive. |
Definition at line 91 of file qgsrelationmanager.cpp.
|
signal |
This signal is emitted when the relations were loaded after reading a project.
| void QgsRelationManager::removeRelation | ( | const QString & | id | ) |
Remove a relation.
| id | The id of the relation to remove. |
Definition at line 74 of file qgsrelationmanager.cpp.
| void QgsRelationManager::removeRelation | ( | const QgsRelation & | relation | ) |
Remove a relation.
| relation | The relation to remove. |
Definition at line 80 of file qgsrelationmanager.cpp.
| void QgsRelationManager::setRelations | ( | const QList< QgsRelation > & | relations | ) |
Will set the specified relations and remove any relation currently set.
| relations | A list of relations to set. |
Definition at line 36 of file qgsrelationmanager.cpp.
|
slot |
Updates relations status.
Definition at line 65 of file qgsrelationmanager.cpp.
1.8.13