18#ifndef QGSCOLORSCHEME_H
19#define QGSCOLORSCHEME_H
52 sipType = sipType_QgsUserColorScheme;
54 sipType = sipType_QgsRecentColorScheme;
56 sipType = sipType_QgsCustomColorScheme;
58 sipType = sipType_QgsProjectColorScheme;
60 sipType = sipType_QgsGplColorScheme;
62 sipType = sipType_QgsColorScheme;
73 ShowInColorDialog = 0x01,
74 ShowInColorButtonMenu = 0x02,
75 ShowInAllContexts = ShowInColorDialog | ShowInColorButtonMenu
77 Q_DECLARE_FLAGS( SchemeFlags, SchemeFlag )
90 virtual QString schemeName() const = 0;
96 virtual SchemeFlags flags()
const {
return ShowInColorDialog; }
110 const QColor &baseColor = QColor() ) = 0;
127 virtual bool setColors(
const QgsNamedColorList &colors,
const QString &context = QString(),
const QColor &baseColor = QColor() );
154 const QColor &baseColor = QColor() )
override;
156 bool setColors(
const QgsNamedColorList &colors,
const QString &context = QString(),
const QColor &baseColor = QColor() )
override;
185 QString schemeName()
const override;
191 QgsColorScheme::SchemeFlags flags()
const override;
197 void setName(
const QString &name ) { mName = name; }
210 void setShowSchemeInMenu(
bool show );
218 bool mEditable =
false;
220 QString gplFilePath()
override;
239 QString
schemeName()
const override {
return QObject::tr(
"Recent colors" ); }
241 SchemeFlags
flags()
const override {
return ShowInAllContexts; }
244 const QColor &baseColor = QColor() )
override;
254 static
void addRecentColor( const QColor &color );
261 static QColor lastUsedColor();
279 QString
schemeName()
const override {
return QObject::tr(
"Standard colors" ); }
281 SchemeFlags
flags()
const override {
return ShowInAllContexts; }
284 const QColor &baseColor = QColor() )
override;
288 bool setColors(
const QgsNamedColorList &colors,
const QString &context = QString(),
const QColor &baseColor = QColor() )
override;
308 QString
schemeName()
const override {
return QObject::tr(
"Project colors" ); }
310 SchemeFlags
flags()
const override {
return ShowInAllContexts; }
313 const QColor &baseColor = QColor() )
override;
317 bool setColors(
const QgsNamedColorList &colors,
const QString &context = QString(),
const QColor &baseColor = QColor() )
override;
Abstract base class for color schemes.
SchemeFlag
Flags for controlling behavior of color scheme.
virtual QgsColorScheme * clone() const =0
Clones a color scheme.
virtual QgsNamedColorList fetchColors(const QString &context=QString(), const QColor &baseColor=QColor())=0
Gets a list of colors from the scheme.
virtual bool isEditable() const
Returns whether the color scheme is editable.
A color scheme which contains custom colors set through QGIS app options dialog.
SchemeFlags flags() const override
Returns the current flags for the color scheme.
bool isEditable() const override
Returns whether the color scheme is editable.
QString schemeName() const override
Gets the name for the color scheme.
QgsCustomColorScheme()=default
Constructor for QgsCustomColorScheme.
A color scheme which stores its colors in a gpl palette file.
virtual QString gplFilePath()=0
Returns the file path for the associated gpl palette file.
QgsGplColorScheme()=default
Constructor for QgsGplColorScheme.
A color scheme which contains project specific colors set through project properties dialog.
SchemeFlags flags() const override
Returns the current flags for the color scheme.
QgsProjectColorScheme()=default
Constructor for QgsProjectColorScheme.
bool isEditable() const override
Returns whether the color scheme is editable.
QString schemeName() const override
Gets the name for the color scheme.
A color scheme which contains the most recently used colors.
QgsRecentColorScheme()=default
Constructor for QgsRecentColorScheme.
QString schemeName() const override
Gets the name for the color scheme.
SchemeFlags flags() const override
Returns the current flags for the color scheme.
A color scheme which stores its colors in a gpl palette file within the "palettes" subfolder off the ...
void setName(const QString &name)
Sets the name for the scheme.
bool isEditable() const override
Returns whether the color scheme is editable.
QList< QPair< QColor, QString > > QgsNamedColorList
List of colors paired with a friendly display name identifying the color.
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsTextRendererUtils::CurvedTextFlags)