16#ifndef QGSCODEEDITOREXPRESSION_H
17#define QGSCODEEDITOREXPRESSION_H
24#include <Qsci/qscilexersql.h>
67 QsciAPIs *mApis =
nullptr;
68 QsciLexerSQL *mSqlLexer =
nullptr;
70 QStringList mVariables;
71 QStringList mContextFunctions;
72 QStringList mFunctions;
73 QStringList mFieldNames;
88class QgsLexerExpression :
public QsciLexerSQL
94 explicit QgsLexerExpression( QObject *parent =
nullptr );
96 const char *language()
const override;
98 bool caseSensitive()
const override;
100 const char *wordCharacters()
const override;
103class QgsSciApisExpression :
public QsciAPIs
107 QgsSciApisExpression( QsciLexer *lexer );
109 QStringList callTips(
const QStringList &context,
int commas, QsciScintilla::CallTipsStyle style, QList<int> &shifts )
override;
ScriptLanguage
Scripting languages.
QFlags< ScriptLanguageCapability > ScriptLanguageCapabilities
Script language capabilities.
void initializeLexer() override
Called when the dialect specific code lexer needs to be initialized (or reinitialized).
QgsCodeEditorExpression(QWidget *parent=nullptr)
Constructor for QgsCodeEditorExpression.
Qgis::ScriptLanguageCapabilities languageCapabilities() const override
Returns the associated scripting language capabilities.
void setExpressionContext(const QgsExpressionContext &context)
Variables and functions from this expression context will be added to the API.
void toggleComment() override
Toggle comment for the selected text.
void setFields(const QgsFields &fields)
Field names will be added to the API.
Qgis::ScriptLanguage language() const override
Returns the associated scripting language.
QgsCodeEditor(QWidget *parent=nullptr, const QString &title=QString(), bool folding=false, bool margin=false, QgsCodeEditor::Flags flags=QgsCodeEditor::Flags(), QgsCodeEditor::Mode mode=QgsCodeEditor::Mode::ScriptEditor)
Construct a new code editor.
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Container of fields for a vector layer.
#define SIP_IF_MODULE(condition)