QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
gui
codeeditors
qgscodeeditorjs.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
qgscodeeditorjs.cpp - A Javascript editor based on QScintilla
3
--------------------------------------
4
Date : June 2020
5
Copyright : (C) 2020 by 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
#include "
qgscodeeditorjs.h
"
17
18
#include <QFont>
19
#include <QString>
20
#include <QWidget>
21
#include <Qsci/qscilexerjavascript.h>
22
23
#include "moc_qgscodeeditorjs.cpp"
24
25
QgsCodeEditorJavascript::QgsCodeEditorJavascript
( QWidget *parent )
26
:
QgsCodeEditor
( parent, QString(), false, false,
QgsCodeEditor
::
Flag
::CodeFolding )
27
{
28
if
( !parent )
29
{
30
setTitle
( tr(
"JavaScript Editor"
) );
31
}
32
QgsCodeEditorJavascript::initializeLexer
();
33
}
34
35
Qgis::ScriptLanguage
QgsCodeEditorJavascript::language
()
const
36
{
37
return
Qgis::ScriptLanguage::JavaScript
;
38
}
39
40
void
QgsCodeEditorJavascript::initializeLexer
()
41
{
42
QsciLexerJavaScript *lexer =
new
QsciLexerJavaScript(
this
);
43
44
QFont font =
lexerFont
();
45
lexer->setDefaultFont( font );
46
lexer->setFont( font, -1 );
47
48
font.setItalic(
true
);
49
lexer->setFont( font, QsciLexerJavaScript::Comment );
50
lexer->setFont( font, QsciLexerJavaScript::CommentLine );
51
52
lexer->setDefaultColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Default
) );
53
lexer->setDefaultPaper(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Background
) );
54
lexer->setPaper(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Background
), -1 );
55
56
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Class
), QsciLexerJavaScript::GlobalClass );
57
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Keyword
), QsciLexerJavaScript::Keyword );
58
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Operator
), QsciLexerJavaScript::Operator );
59
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Number
), QsciLexerJavaScript::Number );
60
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Comment
), QsciLexerJavaScript::Comment );
61
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::CommentLine
), QsciLexerJavaScript::CommentLine );
62
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::DoubleQuote
), QsciLexerJavaScript::DoubleQuotedString );
63
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::SingleQuote
), QsciLexerJavaScript::SingleQuotedString );
64
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Identifier
), QsciLexerJavaScript::Identifier );
65
66
setLexer( lexer );
67
setLineNumbersVisible
(
true
);
68
runPostLexerConfigurationTasks
();
69
}
Qgis::ScriptLanguage
ScriptLanguage
Scripting languages.
Definition
qgis.h:4978
Qgis::ScriptLanguage::JavaScript
@ JavaScript
JavaScript.
Definition
qgis.h:4982
QgsCodeEditorColorScheme::ColorRole::Comment
@ Comment
Comment color.
Definition
qgscodeeditorcolorscheme.h:45
QgsCodeEditorColorScheme::ColorRole::Keyword
@ Keyword
Keyword color.
Definition
qgscodeeditorcolorscheme.h:40
QgsCodeEditorColorScheme::ColorRole::Identifier
@ Identifier
Identifier color.
Definition
qgscodeeditorcolorscheme.h:57
QgsCodeEditorColorScheme::ColorRole::DoubleQuote
@ DoubleQuote
Double quote color.
Definition
qgscodeeditorcolorscheme.h:52
QgsCodeEditorColorScheme::ColorRole::CommentLine
@ CommentLine
Line comment color.
Definition
qgscodeeditorcolorscheme.h:46
QgsCodeEditorColorScheme::ColorRole::Default
@ Default
Default text color.
Definition
qgscodeeditorcolorscheme.h:39
QgsCodeEditorColorScheme::ColorRole::Class
@ Class
Class color.
Definition
qgscodeeditorcolorscheme.h:41
QgsCodeEditorColorScheme::ColorRole::Background
@ Background
Background color.
Definition
qgscodeeditorcolorscheme.h:48
QgsCodeEditorColorScheme::ColorRole::SingleQuote
@ SingleQuote
Single quote color.
Definition
qgscodeeditorcolorscheme.h:51
QgsCodeEditorColorScheme::ColorRole::Number
@ Number
Number color.
Definition
qgscodeeditorcolorscheme.h:44
QgsCodeEditorColorScheme::ColorRole::Operator
@ Operator
Operator color.
Definition
qgscodeeditorcolorscheme.h:55
QgsCodeEditorJavascript::QgsCodeEditorJavascript
QgsCodeEditorJavascript(QWidget *parent=nullptr)
Constructor for QgsCodeEditorJavascript.
Definition
qgscodeeditorjs.cpp:25
QgsCodeEditorJavascript::language
Qgis::ScriptLanguage language() const override
Returns the associated scripting language.
Definition
qgscodeeditorjs.cpp:35
QgsCodeEditorJavascript::initializeLexer
void initializeLexer() override
Called when the dialect specific code lexer needs to be initialized (or reinitialized).
Definition
qgscodeeditorjs.cpp:40
QgsCodeEditor::runPostLexerConfigurationTasks
void runPostLexerConfigurationTasks()
Performs tasks which must be run after a lexer has been set for the widget.
Definition
qgscodeeditor.cpp:468
QgsCodeEditor::setTitle
void setTitle(const QString &title)
Set the widget title.
Definition
qgscodeeditor.cpp:552
QgsCodeEditor::QgsCodeEditor
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.
Definition
qgscodeeditor.cpp:96
QgsCodeEditor::Flag
Flag
Flags controlling behavior of code editor.
Definition
qgscodeeditor.h:151
QgsCodeEditor::setLineNumbersVisible
void setLineNumbersVisible(bool visible)
Sets whether line numbers should be visible in the editor.
Definition
qgscodeeditor.cpp:618
QgsCodeEditor::lexerFont
QFont lexerFont() const
Returns the font to use in the lexer.
Definition
qgscodeeditor.cpp:435
QgsCodeEditor::lexerColor
QColor lexerColor(QgsCodeEditorColorScheme::ColorRole role) const
Returns the color to use in the lexer for the specified role.
Definition
qgscodeeditor.cpp:419
qgscodeeditorjs.h
Generated on
for QGIS API Documentation by
1.17.0