QGIS API Documentation  2.99.0-Master (08c2e66)
qgsexpressionfieldbuffer.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsexpressionfieldbuffer.h
3  ---------------------------
4  begin : May 27, 2014
5  copyright : (C) 2014 by Matthias Kuhn
6  email : matthias 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 QGSEXPRESSIONFIELDBUFFER_H
19 #define QGSEXPRESSIONFIELDBUFFER_H
20 
21 #include "qgis_core.h"
22 #include <QString>
23 #include <QList>
24 #include <QDomNode>
25 
26 #include "qgsfields.h"
27 #include "qgsexpression.h"
28 
34 class CORE_EXPORT QgsExpressionFieldBuffer
35 {
36  public:
37  typedef struct ExpressionField
38  {
39  ExpressionField( const QString& exp, const QgsField& fld )
40  : cachedExpression( exp )
41  , field( fld )
42  {}
43 
47 
49 
56  void addExpression( const QString& exp, const QgsField& fld );
57 
63  void removeExpression( int index );
64 
73  void renameExpression( int index, const QString& name );
74 
83  void updateExpression( int index, const QString& exp );
84 
88  void writeXml( QDomNode& layer_node, QDomDocument& document ) const;
89 
93  void readXml( const QDomNode& layer_node );
94 
100  void updateFields( QgsFields& flds );
101 
102  QList<ExpressionField> expressions() const { return mExpressions; }
103 
104  private:
105  QList<ExpressionField> mExpressions;
106 };
107 
108 #endif // QGSEXPRESSIONFIELDBUFFER_H
Class for parsing and evaluation of expressions (formerly called "search strings").
static unsigned index
Container of fields for a vector layer.
Definition: qgsfields.h:39
QList< ExpressionField > expressions() const
ExpressionField(const QString &exp, const QgsField &fld)
Encapsulate a field in an attribute table or data source.
Definition: qgsfield.h:45
Buffers information about expression fields for a vector layer.