QGIS API Documentation
3.41.0-Master (af5edcb665c)
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
void
initializeLexer()
override
;
60
61
private
:
62
void
updateApis();
63
QsciAPIs *mApis =
nullptr
;
64
QsciLexerSQL *mSqlLexer =
nullptr
;
65
66
QStringList mVariables;
67
QStringList mContextFunctions;
68
QStringList mFunctions;
69
QStringList mFieldNames;
70
};
71
72
#ifndef SIP_RUN
74
84
class
QgsLexerExpression :
public
QsciLexerSQL
85
{
86
Q_OBJECT
87
88
public
:
90
explicit
QgsLexerExpression( QObject *parent =
nullptr
);
91
92
const
char
*language()
const override
;
93
94
bool
caseSensitive()
const override
;
95
96
const
char
*wordCharacters()
const override
;
97
};
98
99
class
QgsSciApisExpression :
public
QsciAPIs
100
{
101
Q_OBJECT
102
public
:
103
QgsSciApisExpression( QsciLexer *lexer );
104
105
QStringList callTips(
const
QStringList &context,
int
commas, QsciScintilla::CallTipsStyle style, QList<int> &shifts )
override
;
106
};
108
#endif
109
110
#endif
Qgis::ScriptLanguage
ScriptLanguage
Scripting languages.
Definition
qgis.h:4244
QgsCodeEditorExpression
A QGIS expression editor based on QScintilla2.
Definition
qgscodeeditorexpression.h:37
QgsCodeEditor
A text editor based on QScintilla2.
Definition
qgscodeeditor.h:98
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 Thu Dec 26 2024 02:19:01 for QGIS API Documentation by
1.9.8