QGIS API Documentation
3.8.0-Zanzibar (11aff65)
Main Page
Related Pages
Modules
+
Namespaces
Namespace List
+
Namespace Members
+
All
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
w
z
+
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
w
z
Variables
Typedefs
Enumerations
Enumerator
+
Classes
Class List
Class Index
Class Hierarchy
+
Class Members
+
All
2
3
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Functions
2
3
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Typedefs
a
c
e
f
g
h
k
l
m
o
p
r
s
t
u
v
w
+
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
+
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Properties
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
y
z
+
Related Functions
a
c
d
e
f
g
i
l
m
n
o
p
q
r
s
t
v
+
Files
File List
+
File Members
+
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
z
+
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
u
v
w
z
+
Variables
a
b
c
d
e
g
h
i
l
n
o
p
q
r
s
t
u
w
+
Typedefs
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
Enumerator
+
Macros
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
w
y
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
src
core
qgsrelationmanager.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsrelationmanager.h
3
--------------------------------------
4
Date : 1.3.2013
5
Copyright : (C) 2013 Matthias Kuhn
6
Email : matthias at opengis dot ch
7
***************************************************************************
8
* *
9
* This program is free software; you can redistribute it and/or modify *
10
* it under the terms of the GNU General Public License as published by *
11
* the Free Software Foundation; either version 2 of the License, or *
12
* (at your option) any later version. *
13
* *
14
***************************************************************************/
15
16
#ifndef QGSRELATIONMANAGER_H
17
#define QGSRELATIONMANAGER_H
18
19
#include "qgis_core.h"
20
#include <QObject>
21
#include <QPair>
22
#include <QDomNode>
23
#include <QDomDocument>
24
25
#include "
qgsrelation.h
"
26
27
class
QgsProject
;
28
class
QgsVectorLayer
;
29
34
class
CORE_EXPORT
QgsRelationManager
:
public
QObject
35
{
36
Q_OBJECT
37
38
public
:
39
44
explicit
QgsRelationManager
(
QgsProject
*project =
nullptr
);
45
51
void
setRelations(
const
QList<QgsRelation> &relations );
52
58
QMap<QString, QgsRelation> relations()
const
;
59
67
void
addRelation(
const
QgsRelation
&relation );
68
74
void
removeRelation(
const
QString &
id
);
75
81
void
removeRelation(
const
QgsRelation
&relation );
82
91
Q_INVOKABLE
QgsRelation
relation(
const
QString &
id
)
const
;
92
100
QList<QgsRelation> relationsByName(
const
QString &name )
const
;
101
105
void
clear();
106
115
QList<QgsRelation> referencingRelations(
const
QgsVectorLayer
*layer =
nullptr
,
int
fieldIdx = -2 )
const
;
116
124
QList<QgsRelation> referencedRelations(
QgsVectorLayer
*layer =
nullptr
)
const
;
125
134
static
QList<QgsRelation> discoverRelations(
const
QList<QgsRelation> &existingRelations,
const
QList<QgsVectorLayer *> &layers );
135
136
signals:
138
void
relationsLoaded();
139
144
void
changed();
145
146
public
slots:
147
151
void
updateRelationsStatus();
152
153
private
slots:
154
void
readProject(
const
QDomDocument &doc,
QgsReadWriteContext
&context );
155
void
writeProject( QDomDocument &doc );
156
void
layersRemoved(
const
QStringList &layers );
157
158
private
:
160
QMap<QString, QgsRelation> mRelations;
161
162
QgsProject
*mProject =
nullptr
;
163
};
164
165
#endif // QGSRELATIONMANAGER_H
QgsReadWriteContext
The class is used as a container of context for various read/write operations on other objects...
Definition:
qgsreadwritecontext.h:34
qgsrelation.h
QgsProject
Reads and writes project states.
Definition:
qgsproject.h:89
QgsRelation
Definition:
qgsrelation.h:41
QgsRelationManager
This class manages a set of relations between layers.
Definition:
qgsrelationmanager.h:34
QgsVectorLayer
Represents a vector layer which manages a vector based data sets.
Definition:
qgsvectorlayer.h:362
Generated on Sat Jun 22 2019 09:24:07 for QGIS API Documentation by
1.8.13