QGIS API Documentation
3.6.0-Noosa (5873452)
src
gui
qgscodeeditorexpression.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgscodeeditorsql.h - A SQL editor based on QScintilla
3
--------------------------------------
4
Date : 06-Oct-2013
5
Copyright : (C) 2013 by Salvatore Larosa
6
Email : lrssvtml (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 QGSCODEEDITOREXPRESSION_H
17
#define QGSCODEEDITOREXPRESSION_H
18
19
#include "
qgis_sip.h
"
20
#include "qgis_gui.h"
21
#include "
qgscodeeditor.h
"
22
#include "
qgsexpressioncontext.h
"
23
24
#include <Qsci/qscilexersql.h>
25
26
SIP_IF_MODULE
( HAVE_QSCI_SIP )
27
28
36
class GUI_EXPORT
QgsCodeEditorExpression
: public
QgsCodeEditor
37
{
38
Q_OBJECT
39
40
public
:
42
QgsCodeEditorExpression
( QWidget *parent
SIP_TRANSFERTHIS
=
nullptr
);
43
49
void
setExpressionContext(
const
QgsExpressionContext
&context );
50
54
void
setFields(
const
QgsFields
&fields );
55
56
private
:
57
void
initializeLexer();
58
void
updateApis();
59
QsciAPIs *mApis =
nullptr
;
60
QsciLexerSQL *mSqlLexer;
61
62
QStringList mVariables;
63
QStringList mContextFunctions;
64
QStringList mFunctions;
65
QStringList mFieldNames;
66
};
67
68
#ifndef SIP_RUN
69
80
class
QgsLexerExpression :
public
QsciLexerSQL
81
{
82
Q_OBJECT
83
84
public
:
86
explicit
QgsLexerExpression( QObject *parent =
nullptr
);
87
88
const
char
*language()
const override
;
89
90
bool
caseSensitive()
const override
;
91
92
const
char
*wordCharacters()
const override
;
93
};
94
95
class
QgsSciApisExpression :
public
QsciAPIs
96
{
97
public
:
98
QgsSciApisExpression( QsciLexer *lexer );
99
100
QStringList callTips(
const
QStringList &context,
int
commas, QsciScintilla::CallTipsStyle style, QList<int> &shifts )
override
;
101
};
103
#endif
104
105
#endif
QgsCodeEditor
A text editor based on QScintilla2.
Definition:
qgscodeeditor.h:38
SIP_TRANSFERTHIS
#define SIP_TRANSFERTHIS
Definition:
qgis_sip.h:46
QgsCodeEditorExpression
A QGIS expression editor based on QScintilla2.
Definition:
qgscodeeditorexpression.h:36
QgsFields
Container of fields for a vector layer.
Definition:
qgsfields.h:42
qgsexpressioncontext.h
SIP_IF_MODULE
#define SIP_IF_MODULE(condition)
Definition:
qgis_sip.h:28
QgsExpressionContext
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Definition:
qgsexpressioncontext.h:371
qgis_sip.h
qgscodeeditor.h
Generated on Sat Feb 23 2019 03:59:22 for QGIS API Documentation by
1.8.13