QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
core
qgsfieldconstraints.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsfieldconstraints.h
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
16
#ifndef QGSFIELDCONSTRAINTS_H
17
#define QGSFIELDCONSTRAINTS_H
18
19
#include "qgis_core.h"
20
#include "
qgis_sip.h
"
21
22
#include <QHash>
23
#include <QObject>
24
#include <QString>
25
31
32
class
CORE_EXPORT
QgsFieldConstraints
33
{
34
Q_GADGET
35
36
Q_PROPERTY(
Constraints
constraints
READ
constraints
)
37
38
public
:
42
enum
Constraint
SIP_ENUM_BASETYPE
( IntFlag )
43
{
44
ConstraintNotNull
= 1,
45
ConstraintUnique
= 1 << 1,
46
ConstraintExpression
= 1 << 2,
47
};
48
Q_DECLARE_FLAGS(
Constraints
,
Constraint
)
49
50
53
enum
ConstraintOrigin
54
{
55
ConstraintOriginNotSet
= 0,
56
ConstraintOriginProvider
,
57
ConstraintOriginLayer
,
58
};
59
63
enum
ConstraintStrength
64
{
65
ConstraintStrengthNotSet
= 0,
66
ConstraintStrengthHard
,
67
ConstraintStrengthSoft
,
68
};
69
73
QgsFieldConstraints
();
74
80
Constraints
constraints
()
const
{
return
mConstraints; }
81
87
ConstraintOrigin constraintOrigin( Constraint constraint )
const
;
88
96
ConstraintStrength constraintStrength( Constraint constraint )
const
;
97
103
void
setConstraintStrength( Constraint constraint, ConstraintStrength strength );
104
110
void
setConstraint( Constraint constraint, ConstraintOrigin origin = ConstraintOriginLayer );
111
117
void
removeConstraint
(
Constraint
constraint ) { mConstraints &= ~constraint; }
118
125
QString constraintExpression()
const
;
126
133
QString
constraintDescription
()
const
{
return
mExpressionConstraintDescription; }
134
142
void
setConstraintExpression(
const
QString &expression,
const
QString &description = QString() );
143
150
QString
domainName
()
const
{
return
mDomainName; }
151
158
void
setDomainName
(
const
QString &domain ) { mDomainName = domain; }
159
160
// TODO c++20 - replace with = default
161
bool
operator==
(
const
QgsFieldConstraints
&other )
const
;
162
163
private
:
165
Constraints mConstraints;
166
168
QHash< Constraint, ConstraintOrigin > mConstraintOrigins;
169
171
QHash< Constraint, ConstraintStrength > mConstraintStrengths;
172
174
QString mExpressionConstraint;
175
177
QString mExpressionConstraintDescription;
178
180
QString mDomainName;
181
};
182
183
Q_DECLARE_OPERATORS_FOR_FLAGS
(
QgsFieldConstraints::Constraints
)
184
185
#endif
//QGSFIELDCONSTRAINTS_H
QgsFieldConstraints
Stores information about constraints which may be present on a field.
Definition
qgsfieldconstraints.h:33
QgsFieldConstraints::ConstraintStrength
ConstraintStrength
Strength of constraints.
Definition
qgsfieldconstraints.h:64
QgsFieldConstraints::ConstraintStrengthNotSet
@ ConstraintStrengthNotSet
Constraint is not set.
Definition
qgsfieldconstraints.h:65
QgsFieldConstraints::ConstraintStrengthSoft
@ ConstraintStrengthSoft
User is warned if constraint is violated but feature can still be accepted.
Definition
qgsfieldconstraints.h:67
QgsFieldConstraints::ConstraintStrengthHard
@ ConstraintStrengthHard
Constraint must be honored before feature can be accepted.
Definition
qgsfieldconstraints.h:66
QgsFieldConstraints::ConstraintOrigin
ConstraintOrigin
Origin of constraints.
Definition
qgsfieldconstraints.h:54
QgsFieldConstraints::ConstraintOriginNotSet
@ ConstraintOriginNotSet
Constraint is not set.
Definition
qgsfieldconstraints.h:55
QgsFieldConstraints::ConstraintOriginProvider
@ ConstraintOriginProvider
Constraint was set at data provider.
Definition
qgsfieldconstraints.h:56
QgsFieldConstraints::ConstraintOriginLayer
@ ConstraintOriginLayer
Constraint was set by layer.
Definition
qgsfieldconstraints.h:57
QgsFieldConstraints::setDomainName
void setDomainName(const QString &domain)
Sets the associated field domain name, for providers which support field domains.
Definition
qgsfieldconstraints.h:158
QgsFieldConstraints::domainName
QString domainName() const
Returns the associated field domain name, for providers which support field domains.
Definition
qgsfieldconstraints.h:150
QgsFieldConstraints::Constraint
Constraint
Constraints which may be present on a field.
Definition
qgsfieldconstraints.h:43
QgsFieldConstraints::ConstraintNotNull
@ ConstraintNotNull
Field may not be null.
Definition
qgsfieldconstraints.h:44
QgsFieldConstraints::ConstraintUnique
@ ConstraintUnique
Field must have a unique value.
Definition
qgsfieldconstraints.h:45
QgsFieldConstraints::ConstraintExpression
@ ConstraintExpression
Field has an expression constraint set. See constraintExpression().
Definition
qgsfieldconstraints.h:46
QgsFieldConstraints::constraints
Constraints constraints() const
Returns any constraints which are present for the field.
Definition
qgsfieldconstraints.h:80
QgsFieldConstraints::removeConstraint
void removeConstraint(Constraint constraint)
Removes a constraint from the field.
Definition
qgsfieldconstraints.h:117
QgsFieldConstraints::constraintDescription
QString constraintDescription() const
Returns the descriptive name for the constraint expression.
Definition
qgsfieldconstraints.h:133
QgsFieldConstraints::constraints
Constraints constraints
Definition
qgsfieldconstraints.h:36
QgsFieldConstraints::QgsFieldConstraints
QgsFieldConstraints()
Constructor for QgsFieldConstraints.
QgsFieldConstraints::Constraints
QFlags< Constraint > Constraints
Definition
qgsfieldconstraints.h:48
qgis_sip.h
SIP_ENUM_BASETYPE
#define SIP_ENUM_BASETYPE(type)
Definition
qgis_sip.h:277
Q_DECLARE_OPERATORS_FOR_FLAGS
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsTimeZoneComboBox::StandardItems)
operator==
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
Definition
qgsfeatureiterator.h:427
Generated on
for QGIS API Documentation by
1.17.0