QGIS API Documentation
4.3.0-Master (52aa6503bed)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
gui
codeeditors
qgscodeeditorjson.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
qgscodeeditorjson.cpp - A JSON editor based on QScintilla
3
--------------------------------------
4
Date : 4.5.2021
5
Copyright : (C) 2021 Damiano Lombardi
6
Email : damiano at opengis dot ch
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 "
qgscodeeditorjson.h
"
17
18
#include <QFont>
19
#include <QString>
20
#include <QWidget>
21
#include <Qsci/qscilexerjson.h>
22
23
#include "moc_qgscodeeditorjson.cpp"
24
25
QgsCodeEditorJson::QgsCodeEditorJson
( QWidget *parent )
26
:
QgsCodeEditor
( parent, QString(), false, false,
QgsCodeEditor
::
Flag
::CodeFolding )
27
{
28
if
( !parent )
29
{
30
setTitle
( tr(
"JSON Editor"
) );
31
}
32
QgsCodeEditorJson::initializeLexer
();
33
}
34
35
Qgis::ScriptLanguage
QgsCodeEditorJson::language
()
const
36
{
37
return
Qgis::ScriptLanguage::Json
;
38
}
39
40
void
QgsCodeEditorJson::initializeLexer
()
41
{
42
QsciLexerJSON *lexer =
new
QsciLexerJSON(
this
);
43
44
QFont font =
lexerFont
();
45
lexer->setDefaultFont( font );
46
lexer->setFont( font, -1 );
47
48
font.setItalic(
true
);
49
lexer->setFont( font, QsciLexerJSON::CommentBlock );
50
lexer->setFont( font, QsciLexerJSON::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
), QsciLexerJSON::Property );
57
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Keyword
), QsciLexerJSON::Keyword );
58
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Operator
), QsciLexerJSON::Operator );
59
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Number
), QsciLexerJSON::Number );
60
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::CommentBlock
), QsciLexerJSON::CommentBlock );
61
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::CommentLine
), QsciLexerJSON::CommentLine );
62
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::DoubleQuote
), QsciLexerJSON::String );
63
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::DoubleQuote
), QsciLexerJSON::IRI );
64
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::SingleQuote
), QsciLexerJSON::UnclosedString );
65
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Error
), QsciLexerJSON::Error );
66
67
setLexer( lexer );
68
setLineNumbersVisible
(
true
);
69
runPostLexerConfigurationTasks
();
70
}
Qgis::ScriptLanguage
ScriptLanguage
Scripting languages.
Definition
qgis.h:4978
Qgis::ScriptLanguage::Json
@ Json
JSON.
Definition
qgis.h:4983
QgsCodeEditorColorScheme::ColorRole::CommentBlock
@ CommentBlock
Comment block color.
Definition
qgscodeeditorcolorscheme.h:47
QgsCodeEditorColorScheme::ColorRole::Keyword
@ Keyword
Keyword color.
Definition
qgscodeeditorcolorscheme.h:40
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::Error
@ Error
Error color.
Definition
qgscodeeditorcolorscheme.h:69
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
QgsCodeEditorJson::language
Qgis::ScriptLanguage language() const override
Returns the associated scripting language.
Definition
qgscodeeditorjson.cpp:35
QgsCodeEditorJson::initializeLexer
void initializeLexer() override
Called when the dialect specific code lexer needs to be initialized (or reinitialized).
Definition
qgscodeeditorjson.cpp:40
QgsCodeEditorJson::QgsCodeEditorJson
QgsCodeEditorJson(QWidget *parent=nullptr)
Constructor for QgsCodeEditorJson.
Definition
qgscodeeditorjson.cpp:25
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
qgscodeeditorjson.h
Generated on
for QGIS API Documentation by
1.17.0