QGIS API Documentation
3.41.0-Master (fda2aa46e9a)
Loading...
Searching...
No Matches
src
gui
codeeditors
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
44
Qgis::ScriptLanguage
language()
const override
;
45
51
void
setExpressionContext(
const
QgsExpressionContext
&context );
52
56
void
setFields(
const
QgsFields
&fields );
57
58
protected
:
59
60
void
initializeLexer()
override
;
61
62
private
:
63
void
updateApis();
64
QsciAPIs *mApis =
nullptr
;
65
QsciLexerSQL *mSqlLexer =
nullptr
;
66
67
QStringList mVariables;
68
QStringList mContextFunctions;
69
QStringList mFunctions;
70
QStringList mFieldNames;
71
};
72
73
#ifndef SIP_RUN
75
85
class
QgsLexerExpression :
public
QsciLexerSQL
86
{
87
Q_OBJECT
88
89
public
:
91
explicit
QgsLexerExpression( QObject *parent =
nullptr
);
92
93
const
char
*language()
const override
;
94
95
bool
caseSensitive()
const override
;
96
97
const
char
*wordCharacters()
const override
;
98
};
99
100
class
QgsSciApisExpression :
public
QsciAPIs
101
{
102
Q_OBJECT
103
public
:
104
QgsSciApisExpression( QsciLexer *lexer );
105
106
QStringList callTips(
const
QStringList &context,
int
commas, QsciScintilla::CallTipsStyle style, QList<int> &shifts )
override
;
107
};
109
#endif
110
111
#endif
Qgis::ScriptLanguage
ScriptLanguage
Scripting languages.
Definition
qgis.h:4173
QgsCodeEditorExpression
A QGIS expression editor based on QScintilla2.
Definition
qgscodeeditorexpression.h:37
QgsCodeEditor
A text editor based on QScintilla2.
Definition
qgscodeeditor.h:101
QgsExpressionContext
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Definition
qgsexpressioncontext.h:471
QgsFields
Container of fields for a vector layer.
Definition
qgsfields.h:46
qgis_sip.h
SIP_IF_MODULE
#define SIP_IF_MODULE(condition)
Definition
qgis_sip.h:28
SIP_TRANSFERTHIS
#define SIP_TRANSFERTHIS
Definition
qgis_sip.h:53
qgscodeeditor.h
qgsexpressioncontext.h
Generated on Sun Nov 10 2024 14:15:43 for QGIS API Documentation by
1.9.8