15#ifndef QGSPROJECTSTYLESETTINGS_H
16#define QGSPROJECTSTYLESETTINGS_H
24#include <QAbstractListModel>
26#include <QSortFilterProxyModel>
100 void setDefaultTextFormat(
const QgsTextFormat &textFormat );
110 void setRandomizeDefaultSymbolColor(
bool randomized );
120 void setDefaultSymbolOpacity(
double opacity );
132 void removeProjectStyle();
196 void setColorSpace(
const QColorSpace &colorSpace );
209 QColorSpace colorSpace()
const;
240 QList< QgsStyle * > styles()
const;
245 QgsStyle *styleAtPath(
const QString &path );
259 void addStyleDatabasePath(
const QString &path );
273 void setStyleDatabasePaths(
const QStringList &paths );
336 std::unique_ptr< QgsSymbol > mDefaultMarkerSymbol;
337 std::unique_ptr< QgsSymbol > mDefaultLineSymbol;
338 std::unique_ptr< QgsSymbol > mDefaultFillSymbol;
339 std::unique_ptr< QgsColorRamp > mDefaultColorRamp;
342 bool mRandomizeDefaultSymbolColor =
true;
343 double mDefaultSymbolOpacity = 1.0;
346 QStringList mStyleDatabases;
347 QList< QPointer< QgsStyle > > mStyles;
351 QColorSpace mColorSpace;
352 QString mIccProfileFilePath;
354 void loadStyleAtPath(
const QString &path );
360 friend class TestQgsProjectProperties;
398 int rowCount(
const QModelIndex &parent )
const override;
399 QVariant data(
const QModelIndex &index,
int role )
const override;
405 QgsStyle *styleFromIndex(
const QModelIndex &index )
const;
411 QModelIndex indexFromStyle(
QgsStyle *style )
const;
418 void setShowDefaultStyle(
bool show );
428 void styleDatabaseAboutToBeAdded(
const QString &path );
429 void styleDatabaseAboutToBeRemoved(
const QString &path );
430 void styleDatabaseAdded(
const QString &path );
431 void styleDatabaseRemoved(
const QString &path );
433 void setProjectStyle(
QgsStyle *style );
434 void projectStyleAboutToBeDestroyed();
435 void projectStyleDestroyed();
436 void projectStyleChanged();
440 bool mShowDefault =
false;
441 QPointer< QgsStyle > mProjectStyle;
461 FilterHideReadOnly = 1 << 0,
473 bool filterAcceptsRow(
int sourceRow, const QModelIndex &sourceParent ) const override;
QFlags< ProjectReadFlag > ProjectReadFlags
Project load flags.
ColorModel
Color model types.
Abstract base class for color ramps.
A model which contains entities from multiple QgsStyle databases.
List model representing the style databases associated with a QgsProject.
CustomRole
Custom model roles.
bool showDefaultStyle() const
Returns true if the model includes the default style.
A proxy model for filtering QgsProjectStyleDatabaseModel.
Filter
Available filter flags for filtering the model.
QFlags< Filter > Filters
Available filter flags for filtering the model.
Contains settings and properties relating to how a QgsProject should handle styling.
double defaultSymbolOpacity() const
Returns the default symbol opacity.
void projectStyleChanged()
Emitted when the style returned by projectStyle() is changed.
bool randomizeDefaultSymbolColor() const
Returns whether the default symbol fill color is randomized.
QStringList styleDatabasePaths() const
Returns a list of all style databases (file paths) associated with the project.
void styleDatabaseAdded(const QString &path)
Emitted when a style database path is added.
void styleDatabaseAboutToBeRemoved(const QString &path)
Emitted when a style database path is about to be removed.
void styleDatabaseRemoved(const QString &path)
Emitted when a style database path is removed.
void styleDatabaseAboutToBeAdded(const QString &path)
Emitted when a style database path is about to be added.
void styleDatabasesChanged()
Emitted whenever the set of style databases associated with the project is changed.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
The class is used as a container of context for various read/write operations on other objects.
Abstract base class for all rendered symbols.
Container for all settings relating to text rendering.
#define SIP_ENUM_BASETYPE(type)
#define SIP_MONKEYPATCH_SCOPEENUM_UNNEST(OUTSIDE_CLASS, FORMERNAME)
#define SIP_MONKEYPATCH_COMPAT_NAME(FORMERNAME)
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsTextRendererUtils::CurvedTextFlags)