QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
core
qgsstoredexpressionmanager.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsstoredexpressionmanager.h
3
-------------------
4
begin : August 2019
5
copyright : (C) 2019 David Signer
6
email : david at opengis dot ch
7
***************************************************************************/
8
9
/***************************************************************************
10
* *
11
* This program is free software; you can redistribute it and/or modify *
12
* it under the terms of the GNU General Public License as published by *
13
* the Free Software Foundation; either version 2 of the License, or *
14
* (at your option) any later version. *
15
* *
16
***************************************************************************/
17
18
#ifndef QGSSTOREDEXPRESSIONMANAGER_H
19
#define QGSSTOREDEXPRESSIONMANAGER_H
20
21
#include "qgis_core.h"
22
#include "
qgis_sip.h
"
23
24
#include <QObject>
25
#include <QString>
26
#include <QUuid>
27
28
#ifdef SIP_RUN
29
// clang-format off
30
% ModuleHeaderCode
31
#include <
qgsstoredexpressionmanager.h
>
32
% End
33
// clang-format on
34
#endif
35
36
class
QDomNode;
37
class
QDomDocument;
38
44
class
CORE_EXPORT
QgsStoredExpression
45
{
46
public
:
52
enum
Category
SIP_ENUM_BASETYPE
( IntFlag )
53
{
54
FilterExpression
= 1 << 0,
55
DefaultValueExpression
= 1 << 1,
56
All
=
FilterExpression
|
DefaultValueExpression
57
};
58
59
#ifndef SIP_RUN
60
61
QgsStoredExpression
() =
default
;
62
70
QgsStoredExpression
(
const
QString &
name
,
const
QString &
expression
,
Category
tag
=
Category::FilterExpression
)
71
:
id
( QUuid::createUuid().toString() )
72
,
name
(
name
)
73
,
expression
(
expression
)
74
,
tag
(
tag
)
75
{}
76
#endif
77
79
QString
id
;
81
QString
name
;
83
QString
expression
;
85
QgsStoredExpression::Category
tag
=
QgsStoredExpression::Category::FilterExpression
;
86
};
87
93
class
CORE_EXPORT
QgsStoredExpressionManager
:
public
QObject
94
{
95
Q_OBJECT
96
97
public
:
98
QgsStoredExpressionManager
() =
default
;
99
108
QString
addStoredExpression
(
const
QString &name,
const
QString &expression,
const
QgsStoredExpression::Category
&tag =
QgsStoredExpression::Category::FilterExpression
);
109
115
void
removeStoredExpression
(
const
QString &
id
);
116
125
void
updateStoredExpression
(
const
QString &
id
,
const
QString &name,
const
QString &expression,
const
QgsStoredExpression::Category
&tag );
126
132
void
addStoredExpressions
(
const
QList< QgsStoredExpression > &
storedExpressions
);
133
139
QList< QgsStoredExpression >
storedExpressions
(
const
QgsStoredExpression::Category
&tag =
QgsStoredExpression::Category::All
);
140
141
147
QgsStoredExpression
storedExpression
(
const
QString &
id
)
const
;
148
155
QgsStoredExpression
findStoredExpressionByExpression
(
const
QString &expression,
const
QgsStoredExpression::Category
&tag =
QgsStoredExpression::Category::All
)
const
;
156
158
void
clearStoredExpressions
();
159
161
bool
writeXml
( QDomNode &layerNode )
const
;
162
164
bool
readXml
(
const
QDomNode &layerNode );
165
166
signals:
167
168
public
slots:
169
170
private
:
171
QList< QgsStoredExpression > mStoredExpressions;
172
};
173
174
#endif
// QGSSTOREDEXPRESSIONMANAGER_H
QgsStoredExpressionManager::removeStoredExpression
void removeStoredExpression(const QString &id)
Removes an expression to the list.
Definition
qgsstoredexpressionmanager.cpp:38
QgsStoredExpressionManager::storedExpression
QgsStoredExpression storedExpression(const QString &id) const
Returns an expression according to the id.
Definition
qgsstoredexpressionmanager.cpp:91
QgsStoredExpressionManager::writeXml
bool writeXml(QDomNode &layerNode) const
Writes the stored expressions out in XML format.
Definition
qgsstoredexpressionmanager.cpp:120
QgsStoredExpressionManager::clearStoredExpressions
void clearStoredExpressions()
Clears list of stored expressions.
Definition
qgsstoredexpressionmanager.cpp:115
QgsStoredExpressionManager::findStoredExpressionByExpression
QgsStoredExpression findStoredExpressionByExpression(const QString &expression, const QgsStoredExpression::Category &tag=QgsStoredExpression::Category::All) const
Returns an expression according to the expression text.
Definition
qgsstoredexpressionmanager.cpp:103
QgsStoredExpressionManager::storedExpressions
QList< QgsStoredExpression > storedExpressions(const QgsStoredExpression::Category &tag=QgsStoredExpression::Category::All)
Returns the list of named expressions.
Definition
qgsstoredexpressionmanager.cpp:77
QgsStoredExpressionManager::addStoredExpressions
void addStoredExpressions(const QList< QgsStoredExpression > &storedExpressions)
Appends a list of expressions to the existing list.
Definition
qgsstoredexpressionmanager.cpp:72
QgsStoredExpressionManager::QgsStoredExpressionManager
QgsStoredExpressionManager()=default
QgsStoredExpressionManager::updateStoredExpression
void updateStoredExpression(const QString &id, const QString &name, const QString &expression, const QgsStoredExpression::Category &tag)
Updates an expression by id.
Definition
qgsstoredexpressionmanager.cpp:53
QgsStoredExpressionManager::readXml
bool readXml(const QDomNode &layerNode)
Reads the stored expressions in in XML format.
Definition
qgsstoredexpressionmanager.cpp:137
QgsStoredExpressionManager::addStoredExpression
QString addStoredExpression(const QString &name, const QString &expression, const QgsStoredExpression::Category &tag=QgsStoredExpression::Category::FilterExpression)
Adds an expression to the list.
Definition
qgsstoredexpressionmanager.cpp:29
QgsStoredExpression
Stored expression containing name, content (expression text) and a category tag.
Definition
qgsstoredexpressionmanager.h:45
QgsStoredExpression::QgsStoredExpression
QgsStoredExpression()=default
QgsStoredExpression::expression
QString expression
expression text
Definition
qgsstoredexpressionmanager.h:83
QgsStoredExpression::Category
Category
Categories of use cases FilterExpression for stored expressions to filter attribute table DefaultValu...
Definition
qgsstoredexpressionmanager.h:53
QgsStoredExpression::DefaultValueExpression
@ DefaultValueExpression
Expressions to determine default values (not yet used).
Definition
qgsstoredexpressionmanager.h:55
QgsStoredExpression::All
@ All
Definition
qgsstoredexpressionmanager.h:56
QgsStoredExpression::FilterExpression
@ FilterExpression
Expressions to filter features.
Definition
qgsstoredexpressionmanager.h:54
QgsStoredExpression::id
QString id
generated uuid used for identification
Definition
qgsstoredexpressionmanager.h:79
QgsStoredExpression::QgsStoredExpression
QgsStoredExpression(const QString &name, const QString &expression, Category tag=Category::FilterExpression)
Create a new QgsStoredExpression with a generated uuid as id.
Definition
qgsstoredexpressionmanager.h:70
QgsStoredExpression::name
QString name
descriptive name of the expression
Definition
qgsstoredexpressionmanager.h:81
QgsStoredExpression::tag
QgsStoredExpression::Category tag
category of the expression use case
Definition
qgsstoredexpressionmanager.h:85
qgis_sip.h
SIP_ENUM_BASETYPE
#define SIP_ENUM_BASETYPE(type)
Definition
qgis_sip.h:277
qgsstoredexpressionmanager.h
Generated on
for QGIS API Documentation by
1.17.0