QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
gui
codeeditors
qgscodeeditorcss.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
qgscodeeditorcss.cpp - A CSS editor based on QScintilla
3
--------------------------------------
4
Date : 27-Jul-2014
5
Copyright : (C) 2014 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 "
qgscodeeditorcss.h
"
17
18
#include <QFont>
19
#include <QString>
20
#include <QWidget>
21
#include <Qsci/qscilexercss.h>
22
23
#include "moc_qgscodeeditorcss.cpp"
24
25
using namespace
Qt::StringLiterals;
26
27
QgsCodeEditorCSS::QgsCodeEditorCSS
( QWidget *parent )
28
:
QgsCodeEditor
( parent, QString(), false, false,
QgsCodeEditor
::
Flag
::CodeFolding )
29
{
30
if
( !parent )
31
{
32
setTitle
( tr(
"CSS Editor"
) );
33
}
34
QgsCodeEditorCSS::initializeLexer
();
35
}
36
37
Qgis::ScriptLanguage
QgsCodeEditorCSS::language
()
const
38
{
39
return
Qgis::ScriptLanguage::Css
;
40
}
41
42
void
QgsCodeEditorCSS::initializeLexer
()
43
{
44
QsciLexerCSS *lexer =
new
QgsQsciLexerCSS(
this
);
45
46
QFont font =
lexerFont
();
47
lexer->setDefaultFont( font );
48
lexer->setFont( font, -1 );
49
50
font.setItalic(
true
);
51
lexer->setFont( font, QsciLexerCSS::Comment );
52
53
font.setItalic(
false
);
54
font.setBold(
true
);
55
lexer->setFont( font, QsciLexerCSS::SingleQuotedString );
56
lexer->setFont( font, QsciLexerCSS::DoubleQuotedString );
57
58
lexer->setDefaultColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Default
) );
59
lexer->setDefaultPaper(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Background
) );
60
lexer->setPaper(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Background
), -1 );
61
62
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Tag
), QsciLexerCSS::Tag );
63
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Class
), QsciLexerCSS::ClassSelector );
64
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Keyword
), QsciLexerCSS::Attribute );
65
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Method
), QsciLexerCSS::PseudoClass );
66
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Method
), QsciLexerCSS::UnknownPseudoClass );
67
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Operator
), QsciLexerCSS::Operator );
68
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Number
), QsciLexerCSS::Value );
69
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Comment
), QsciLexerCSS::Comment );
70
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::DoubleQuote
), QsciLexerCSS::DoubleQuotedString );
71
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::SingleQuote
), QsciLexerCSS::SingleQuotedString );
72
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Identifier
), QsciLexerCSS::CSS1Property );
73
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Identifier
), QsciLexerCSS::UnknownProperty );
74
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Identifier
), QsciLexerCSS::CSS2Property );
75
lexer->setColor(
lexerColor
(
QgsCodeEditorColorScheme::ColorRole::Identifier
), QsciLexerCSS::CSS3Property );
76
77
setLexer( lexer );
78
79
runPostLexerConfigurationTasks
();
80
}
81
83
//
84
// QgsQsciLexerCSS
85
//
86
QgsQsciLexerCSS::QgsQsciLexerCSS( QObject *parent )
87
: QsciLexerCSS( parent )
88
{}
89
90
QString QgsQsciLexerCSS::description(
int
style )
const
91
{
92
// see https://www.riverbankcomputing.com/pipermail/qscintilla/2019-July/001415.html
93
if
( style == QsciLexerCSS::Comment )
94
return
u
"Comment"
_s;
95
96
return
QsciLexerCSS::description( style );
97
}
Qgis::ScriptLanguage
ScriptLanguage
Scripting languages.
Definition
qgis.h:4978
Qgis::ScriptLanguage::Css
@ Css
CSS.
Definition
qgis.h:4979
QgsCodeEditorCSS::language
Qgis::ScriptLanguage language() const override
Returns the associated scripting language.
Definition
qgscodeeditorcss.cpp:37
QgsCodeEditorCSS::initializeLexer
void initializeLexer() override
Called when the dialect specific code lexer needs to be initialized (or reinitialized).
Definition
qgscodeeditorcss.cpp:42
QgsCodeEditorCSS::QgsCodeEditorCSS
QgsCodeEditorCSS(QWidget *parent=nullptr)
Constructor for QgsCodeEditorCSS.
Definition
qgscodeeditorcss.cpp:27
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::Method
@ Method
Method color.
Definition
qgscodeeditorcolorscheme.h:42
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::Tag
@ Tag
Tag color.
Definition
qgscodeeditorcolorscheme.h:59
QgsCodeEditorColorScheme::ColorRole::Operator
@ Operator
Operator color.
Definition
qgscodeeditorcolorscheme.h:55
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::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
qgscodeeditorcss.h
Generated on
for QGIS API Documentation by
1.17.0