59#define QGSCLIPBOARD_STYLE_MIME "application/qgis.style"
200 QString name()
const;
208 void setName(
const QString &name );
230 bool isReadOnly()
const;
241 void setReadOnly(
bool readOnly );
287 bool addTextFormat(
const QString &name,
const QgsTextFormat &format,
bool update =
false );
299 bool addLabelSettings(
const QString &name,
const QgsPalLayerSettings &settings,
bool update =
false );
311 bool addLegendPatchShape(
const QString &name,
const QgsLegendPatchShape &shape,
bool update =
false );
331 int addTag(
const QString &tagName );
356 int addSmartgroup(
const QString &name,
const QString &op,
const QStringList &matchTag,
const QStringList &noMatchTag,
357 const QStringList &matchName,
const QStringList &noMatchName );
364 QStringList tags()
const;
376 int colorRampCount();
379 QStringList colorRampNames()
const;
382 const QgsColorRamp *colorRampRef(
const QString &name )
const;
388 int colorrampId(
const QString &name );
401 int textFormatCount()
const;
407 QStringList textFormatNames()
const;
415 int textFormatId(
const QString &name );
435 int legendPatchShapesCount()
const;
457 int symbol3DCount()
const;
465 QList< Qgis::GeometryType > symbol3DCompatibleGeometryTypes(
const QString &name )
const;
480 int labelSettingsCount()
const;
486 QStringList labelSettingsNames()
const;
494 int labelSettingsId(
const QString &name );
504 static QgsStyle *defaultStyle(
bool initialize =
true );
507 static void cleanDefaultStyle()
SIP_SKIP;
518 bool tagSymbol( StyleEntity type, const QString &symbol, const QStringList &tags );
529 bool detagSymbol( StyleEntity type, const QString &symbol, const QStringList &tags );
539 bool detagSymbol( StyleEntity type, const QString &symbol );
542 bool removeSymbol( const QString &name );
551 bool renameEntity( StyleEntity type, const QString &oldName, const QString &newName );
558 bool renameSymbol( const QString &oldName, const QString &newName );
564 const
QgsSymbol *symbolRef( const QString &name ) const;
570 QStringList symbolNames() const;
576 int symbolId( const QString &name );
582 int entityId( StyleEntity type, const QString &name );
585 int tagId( const QString &tag );
587 int smartgroupId( const QString &smartgroup );
593 QStringList allNames( StyleEntity type ) const;
601 QStringList symbolsOfFavorite( StyleEntity type ) const;
610 QStringList symbolsWithTag( StyleEntity type,
int tagid ) const;
619 bool addFavorite( StyleEntity type, const QString &name );
628 bool removeFavorite( StyleEntity type, const QString &name );
637 bool rename( StyleEntity type,
int id, const QString &newName );
647 bool remove( StyleEntity type,
int id );
655 bool removeEntityByName( StyleEntity type, const QString &name );
666 bool saveSymbol( const QString &name,
QgsSymbol *symbol,
bool favorite, const QStringList &tags );
677 bool saveColorRamp( const QString &name,
QgsColorRamp *ramp,
bool favorite, const QStringList &tags );
680 bool removeColorRamp( const QString &name );
683 bool renameColorRamp( const QString &oldName, const QString &newName );
694 bool saveTextFormat( const QString &name, const
QgsTextFormat &format,
bool favorite, const QStringList &tags );
700 bool removeTextFormat( const QString &name );
707 bool renameTextFormat( const QString &oldName, const QString &newName );
718 bool saveLabelSettings( const QString &name, const
QgsPalLayerSettings &settings,
bool favorite, const QStringList &tags );
724 bool removeLabelSettings( const QString &name );
731 bool renameLabelSettings( const QString &oldName, const QString &newName );
744 bool saveLegendPatchShape( const QString &name, const
QgsLegendPatchShape &shape,
bool favorite, const QStringList &tags );
751 bool renameLegendPatchShape( const QString &oldName, const QString &newName );
757 QStringList legendPatchShapeNames() const;
782 QList< QList< QPolygonF > > defaultPatchAsQPolygonF(
Qgis::SymbolType type, QSizeF size ) const;
826 bool renameSymbol3D(
const QString &oldName,
const QString &newName );
832 QStringList symbol3DNames()
const;
841 bool createDatabase(
const QString &filename );
850 bool createMemoryDatabase();
871 bool load(
const QString &filename );
887 Q_DECL_DEPRECATED
bool save(
const QString &filename = QString() )
SIP_DEPRECATED;
894 QString errorString()
const {
return mErrorString; }
918 void setFileName(
const QString &filename );
927 QStringList findSymbols( StyleEntity type,
const QString &qword );
936 QStringList tagsOfSymbol( StyleEntity type,
const QString &symbol );
944 bool isFavorite( StyleEntity type,
const QString &name );
954 bool symbolHasTag( StyleEntity type,
const QString &symbol,
const QString &tag );
957 QString tag(
int id )
const;
963 QStringList smartgroupNames()
const;
971 QString smartgroupOperator(
int id );
974 QStringList symbolsOfSmartgroup( StyleEntity type,
int id );
977 bool exportXml(
const QString &filename );
980 bool importXml(
const QString &filename );
990 static bool isXmlStyleFile(
const QString &path );
1002 void triggerIconRebuild();
1224 bool mInitialized =
true;
1226 bool mReadOnly =
false;
1232 QMap<QString, QgsLegendPatchShape > mLegendPatchShapes;
1233 QMap<QString, QgsAbstract3DSymbol * > m3dSymbols;
1235 QHash< QgsStyle::StyleEntity, QHash< QString, QStringList > > mCachedTags;
1236 QHash< QgsStyle::StyleEntity, QHash< QString, bool > > mCachedFavorites;
1238 QString mErrorString;
1243 std::unique_ptr< QgsSymbol > mPatchMarkerSymbol;
1244 std::unique_ptr< QgsSymbol > mPatchLineSymbol;
1245 std::unique_ptr< QgsSymbol > mPatchFillSymbol;
1247 mutable QHash< int, QHash< QSizeF, QgsLegendPatchShape > > mDefaultPatchCache;
1248 mutable QHash< int, QHash< QSizeF, QList< QList< QPolygonF > > > > mDefaultPatchQPolygonFCache;
1250 QMap< QString, QDomElement > mDeferred3DsymbolElements;
1251 void handleDeferred3DSymbolCreation();
1260 void initializeDefaultStyle(
const QString &filename );
1263 bool openDatabase(
const QString &filename );
1266 bool importXml(
const QString &filename,
int sinceVersion );
1274 bool runEmptyQuery(
const QString &query );
1277 int getId(
const QString &table,
const QString &name );
1280 QString getName(
const QString &table,
int id )
const;
1290 bool updateSymbol(
StyleEntity type,
const QString &name );
1292 void clearCachedTags(
StyleEntity type,
const QString &name );
1297 bool createStyleMetadataTableIfNeeded();
1298 void upgradeIfRequired();
1303 static QString entityTableName(
StyleEntity type );
1308 static QString tagmapTableName(
StyleEntity type );
1313 static QString tagmapEntityIdFieldName(
StyleEntity type );
1316 friend class TestStyle;
1332 switch ( sipCpp->type() )
1335 sipType = sipType_QgsStyleSymbolEntity;
1339 sipType = sipType_QgsStyleColorRampEntity;
1343 sipType = sipType_QgsStyleTextFormatEntity;
1347 sipType = sipType_QgsStyleLabelSettingsEntity;
1476 : mSettings( settings )
The Qgis class provides global constants for use throughout the application.
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Qgs3D is a singleton class containing various registries and other global members related to 3D class...
Abstract base class for color ramps.
Represents a patch shape for use in map legends.
Contains settings for how a map layer will be labeled.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
A color ramp entity for QgsStyle databases.
QgsStyleColorRampEntity(QgsColorRamp *ramp)
Constructor for QgsStyleColorRampEntity, with the specified color ramp.
QgsColorRamp * ramp() const
Returns the entity's color ramp.
An interface for entities which can be placed in a QgsStyle database.
virtual QgsStyle::StyleEntity type() const =0
Returns the type of style entity.
virtual ~QgsStyleEntityInterface()=default
A label settings entity for QgsStyle databases.
const QgsPalLayerSettings & settings() const
Returns the entity's label settings.
QgsStyleLabelSettingsEntity(const QgsPalLayerSettings &settings)
Constructor for QgsStyleLabelSettingsEntity, with the specified label settings.
A legend patch shape entity for QgsStyle databases.
const QgsLegendPatchShape & shape() const
Returns the entity's legend patch shape.
QgsStyleLegendPatchShapeEntity(const QgsLegendPatchShape &shape)
Constructor for QgsStyleLegendPatchShapeEntity, with the specified legend patch shape.
A 3d symbol entity for QgsStyle databases.
const QgsAbstract3DSymbol * symbol() const
Returns the entity's symbol.
QgsStyleSymbol3DEntity(const QgsAbstract3DSymbol *symbol)
Constructor for QgsStyleSymbol3DEntity, with the specified symbol.
A symbol entity for QgsStyle databases.
QgsStyleSymbolEntity(QgsSymbol *symbol)
Constructor for QgsStyleSymbolEntity, with the specified symbol.
QgsSymbol * symbol() const
Returns the entity's symbol.
A text format entity for QgsStyle databases.
QgsTextFormat format() const
Returns the entity's text format.
QgsStyleTextFormatEntity(const QgsTextFormat &format)
Constructor for QgsStyleTextFormatEntity, with the specified text format.
void labelSettingsChanged(const QString &name)
Emitted whenever a label setting's definition is changed.
void entityChanged(QgsStyle::StyleEntity entity, const QString &name)
Emitted whenever an entity's definition is changed.
void labelSettingsAdded(const QString &name)
Emitted whenever label settings have been added to the style and the database has been updated as a r...
void rampAdded(const QString &name)
Emitted whenever a color ramp has been added to the style and the database has been updated as a resu...
void rebuildIconPreviews()
Emitted whenever icon previews for entities in the style must be rebuilt.
void symbolSaved(const QString &name, QgsSymbol *symbol)
Emitted every time a new symbol has been added to the database.
void aboutToBeDestroyed()
Emitted just before the style object is destroyed.
void labelSettingsRemoved(const QString &name)
Emitted whenever label settings have been removed from the style and the database has been updated as...
StyleEntity
Enum for Entities involved in a style.
@ LabelSettingsEntity
Label settings.
@ TextFormatEntity
Text formats.
@ SmartgroupEntity
Smart groups.
@ Symbol3DEntity
3D symbol entity (since QGIS 3.14)
@ ColorrampEntity
Color ramps.
@ LegendPatchShapeEntity
Legend patch shape (since QGIS 3.14)
void symbolRenamed(const QString &oldName, const QString &newName)
Emitted whenever a symbol has been renamed from oldName to newName.
void groupsModified()
Emitted every time a tag or smartgroup has been added, removed, or renamed.
void rampRemoved(const QString &name)
Emitted whenever a color ramp has been removed from the style and the database has been updated as a ...
void entityRenamed(QgsStyle::StyleEntity entity, const QString &oldName, const QString &newName)
Emitted whenever a entity of the specified type has been renamed from oldName to newName.
void textFormatChanged(const QString &name)
Emitted whenever a text format's definition is changed.
void textFormatRenamed(const QString &oldName, const QString &newName)
Emitted whenever a text format has been renamed from oldName to newName.
void labelSettingsRenamed(const QString &oldName, const QString &newName)
Emitted whenever label settings have been renamed from oldName to newName.
void initialized()
Emitted when the style database has been fully initialized.
QString fileName() const
Returns the current file name of the style database.
void rampRenamed(const QString &oldName, const QString &newName)
Emitted whenever a color ramp has been renamed from oldName to newName.
bool isInitialized() const
Returns true if the style is initialized and ready for use.
void textFormatAdded(const QString &name)
Emitted whenever a text format has been added to the style and the database has been updated as a res...
void rampChanged(const QString &name)
Emitted whenever a color ramp's definition is changed.
void entityTagsChanged(QgsStyle::StyleEntity entity, const QString &name, const QStringList &newTags)
Emitted whenever an entity's tags are changed.
void favoritedChanged(QgsStyle::StyleEntity entity, const QString &name, bool isFavorite)
Emitted whenever an entity is either favorited or un-favorited.
void entityRemoved(QgsStyle::StyleEntity entity, const QString &name)
Emitted whenever an entity of the specified type is removed from the style and the database has been ...
void entityAdded(QgsStyle::StyleEntity entity, const QString &name)
Emitted every time a new entity has been added to the database.
TextFormatContext
Text format context.
@ Labeling
Text format used in labeling.
void symbolRemoved(const QString &name)
Emitted whenever a symbol has been removed from the style and the database has been updated as a resu...
void symbolChanged(const QString &name)
Emitted whenever a symbol's definition is changed.
void textFormatRemoved(const QString &name)
Emitted whenever a text format has been removed from the style and the database has been updated as a...
Abstract base class for all rendered symbols.
Container for all settings relating to text rendering.
Unique pointer for sqlite3 databases, which automatically closes the database when the pointer goes o...
QMultiMap< QString, QString > QgsSmartConditionMap
A multimap to hold the smart group conditions as constraint and parameter pairs.
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
QMap< QString, QgsSymbol * > QgsSymbolMap
QMap< QString, QgsPalLayerSettings > QgsLabelSettingsMap
Map of name to label settings.
TextFormatTable
Columns available in the text format table.
@ TextFormatFavoriteId
Text format is favorite flag.
@ TextFormatName
Text format name.
@ TextFormatId
Text format ID.
@ TextFormatXML
Text format definition (as XML)
QMap< QString, QgsTextFormat > QgsTextFormatMap
Map of name to text format.
SymbolTable
Columns available in the Symbols table.
@ SymbolFavoriteId
Symbol is favorite flag.
@ SymbolXML
Symbol definition (as XML)
TagmapTable
Columns available in the tag to symbol table.
@ TagmapSymbolId
Symbol ID.
QMap< QString, QgsColorRamp * > QgsVectorColorRampMap
TagTable
Columns available in the Tags table.
SmartgroupTable
Columns available in the smart group table.
@ SmartgroupXML
Smart group definition (as XML)
@ SmartgroupName
Smart group name.
@ SmartgroupId
Smart group ID.
QMap< int, QString > QgsSymbolGroupMap
LabelSettingsTable
Columns available in the label settings table.
@ LabelSettingsName
Label settings name.
@ LabelSettingsXML
Label settings definition (as XML)
@ LabelSettingsFavoriteId
Label settings is favorite flag.
@ LabelSettingsId
Label settings ID.
ColorrampTable
Columns available in the color ramp table.
@ ColorrampId
Color ramp ID.
@ ColorrampName
Color ramp name.
@ ColorrampFavoriteId
Color ramp is favorite flag.
@ ColorrampXML
Color ramp definition (as XML)