QGIS API Documentation
4.3.0-Master (1c7cf7431bd)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
core
qgsfieldconstraints.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
qgsfieldconstraints.cpp
3
-----------------------
4
Date : November 2016
5
Copyright : (C) 2016 by Nyall Dawson
6
email : nyall dot dawson at gmail dot com
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
#include "
qgsfieldconstraints.h
"
16
17
#include "moc_qgsfieldconstraints.cpp"
18
19
QgsFieldConstraints::QgsFieldConstraints
() =
default
;
20
21
QgsFieldConstraints::ConstraintOrigin
QgsFieldConstraints::constraintOrigin
(
QgsFieldConstraints::Constraint
constraint )
const
22
{
23
if
( !( mConstraints & constraint ) )
24
return
ConstraintOriginNotSet
;
25
26
return
mConstraintOrigins.value( constraint,
ConstraintOriginNotSet
);
27
}
28
29
QgsFieldConstraints::ConstraintStrength
QgsFieldConstraints::constraintStrength
(
QgsFieldConstraints::Constraint
constraint )
const
30
{
31
if
( !( mConstraints & constraint ) )
32
return
ConstraintStrengthNotSet
;
33
34
// defaults to not set for all but expressions (which does not use strength)
35
return
mConstraintStrengths.value( constraint, constraint ==
ConstraintExpression
?
ConstraintStrengthHard
:
ConstraintStrengthNotSet
);
36
}
37
38
void
QgsFieldConstraints::setConstraintStrength
(
QgsFieldConstraints::Constraint
constraint,
QgsFieldConstraints::ConstraintStrength
strength )
39
{
40
if
( strength ==
ConstraintStrengthNotSet
)
41
{
42
mConstraintStrengths.remove( constraint );
43
}
44
else
45
{
46
mConstraintStrengths.insert( constraint, strength );
47
}
48
}
49
50
void
QgsFieldConstraints::setConstraint
(
QgsFieldConstraints::Constraint
constraint,
QgsFieldConstraints::ConstraintOrigin
origin )
51
{
52
if
( origin ==
ConstraintOriginNotSet
)
53
{
54
mConstraints &= ~constraint;
55
mConstraintOrigins.remove( constraint );
56
mConstraintStrengths.remove( constraint );
57
}
58
else
59
{
60
mConstraints |= constraint;
61
mConstraintOrigins.insert( constraint, origin );
62
if
( !mConstraintStrengths.contains( constraint ) )
63
{
64
mConstraintStrengths.insert( constraint,
ConstraintStrengthHard
);
65
}
66
}
67
}
68
69
QString
QgsFieldConstraints::constraintExpression
()
const
70
{
71
return
( mConstraints &
QgsFieldConstraints::ConstraintExpression
) ? mExpressionConstraint : QString();
72
}
73
74
void
QgsFieldConstraints::setConstraintExpression
(
const
QString &expression,
const
QString &description )
75
{
76
if
( expression.isEmpty() )
77
mConstraints &=
~QgsFieldConstraints
::ConstraintExpression
;
78
else
79
{
80
mConstraints |=
QgsFieldConstraints::ConstraintExpression
;
81
mConstraintOrigins.insert(
QgsFieldConstraints::ConstraintExpression
,
QgsFieldConstraints::ConstraintOriginLayer
);
82
}
83
84
mExpressionConstraint = expression;
85
mExpressionConstraintDescription = description;
86
}
87
88
bool
QgsFieldConstraints::operator==
(
const
QgsFieldConstraints
&other )
const
89
{
90
return
mConstraints == other.mConstraints
91
&& mConstraintOrigins == other.mConstraintOrigins
92
&& mExpressionConstraint == other.mExpressionConstraint
93
&& mExpressionConstraintDescription == other.mExpressionConstraintDescription
94
&& mConstraintStrengths == other.mConstraintStrengths
95
&& mDomainName == other.mDomainName;
96
}
QgsFieldConstraints::ConstraintStrength
ConstraintStrength
Strength of constraints.
Definition
qgsfieldconstraints.h:64
QgsFieldConstraints::ConstraintStrengthNotSet
@ ConstraintStrengthNotSet
Constraint is not set.
Definition
qgsfieldconstraints.h:65
QgsFieldConstraints::ConstraintStrengthHard
@ ConstraintStrengthHard
Constraint must be honored before feature can be accepted.
Definition
qgsfieldconstraints.h:66
QgsFieldConstraints::setConstraintStrength
void setConstraintStrength(Constraint constraint, ConstraintStrength strength)
Sets the strength of a constraint.
Definition
qgsfieldconstraints.cpp:38
QgsFieldConstraints::setConstraintExpression
void setConstraintExpression(const QString &expression, const QString &description=QString())
Set the constraint expression for the field.
Definition
qgsfieldconstraints.cpp:74
QgsFieldConstraints::ConstraintOrigin
ConstraintOrigin
Origin of constraints.
Definition
qgsfieldconstraints.h:54
QgsFieldConstraints::ConstraintOriginNotSet
@ ConstraintOriginNotSet
Constraint is not set.
Definition
qgsfieldconstraints.h:55
QgsFieldConstraints::ConstraintOriginLayer
@ ConstraintOriginLayer
Constraint was set by layer.
Definition
qgsfieldconstraints.h:57
QgsFieldConstraints::constraintStrength
ConstraintStrength constraintStrength(Constraint constraint) const
Returns the strength of a field constraint, or ConstraintStrengthNotSet if the constraint is not pres...
Definition
qgsfieldconstraints.cpp:29
QgsFieldConstraints::constraintOrigin
ConstraintOrigin constraintOrigin(Constraint constraint) const
Returns the origin of a field constraint, or ConstraintOriginNotSet if the constraint is not present ...
Definition
qgsfieldconstraints.cpp:21
QgsFieldConstraints::constraintExpression
QString constraintExpression() const
Returns the constraint expression for the field, if set.
Definition
qgsfieldconstraints.cpp:69
QgsFieldConstraints::operator==
bool operator==(const QgsFieldConstraints &other) const
Definition
qgsfieldconstraints.cpp:88
QgsFieldConstraints::Constraint
Constraint
Constraints which may be present on a field.
Definition
qgsfieldconstraints.h:43
QgsFieldConstraints::ConstraintExpression
@ ConstraintExpression
Field has an expression constraint set. See constraintExpression().
Definition
qgsfieldconstraints.h:46
QgsFieldConstraints::setConstraint
void setConstraint(Constraint constraint, ConstraintOrigin origin=ConstraintOriginLayer)
Sets a constraint on the field.
Definition
qgsfieldconstraints.cpp:50
QgsFieldConstraints::QgsFieldConstraints
QgsFieldConstraints()
Constructor for QgsFieldConstraints.
qgsfieldconstraints.h
Generated on
for QGIS API Documentation by
1.17.0