QGIS API Documentation
3.16.0-Hannover (43b64b13f3)
src
gui
qgsexpressionlineedit.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsexpressionlineedit.h
3
----------------------
4
Date : 18.08.2016
5
Copyright : (C) 2016 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 QGSEXPRESSIONLINEEDIT_H
17
#define QGSEXPRESSIONLINEEDIT_H
18
19
#include <QWidget>
20
#include "
qgis_sip.h
"
21
#include "
qgsexpressioncontext.h
"
22
#include "qgis_gui.h"
23
#include <memory>
24
25
class
QgsFilterLineEdit
;
26
class
QToolButton;
27
class
QgsDistanceArea
;
28
class
QgsExpressionContextGenerator
;
29
class
QgsCodeEditorExpression
;
30
48
class
GUI_EXPORT
QgsExpressionLineEdit
:
public
QWidget
49
{
50
Q_OBJECT
51
52
public
:
53
58
explicit
QgsExpressionLineEdit
( QWidget *parent
SIP_TRANSFERTHIS
=
nullptr
);
59
~QgsExpressionLineEdit
()
override
;
60
66
void
setExpressionDialogTitle(
const
QString &title );
67
72
QString
expressionDialogTitle
()
const
{
return
mExpressionDialogTitle; }
73
79
void
setMultiLine(
bool
multiLine );
80
88
QString expectedOutputFormat()
const
;
89
96
void
setExpectedOutputFormat(
const
QString &expected );
97
102
void
setGeomCalculator(
const
QgsDistanceArea
&distanceArea );
103
112
void
setLayer(
QgsVectorLayer
*layer );
113
118
QString expression()
const
;
119
125
bool
isValidExpression( QString *expressionError
SIP_OUT
=
nullptr
)
const
;
126
133
void
registerExpressionContextGenerator(
const
QgsExpressionContextGenerator
*generator );
134
135
signals:
136
141
void
expressionChanged
(
const
QString &expression );
142
143
public
slots:
144
150
void
setExpression(
const
QString &expression );
151
152
protected
:
153
154
void
changeEvent( QEvent *event )
override
;
155
156
private
slots:
157
159
void
expressionEdited(
const
QString &expression );
160
void
expressionEdited();
161
163
void
editExpression();
164
170
void
updateLineEditStyle(
const
QString &expression = QString() );
171
172
private
:
173
QgsFilterLineEdit
*mLineEdit =
nullptr
;
174
QgsCodeEditorExpression
*mCodeEditor =
nullptr
;
175
QToolButton *mButton =
nullptr
;
176
QString mExpressionDialogTitle;
177
std::unique_ptr<QgsDistanceArea> mDa;
178
QgsExpressionContext
mExpressionContext;
179
const
QgsExpressionContextGenerator
*mExpressionContextGenerator =
nullptr
;
180
QgsVectorLayer
*mLayer =
nullptr
;
181
QString mExpectedOutputFormat;
182
183
bool
isExpressionValid(
const
QString &expressionStr );
184
185
friend
class
TestQgsFieldExpressionWidget;
186
};
187
188
#endif // QGSEXPRESSIONLINEEDIT_H
QgsExpressionContext
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Definition:
qgsexpressioncontext.h:370
SIP_OUT
#define SIP_OUT
Definition:
qgis_sip.h:58
QgsFilterLineEdit
QLineEdit subclass with built in support for clearing the widget's value and handling custom null val...
Definition:
qgsfilterlineedit.h:40
qgsexpressioncontext.h
qgis_sip.h
QgsCodeEditorExpression
A QGIS expression editor based on QScintilla2.
Definition:
qgscodeeditorexpression.h:37
QgsVectorLayer
Represents a vector layer which manages a vector based data sets.
Definition:
qgsvectorlayer.h:387
QgsExpressionLineEdit
The QgsExpressionLineEdit widget includes a line edit for entering expressions together with a button...
Definition:
qgsexpressionlineedit.h:49
QgsExpressionLineEdit::~QgsExpressionLineEdit
~QgsExpressionLineEdit() override
QgsDistanceArea
A general purpose distance and area calculator, capable of performing ellipsoid based calculations.
Definition:
qgsdistancearea.h:50
QgsExpressionContextGenerator
Abstract interface for generating an expression context.
Definition:
qgsexpressioncontextgenerator.h:37
SIP_TRANSFERTHIS
#define SIP_TRANSFERTHIS
Definition:
qgis_sip.h:53
QgsExpressionLineEdit::expressionDialogTitle
QString expressionDialogTitle() const
Returns the title used for the expression dialog.
Definition:
qgsexpressionlineedit.h:72
QgsExpressionLineEdit::expressionChanged
void expressionChanged(const QString &expression)
Emitted when the expression is changed.
Generated on Sat Oct 24 2020 17:43:09 for QGIS API Documentation by
1.8.20