QGIS API Documentation 3.99.0-Master (d270888f95f)
Loading...
Searching...
No Matches
qgscodeeditorcolorschemeregistry.cpp
Go to the documentation of this file.
1/***************************************************************************
2 qgscodeeditorcolorschemeregistry.cpp
3 --------------------------------------
4 Date : October 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 ***************************************************************************/
16
17#include <QObject>
18#include <QString>
19
20using namespace Qt::StringLiterals;
21
23{
24 QgsCodeEditorColorScheme defaultScheme( u"default"_s, QObject::tr( "Default" ) );
25 defaultScheme.setColors(
26 {
27 { QgsCodeEditorColorScheme::ColorRole::Default, QColor( "#4d4d4c" ) },
28 { QgsCodeEditorColorScheme::ColorRole::Keyword, QColor( "#8959a8" ) },
29 { QgsCodeEditorColorScheme::ColorRole::Class, QColor( "#4271ae" ) },
30 { QgsCodeEditorColorScheme::ColorRole::Method, QColor( "#4271ae" ) },
32 { QgsCodeEditorColorScheme::ColorRole::Number, QColor( "#c82829" ) },
33 { QgsCodeEditorColorScheme::ColorRole::Comment, QColor( "#8e908c" ) },
37 { QgsCodeEditorColorScheme::ColorRole::Operator, QColor( "#8959a8" ) },
41 { QgsCodeEditorColorScheme::ColorRole::Tag, QColor( "#4271ae" ) },
43 { QgsCodeEditorColorScheme::ColorRole::Cursor, QColor( "#636363" ) },
55 { QgsCodeEditorColorScheme::ColorRole::Edge, QColor( "#efefef" ) },
56 { QgsCodeEditorColorScheme::ColorRole::Fold, QColor( "#efefef" ) },
57 { QgsCodeEditorColorScheme::ColorRole::Error, QColor( "#e31a1c" ) },
63 }
64 );
65 addColorScheme( defaultScheme );
66
67 QgsCodeEditorColorScheme solarizedLight( u"solarized"_s, QObject::tr( "Solarized (Light)" ) );
68 solarizedLight.setColors(
69 {
70 { QgsCodeEditorColorScheme::ColorRole::Default, QColor( "#586E75" ) },
71 { QgsCodeEditorColorScheme::ColorRole::Keyword, QColor( "#859900" ) },
72 { QgsCodeEditorColorScheme::ColorRole::Class, QColor( "#268BD2" ) },
73 { QgsCodeEditorColorScheme::ColorRole::Method, QColor( "#268BD2" ) },
75 { QgsCodeEditorColorScheme::ColorRole::Number, QColor( "#2AA198" ) },
76 { QgsCodeEditorColorScheme::ColorRole::Comment, QColor( "#93A1A1" ) },
80 { QgsCodeEditorColorScheme::ColorRole::Cursor, QColor( "#DC322F" ) },
82 { QgsCodeEditorColorScheme::ColorRole::Operator, QColor( "#586E75" ) },
86 { QgsCodeEditorColorScheme::ColorRole::Tag, QColor( "#2AA198" ) },
98 { QgsCodeEditorColorScheme::ColorRole::Edge, QColor( "#EEE8D5" ) },
99 { QgsCodeEditorColorScheme::ColorRole::Fold, QColor( "#EEE8D5" ) },
100 { QgsCodeEditorColorScheme::ColorRole::Error, QColor( "#DC322F" ) },
106 }
107 );
108 addColorScheme( solarizedLight );
109
110 QgsCodeEditorColorScheme solarizedDark( u"solarized_dark"_s, QObject::tr( "Solarized (Dark)" ) );
111 solarizedDark.setColors(
112 {
113 { QgsCodeEditorColorScheme::ColorRole::Default, QColor( "#839496" ) },
114 { QgsCodeEditorColorScheme::ColorRole::Keyword, QColor( "#859900" ) },
115 { QgsCodeEditorColorScheme::ColorRole::Class, QColor( "#268BD2" ) },
116 { QgsCodeEditorColorScheme::ColorRole::Method, QColor( "#268BD2" ) },
118 { QgsCodeEditorColorScheme::ColorRole::Number, QColor( "#2AA198" ) },
119 { QgsCodeEditorColorScheme::ColorRole::Comment, QColor( "#2AA198" ) },
123 { QgsCodeEditorColorScheme::ColorRole::Cursor, QColor( "#DC322F" ) },
124 { QgsCodeEditorColorScheme::ColorRole::CaretLine, QColor( "#073642" ) },
125 { QgsCodeEditorColorScheme::ColorRole::Operator, QColor( "#839496" ) },
129 { QgsCodeEditorColorScheme::ColorRole::Tag, QColor( "#268BD2" ) },
141 { QgsCodeEditorColorScheme::ColorRole::Edge, QColor( "#586E75" ) },
142 { QgsCodeEditorColorScheme::ColorRole::Fold, QColor( "#073642" ) },
143 { QgsCodeEditorColorScheme::ColorRole::Error, QColor( "#DC322F" ) },
149 }
150 );
151 addColorScheme( solarizedDark );
152}
153
155{
156 if ( mColorSchemes.contains( scheme.id() ) )
157 return false;
158
159 mColorSchemes.insert( scheme.id(), scheme );
160 return true;
161}
162
164{
165 if ( !mColorSchemes.contains( id ) )
166 return false;
167
168 mColorSchemes.remove( id );
169 return true;
170}
171
173{
174 return mColorSchemes.keys();
175}
176
178{
179 if ( !mColorSchemes.contains( id ) )
180 return mColorSchemes.value( u"default"_s );
181
182 return mColorSchemes.value( id );
183}
bool addColorScheme(const QgsCodeEditorColorScheme &scheme)
Adds a color scheme to the registry.
bool removeColorScheme(const QString &id)
Removes the color scheme with matching id from the registry.
QgsCodeEditorColorScheme scheme(const QString &id) const
Returns the color scheme with matching id.
QStringList schemes() const
Returns a list of the QgsCodeEditorColorScheme::id() values for all registered color schemes.
QgsCodeEditorColorSchemeRegistry()
Constructor for a color scheme registry.
Defines a color scheme for use in QgsCodeEditor widgets.
@ TripleSingleQuote
Triple single quote color.
@ SelectionForeground
Selection foreground color.
@ FoldIconForeground
Fold icon foreground color.
@ MatchedBraceBackground
Matched brace background color.
@ SearchMatchBackground
Background color for search matches.
@ SelectionBackground
Selection background color.
@ MatchedBraceForeground
Matched brace foreground color.
@ TripleDoubleQuote
Triple double quote color.
void setColors(const QMap< ColorRole, QColor > &colors)
Sets all colors for the scheme.