mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
Instead return the inexpensive copies. Should provide extra safety against issues like #14822 (refs #14822)
69 lines
1.6 KiB
Plaintext
69 lines
1.6 KiB
Plaintext
class QgsExpressionFieldBuffer
|
|
{
|
|
%TypeHeaderCode
|
|
#include <qgsexpressionfieldbuffer.h>
|
|
%End
|
|
public:
|
|
class ExpressionField
|
|
{
|
|
ExpressionField();
|
|
ExpressionField( const QString& exp, const QgsField& fld );
|
|
};
|
|
|
|
QgsExpressionFieldBuffer();
|
|
|
|
/**
|
|
* Add an expression to the buffer
|
|
*
|
|
* @param exp expression to add
|
|
* @param fld field to add
|
|
*/
|
|
void addExpression( const QString& exp, const QgsField& fld );
|
|
|
|
/**
|
|
* Remove an expression from the buffer
|
|
*
|
|
* @param index index of expression to remove
|
|
*/
|
|
void removeExpression( int index );
|
|
|
|
/**
|
|
* Renames an expression field at a given index
|
|
*
|
|
* @param index The index of the expression to change
|
|
* @param name New name for field
|
|
*
|
|
* @note added in 3.0
|
|
*/
|
|
void renameExpression( int index, const QString& name );
|
|
|
|
/**
|
|
* Changes the expression at a given index
|
|
*
|
|
* @param index The index of the expression to change
|
|
* @param exp The new expression to set
|
|
*
|
|
* @note added in 2.9
|
|
*/
|
|
void updateExpression( int index, const QString& exp );
|
|
|
|
/**
|
|
* Saves expressions to xml under the layer node
|
|
*/
|
|
void writeXml( QDomNode& layer_node, QDomDocument& document ) const;
|
|
|
|
/**
|
|
* Reads expressions from project file
|
|
*/
|
|
void readXml( const QDomNode& layer_node );
|
|
|
|
/**
|
|
* Adds fields with the expressions buffered in this object to a QgsFields object
|
|
*
|
|
* @param flds The fields to be updated
|
|
*/
|
|
void updateFields( QgsFields& flds );
|
|
|
|
QList<QgsExpressionFieldBuffer::ExpressionField> expressions() const;
|
|
};
|