59#define QGSCLIPBOARD_STYLE_MIME "application/qgis.style"
104 Q_ENUM( SymbolTableColumn )
116 Q_ENUM( TagTableColumn )
128 Q_ENUM( TagmapTableColumn )
142 Q_ENUM( ColorRampTableColumn )
156 Q_ENUM( TextFormatTableColumn )
170 Q_ENUM( LabelSettingsTableColumn )
183 Q_ENUM( SmartGroupTableColumn )
220 QString name()
const;
228 void setName(
const QString &name );
250 bool isReadOnly()
const;
261 void setReadOnly(
bool readOnly );
307 bool addTextFormat(
const QString &name,
const QgsTextFormat &format,
bool update =
false );
319 bool addLabelSettings(
const QString &name,
const QgsPalLayerSettings &settings,
bool update =
false );
331 bool addLegendPatchShape(
const QString &name,
const QgsLegendPatchShape &shape,
bool update =
false );
351 int addTag(
const QString &tagName );
376 int addSmartgroup(
const QString &name,
const QString &op,
const QStringList &matchTag,
const QStringList &noMatchTag,
377 const QStringList &matchName,
const QStringList &noMatchName );
384 QStringList tags()
const;
396 int colorRampCount();
399 QStringList colorRampNames()
const;
402 const QgsColorRamp *colorRampRef(
const QString &name )
const;
408 int colorrampId(
const QString &name );
421 int textFormatCount()
const;
427 QStringList textFormatNames()
const;
435 int textFormatId(
const QString &name );
455 int legendPatchShapesCount()
const;
477 int symbol3DCount()
const;
485 QList< Qgis::GeometryType > symbol3DCompatibleGeometryTypes(
const QString &name )
const;
500 int labelSettingsCount()
const;
506 QStringList labelSettingsNames()
const;
514 int labelSettingsId(
const QString &name );
524 static QgsStyle *defaultStyle(
bool initialize =
true );
527 static void cleanDefaultStyle()
SIP_SKIP;
538 bool tagSymbol( StyleEntity type, const QString &symbol, const QStringList &tags );
549 bool detagSymbol( StyleEntity type, const QString &symbol, const QStringList &tags );
559 bool detagSymbol( StyleEntity type, const QString &symbol );
562 bool removeSymbol( const QString &name );
571 bool renameEntity( StyleEntity type, const QString &oldName, const QString &newName );
578 bool renameSymbol( const QString &oldName, const QString &newName );
584 const
QgsSymbol *symbolRef( const QString &name ) const;
590 QStringList symbolNames() const;
596 int symbolId( const QString &name );
602 int entityId( StyleEntity type, const QString &name );
605 int tagId( const QString &tag );
607 int smartgroupId( const QString &smartgroup );
613 QStringList allNames( StyleEntity type ) const;
621 QStringList symbolsOfFavorite( StyleEntity type ) const;
630 QStringList symbolsWithTag( StyleEntity type,
int tagid ) const;
639 bool addFavorite( StyleEntity type, const QString &name );
648 bool removeFavorite( StyleEntity type, const QString &name );
657 bool rename( StyleEntity type,
int id, const QString &newName );
667 bool remove( StyleEntity type,
int id );
675 bool removeEntityByName( StyleEntity type, const QString &name );
686 bool saveSymbol( const QString &name,
QgsSymbol *symbol,
bool favorite, const QStringList &tags );
697 bool saveColorRamp( const QString &name,
QgsColorRamp *ramp,
bool favorite, const QStringList &tags );
700 bool removeColorRamp( const QString &name );
703 bool renameColorRamp( const QString &oldName, const QString &newName );
714 bool saveTextFormat( const QString &name, const
QgsTextFormat &format,
bool favorite, const QStringList &tags );
720 bool removeTextFormat( const QString &name );
727 bool renameTextFormat( const QString &oldName, const QString &newName );
738 bool saveLabelSettings( const QString &name, const
QgsPalLayerSettings &settings,
bool favorite, const QStringList &tags );
744 bool removeLabelSettings( const QString &name );
751 bool renameLabelSettings( const QString &oldName, const QString &newName );
764 bool saveLegendPatchShape( const QString &name, const
QgsLegendPatchShape &shape,
bool favorite, const QStringList &tags );
771 bool renameLegendPatchShape( const QString &oldName, const QString &newName );
777 QStringList legendPatchShapeNames() const;
802 QList< QList< QPolygonF > > defaultPatchAsQPolygonF(
Qgis::SymbolType type, QSizeF size ) const;
846 bool renameSymbol3D(
const QString &oldName,
const QString &newName );
852 QStringList symbol3DNames()
const;
861 bool createDatabase(
const QString &filename );
870 bool createMemoryDatabase();
891 bool load(
const QString &filename );
907 Q_DECL_DEPRECATED
bool save(
const QString &filename = QString() )
SIP_DEPRECATED;
914 QString errorString()
const {
return mErrorString; }
938 void setFileName(
const QString &filename );
947 QStringList findSymbols( StyleEntity type,
const QString &qword );
956 QStringList tagsOfSymbol( StyleEntity type,
const QString &symbol );
964 bool isFavorite( StyleEntity type,
const QString &name );
974 bool symbolHasTag( StyleEntity type,
const QString &symbol,
const QString &tag );
977 QString tag(
int id )
const;
983 QStringList smartgroupNames()
const;
991 QString smartgroupOperator(
int id );
994 QStringList symbolsOfSmartgroup( StyleEntity type,
int id );
997 bool exportXml(
const QString &filename );
1000 bool importXml(
const QString &filename );
1010 static bool isXmlStyleFile(
const QString &path );
1022 void triggerIconRebuild();
1244 bool mInitialized =
true;
1246 bool mReadOnly =
false;
1252 QMap<QString, QgsLegendPatchShape > mLegendPatchShapes;
1253 QMap<QString, QgsAbstract3DSymbol * > m3dSymbols;
1255 QHash< QgsStyle::StyleEntity, QHash< QString, QStringList > > mCachedTags;
1256 QHash< QgsStyle::StyleEntity, QHash< QString, bool > > mCachedFavorites;
1258 QString mErrorString;
1263 std::unique_ptr< QgsSymbol > mPatchMarkerSymbol;
1264 std::unique_ptr< QgsSymbol > mPatchLineSymbol;
1265 std::unique_ptr< QgsSymbol > mPatchFillSymbol;
1267 mutable QHash< int, QHash< QSizeF, QgsLegendPatchShape > > mDefaultPatchCache;
1268 mutable QHash< int, QHash< QSizeF, QList< QList< QPolygonF > > > > mDefaultPatchQPolygonFCache;
1270 QMap< QString, QDomElement > mDeferred3DsymbolElements;
1271 void handleDeferred3DSymbolCreation();
1280 void initializeDefaultStyle(
const QString &filename );
1283 bool openDatabase(
const QString &filename );
1286 bool importXml(
const QString &filename,
int sinceVersion );
1294 bool runEmptyQuery(
const QString &query );
1297 int getId(
const QString &table,
const QString &name );
1300 QString getName(
const QString &table,
int id )
const;
1310 bool updateSymbol(
StyleEntity type,
const QString &name );
1312 void clearCachedTags(
StyleEntity type,
const QString &name );
1317 bool createStyleMetadataTableIfNeeded();
1318 void upgradeIfRequired();
1323 static QString entityTableName(
StyleEntity type );
1328 static QString tagmapTableName(
StyleEntity type );
1333 static QString tagmapEntityIdFieldName(
StyleEntity type );
1336 friend class TestStyle;
1352 switch ( sipCpp->type() )
1355 sipType = sipType_QgsStyleSymbolEntity;
1359 sipType = sipType_QgsStyleColorRampEntity;
1363 sipType = sipType_QgsStyleTextFormatEntity;
1367 sipType = sipType_QgsStyleLabelSettingsEntity;
1496 : 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.
LabelSettingsTableColumn
Columns available in the label settings table.
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
@ ColorrampEntity
Color ramps.
@ LegendPatchShapeEntity
Legend patch shape.
void symbolRenamed(const QString &oldName, const QString &newName)
Emitted whenever a symbol has been renamed from oldName to newName.
ColorRampTableColumn
Columns available in the color ramp table.
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.
TextFormatTableColumn
Columns available in the text format table.
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.
SmartGroupTableColumn
Columns available in the smart group table.
TagTableColumn
Columns available in the Tags table.
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...
SymbolTableColumn
Columns available in the Symbols table.
TagmapTableColumn
Columns available in the tag to symbol table.
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.
QMap< QString, QgsTextFormat > QgsTextFormatMap
Map of name to text format.
QMap< QString, QgsColorRamp * > QgsVectorColorRampMap
QMap< int, QString > QgsSymbolGroupMap