QGIS API Documentation  3.4.15-Madeira (e83d02e274)
Public Types | Signals | Public Member Functions | Static Public Member Functions | List of all members
QgsStyle Class Reference

#include <qgsstyle.h>

Inheritance diagram for QgsStyle:
Inheritance graph
[legend]

Public Types

enum  StyleEntity { SymbolEntity, TagEntity, ColorrampEntity, SmartgroupEntity }
 Enum for Entities involved in a style. More...
 

Signals

void entityTagsChanged (QgsStyle::StyleEntity entity, const QString &name, const QStringList &newTags)
 Emitted whenever an entity's tags are changed. More...
 
void favoritedChanged (QgsStyle::StyleEntity entity, const QString &name, bool isFavorite)
 Emitted whenever an entity is either favorited or un-favorited. More...
 
void groupsModified ()
 Is emitted every time a tag or smartgroup has been added, removed, or renamed. More...
 
void rampAdded (const QString &name)
 Emitted whenever a color ramp has been added to the style and the database has been updated as a result. More...
 
void rampChanged (const QString &name)
 Emitted whenever a color ramp's definition is changed. More...
 
void rampRemoved (const QString &name)
 Emitted whenever a color ramp has been removed from the style and the database has been updated as a result. More...
 
void rampRenamed (const QString &oldName, const QString &newName)
 Emitted whenever a color ramp has been renamed from oldName to newName. More...
 
void symbolChanged (const QString &name)
 Emitted whenever a symbol's definition is changed. More...
 
void symbolRemoved (const QString &name)
 Emitted whenever a symbol has been removed from the style and the database has been updated as a result. More...
 
void symbolRenamed (const QString &oldName, const QString &newName)
 Emitted whenever a symbol has been renamed from oldName to newName. More...
 
void symbolSaved (const QString &name, QgsSymbol *symbol)
 Emitted every time a new symbol has been added to the database. More...
 

Public Member Functions

 QgsStyle ()=default
 Constructor for QgsStyle. More...
 
 ~QgsStyle () override
 
bool addColorRamp (const QString &name, QgsColorRamp *colorRamp, bool update=false)
 Adds a color ramp to the style. More...
 
bool addFavorite (StyleEntity type, const QString &name)
 Adds the specified symbol to favorites. More...
 
int addSmartgroup (const QString &name, const QString &op, const QgsSmartConditionMap &conditions)
 Adds a new smartgroup to the database and returns the id. More...
 
int addSmartgroup (const QString &name, const QString &op, const QStringList &matchTag, const QStringList &noMatchTag, const QStringList &matchName, const QStringList &noMatchName)
 Adds a new smartgroup to the database and returns the id. More...
 
bool addSymbol (const QString &name, QgsSymbol *symbol, bool update=false)
 Adds a symbol to style and takes symbol's ownership. More...
 
int addTag (const QString &tagName)
 Adds a new tag and returns the tag's id. More...
 
void clear ()
 Removes all contents of the style. More...
 
QgsColorRampcolorRamp (const QString &name) const
 Returns a new copy of the specified color ramp. More...
 
int colorRampCount ()
 Returns count of color ramps. More...
 
int colorrampId (const QString &name)
 Returns the id in the style database for the given colorramp name returns 0 if not found. More...
 
QStringList colorRampNames ()
 Returns a list of names of color ramps. More...
 
const QgsColorRampcolorRampRef (const QString &name) const
 Returns a const pointer to a symbol (doesn't create new instance) More...
 
bool createDatabase (const QString &filename)
 Creates an on-disk database. More...
 
bool createMemoryDatabase ()
 Creates a temporary memory database. More...
 
void createTables ()
 Creates tables structure for new database. More...
 
bool detagSymbol (StyleEntity type, const QString &symbol, const QStringList &tags)
 Detags the symbol with the given list. More...
 
bool detagSymbol (StyleEntity type, const QString &symbol)
 Clears the symbol from all attached tags. More...
 
QString errorString ()
 Returns last error from load/save operation. More...
 
bool exportXml (const QString &filename)
 Exports the style as a XML file. More...
 
QString fileName ()
 Returns current file name of the style. More...
 
QStringList findSymbols (StyleEntity type, const QString &qword)
 Returns the names of the symbols which have a matching 'substring' in its definition. More...
 
bool importXml (const QString &filename)
 Imports the symbols and colorramps into the default style database from the given XML file. More...
 
bool load (const QString &filename)
 Loads a file into the style. More...
 
bool remove (StyleEntity type, int id)
 Removes the specified entity from the db. More...
 
bool removeColorRamp (const QString &name)
 Removes color ramp from style (and delete it) More...
 
bool removeFavorite (StyleEntity type, const QString &name)
 Removes the specified symbol from favorites. More...
 
bool removeSymbol (const QString &name)
 Removes symbol from style (and delete it) More...
 
bool rename (StyleEntity type, int id, const QString &newName)
 Renames the given entity with the specified id. More...
 
bool renameColorRamp (const QString &oldName, const QString &newName)
 Changes ramp's name. More...
 
bool renameSymbol (const QString &oldName, const QString &newName)
 Renames a symbol from oldName to newName. More...
 
bool save (QString filename=QString())
 Saves style into a file (will use current filename if empty string is passed) More...
 
bool saveColorRamp (const QString &name, QgsColorRamp *ramp, bool favorite, const QStringList &tags)
 Adds the colorramp to the DB. More...
 
bool saveSymbol (const QString &name, QgsSymbol *symbol, bool favorite, const QStringList &tags)
 Adds the symbol to the DB with the tags. More...
 
QgsSmartConditionMap smartgroup (int id)
 Returns the QgsSmartConditionMap for the given id. More...
 
int smartgroupId (const QString &smartgroup)
 Returns the DB id for the given smartgroup name. More...
 
QStringList smartgroupNames ()
 Returns the smart groups list. More...
 
QString smartgroupOperator (int id)
 Returns the operator for the smartgroup clumsy implementation TODO create a class for smartgroups. More...
 
QgsSymbolGroupMap smartgroupsListMap ()
 Returns the smart groups map with id as key and name as value. More...
 
QgsSymbolsymbol (const QString &name)
 Returns a NEW copy of symbol. More...
 
int symbolCount ()
 Returns count of symbols in style. More...
 
bool symbolHasTag (StyleEntity type, const QString &symbol, const QString &tag)
 Returns whether a given tag is associated with the symbol. More...
 
int symbolId (const QString &name)
 Returns the id in the style database for the given symbol name returns 0 if not found. More...
 
QStringList symbolNames ()
 Returns a list of names of symbols. More...
 
const QgsSymbolsymbolRef (const QString &name) const
 Returns a const pointer to a symbol (doesn't create new instance) More...
 
QStringList symbolsOfFavorite (StyleEntity type) const
 Returns the symbol names which are flagged as favorite. More...
 
QStringList symbolsOfSmartgroup (StyleEntity type, int id)
 Returns the symbols for the smartgroup. More...
 
QStringList symbolsWithTag (StyleEntity type, int tagid) const
 Returns the symbol names with which have the given tag. More...
 
QString tag (int id) const
 Returns the tag name for the given id. More...
 
int tagId (const QString &tag)
 Returns the DB id for the given tag name. More...
 
QStringList tags () const
 Returns a list of all tags in the style database. More...
 
QStringList tagsOfSymbol (StyleEntity type, const QString &symbol)
 Returns the tags associated with the symbol. More...
 
bool tagSymbol (StyleEntity type, const QString &symbol, const QStringList &tags)
 Tags the symbol with the tags in the list. More...
 

Static Public Member Functions

static void cleanDefaultStyle ()
 Deletes the default style. Only to be used by QgsApplication::exitQgis() More...
 
static QgsStyledefaultStyle ()
 Returns default application-wide style. More...
 
static bool isXmlStyleFile (const QString &path)
 Tests if the file at path is a QGIS style XML file. More...
 

Detailed Description

Definition at line 76 of file qgsstyle.h.

Member Enumeration Documentation

Enum for Entities involved in a style.

The enumerator is used for identifying the entity being operated on when generic database functions are being run.

See also
rename(), remove(), symbolsOfFavorite(), symbolsWithTag(), symbolsOfSmartgroup()
Enumerator
SymbolEntity 
TagEntity 
ColorrampEntity 
SmartgroupEntity 

Definition at line 95 of file qgsstyle.h.

Constructor & Destructor Documentation

QgsStyle::QgsStyle ( )
default

Constructor for QgsStyle.

QgsStyle::~QgsStyle ( )
override

Definition at line 41 of file qgsstyle.cpp.

Member Function Documentation

bool QgsStyle::addColorRamp ( const QString &  name,
QgsColorRamp colorRamp,
bool  update = false 
)

Adds a color ramp to the style.

Calling this method takes the ramp's ownership.

Note
Adding a color ramp with the name of existing one replaces it.
Parameters
nameis the name of the color ramp being added or updated
colorRampis the color ramp. Ownership is transferred.
updateset to true when the style DB has to be updated, by default it is false
Returns
success status of the operation

Definition at line 197 of file qgsstyle.cpp.

bool QgsStyle::addFavorite ( StyleEntity  type,
const QString &  name 
)

Adds the specified symbol to favorites.

Parameters
typeis either SymbolEntity of ColorrampEntity
nameis the name of the symbol or coloramp whose is to be added to favorites
Returns
returns the success state as bool

Definition at line 778 of file qgsstyle.cpp.

int QgsStyle::addSmartgroup ( const QString &  name,
const QString &  op,
const QgsSmartConditionMap conditions 
)

Adds a new smartgroup to the database and returns the id.

Parameters
nameis the name of the new Smart Group to be added
opis the operator between the conditions; AND/OR as QString
conditionsare the smart group conditions
Note
Not available from Python bindings

Definition at line 1226 of file qgsstyle.cpp.

int QgsStyle::addSmartgroup ( const QString &  name,
const QString &  op,
const QStringList &  matchTag,
const QStringList &  noMatchTag,
const QStringList &  matchName,
const QStringList &  noMatchName 
)

Adds a new smartgroup to the database and returns the id.

Parameters
nameis the name of the new Smart Group to be added
opis the operator between the conditions; AND/OR as QString
matchTaglist of strings to match within tags
noMatchTaglist of strings to exclude matches from tags
matchNamelist of string to match within names
noMatchNamelist of strings to exclude matches from names
Since
QGIS 3.4

Definition at line 1234 of file qgsstyle.cpp.

bool QgsStyle::addSymbol ( const QString &  name,
QgsSymbol symbol,
bool  update = false 
)

Adds a symbol to style and takes symbol's ownership.

Note
Adding a symbol with the name of existing one replaces it.
Parameters
nameis the name of the symbol being added or updated
symbolis the Vector symbol
updateset to true when the style DB has to be updated, by default it is false
Returns
success status of the operation

Definition at line 88 of file qgsstyle.cpp.

int QgsStyle::addTag ( const QString &  tagName)

Adds a new tag and returns the tag's id.

Parameters
tagNamethe name of the new tag to be created
Returns
returns an int, which is the DB id of the new tag created, 0 if the tag couldn't be created

Definition at line 627 of file qgsstyle.cpp.

void QgsStyle::cleanDefaultStyle ( )
static

Deletes the default style. Only to be used by QgsApplication::exitQgis()

Definition at line 71 of file qgsstyle.cpp.

void QgsStyle::clear ( )

Removes all contents of the style.

Definition at line 77 of file qgsstyle.cpp.

QgsColorRamp * QgsStyle::colorRamp ( const QString &  name) const

Returns a new copy of the specified color ramp.

The caller takes responsibility for deleting the returned object.

Definition at line 272 of file qgsstyle.cpp.

int QgsStyle::colorRampCount ( )

Returns count of color ramps.

Definition at line 283 of file qgsstyle.cpp.

int QgsStyle::colorrampId ( const QString &  name)

Returns the id in the style database for the given colorramp name returns 0 if not found.

Definition at line 1211 of file qgsstyle.cpp.

QStringList QgsStyle::colorRampNames ( )

Returns a list of names of color ramps.

Definition at line 288 of file qgsstyle.cpp.

const QgsColorRamp * QgsStyle::colorRampRef ( const QString &  name) const

Returns a const pointer to a symbol (doesn't create new instance)

Definition at line 278 of file qgsstyle.cpp.

bool QgsStyle::createDatabase ( const QString &  filename)

Creates an on-disk database.

This function creates a new on-disk permanent style database.

Returns
returns the success state of the database creation
See also
createMemoryDatabase()
Since
QGIS 3.0

Definition at line 305 of file qgsstyle.cpp.

bool QgsStyle::createMemoryDatabase ( )

Creates a temporary memory database.

This function is used to create a temporary style database in case a permanent on-disk database is not needed.

Returns
returns the success state of the temporary memory database creation
See also
createDatabase()
Since
QGIS 3.0

Definition at line 320 of file qgsstyle.cpp.

void QgsStyle::createTables ( )

Creates tables structure for new database.

This function is used to create the tables structure in a newly-created database.

Returns
returns the success state of the temporary memory database creation
See also
createDatabase()
createMemoryDatabase()
Since
QGIS 3.0

Definition at line 335 of file qgsstyle.cpp.

QgsStyle * QgsStyle::defaultStyle ( )
static

Returns default application-wide style.

Definition at line 46 of file qgsstyle.cpp.

bool QgsStyle::detagSymbol ( StyleEntity  type,
const QString &  symbol,
const QStringList &  tags 
)

Detags the symbol with the given list.

Removes the given tags for the specified symbol or colorramp

Parameters
typeis either SymbolEntity or ColorrampEntity
symbolis the name of the symbol or colorramp
tagsis the list of tags that are to be removed as QStringList
Returns
returns the success state of the operation

Definition at line 945 of file qgsstyle.cpp.

bool QgsStyle::detagSymbol ( StyleEntity  type,
const QString &  symbol 
)

Clears the symbol from all attached tags.

Removes all tags for the specified symbol or colorramp

Parameters
typeis either SymbolEntity or ColorrampEntity
symbolis the name of the symbol or colorramp
Returns
returns the success state of the operation

Definition at line 1001 of file qgsstyle.cpp.

void QgsStyle::entityTagsChanged ( QgsStyle::StyleEntity  entity,
const QString &  name,
const QStringList &  newTags 
)
signal

Emitted whenever an entity's tags are changed.

Since
QGIS 3.4
QString QgsStyle::errorString ( )
inline

Returns last error from load/save operation.

Definition at line 384 of file qgsstyle.h.

bool QgsStyle::exportXml ( const QString &  filename)

Exports the style as a XML file.

Definition at line 1496 of file qgsstyle.cpp.

void QgsStyle::favoritedChanged ( QgsStyle::StyleEntity  entity,
const QString &  name,
bool  isFavorite 
)
signal

Emitted whenever an entity is either favorited or un-favorited.

Since
QGIS 3.4
QString QgsStyle::fileName ( )
inline

Returns current file name of the style.

Definition at line 387 of file qgsstyle.h.

QStringList QgsStyle::findSymbols ( StyleEntity  type,
const QString &  qword 
)

Returns the names of the symbols which have a matching 'substring' in its definition.

Parameters
typeis either SymbolEntity or ColorrampEntity
qwordis the query string to search the symbols or colorramps.
Returns
A QStringList of the matched symbols or colorramps

Definition at line 828 of file qgsstyle.cpp.

void QgsStyle::groupsModified ( )
signal

Is emitted every time a tag or smartgroup has been added, removed, or renamed.

bool QgsStyle::importXml ( const QString &  filename)

Imports the symbols and colorramps into the default style database from the given XML file.

Definition at line 1568 of file qgsstyle.cpp.

bool QgsStyle::isXmlStyleFile ( const QString &  path)
static

Tests if the file at path is a QGIS style XML file.

This method samples only the first line in the file, so is safe to call on large xml files.

Since
QGIS 3.6

Definition at line 1703 of file qgsstyle.cpp.

bool QgsStyle::load ( const QString &  filename)

Loads a file into the style.

This function will load an on-disk database and populate styles.

Parameters
filenamelocation of the database to load styles from
Returns
returns the success state of the database being loaded

Definition at line 363 of file qgsstyle.cpp.

void QgsStyle::rampAdded ( const QString &  name)
signal

Emitted whenever a color ramp has been added to the style and the database has been updated as a result.

See also
rampRemoved()
symbolSaved()
Since
QGIS 3.4
void QgsStyle::rampChanged ( const QString &  name)
signal

Emitted whenever a color ramp's definition is changed.

This does not include name or tag changes.

See also
rampAdded()
Since
QGIS 3.4
void QgsStyle::rampRemoved ( const QString &  name)
signal

Emitted whenever a color ramp has been removed from the style and the database has been updated as a result.

See also
rampAdded()
symbolRemoved()
Since
QGIS 3.4
void QgsStyle::rampRenamed ( const QString &  oldName,
const QString &  newName 
)
signal

Emitted whenever a color ramp has been renamed from oldName to newName.

See also
symbolRenamed()
Since
QGIS 3.4
bool QgsStyle::remove ( StyleEntity  type,
int  id 
)

Removes the specified entity from the db.

Parameters
typeis any of the style entities. Refer enum StyleEntity.
idis the DB id of the entity to be removed

Definition at line 717 of file qgsstyle.cpp.

bool QgsStyle::removeColorRamp ( const QString &  name)

Removes color ramp from style (and delete it)

Definition at line 252 of file qgsstyle.cpp.

bool QgsStyle::removeFavorite ( StyleEntity  type,
const QString &  name 
)

Removes the specified symbol from favorites.

Parameters
typeis either SymbolEntity of ColorrampEntity
nameis the name of the symbol or coloramp whose is to be removed from favorites
Returns
returns the success state as bool

Definition at line 803 of file qgsstyle.cpp.

bool QgsStyle::removeSymbol ( const QString &  name)

Removes symbol from style (and delete it)

Definition at line 143 of file qgsstyle.cpp.

bool QgsStyle::rename ( StyleEntity  type,
int  id,
const QString &  newName 
)

Renames the given entity with the specified id.

Parameters
typeis any of the style entities. Refer enum StyleEntity.
idis the DB id of the entity which is to be renamed
newNameis the new name of the entity

Definition at line 667 of file qgsstyle.cpp.

bool QgsStyle::renameColorRamp ( const QString &  oldName,
const QString &  newName 
)

Changes ramp's name.

Definition at line 511 of file qgsstyle.cpp.

bool QgsStyle::renameSymbol ( const QString &  oldName,
const QString &  newName 
)

Renames a symbol from oldName to newName.

Returns true if symbol was successfully renamed.

Definition at line 475 of file qgsstyle.cpp.

bool QgsStyle::save ( QString  filename = QString())

Saves style into a file (will use current filename if empty string is passed)

Definition at line 429 of file qgsstyle.cpp.

bool QgsStyle::saveColorRamp ( const QString &  name,
QgsColorRamp ramp,
bool  favorite,
const QStringList &  tags 
)

Adds the colorramp to the DB.

Parameters
nameis the name of the colorramp as QString
rampis the pointer to the new QgsColorRamp being saved
favoriteis a boolean value to specify whether the colorramp should be added to favorites
tagsis a list of tags that are associated with the color ramp as a QStringList.
Returns
returns the success state of the save operation

Definition at line 221 of file qgsstyle.cpp.

bool QgsStyle::saveSymbol ( const QString &  name,
QgsSymbol symbol,
bool  favorite,
const QStringList &  tags 
)

Adds the symbol to the DB with the tags.

Parameters
nameis the name of the symbol as QString
symbolis the pointer to the new QgsSymbol being saved
favoriteis a boolean value to specify whether the symbol should be added to favorites
tagsis a list of tags that are associated with the symbol as a QStringList.
Returns
returns the success state of the save operation

Definition at line 112 of file qgsstyle.cpp.

QgsSmartConditionMap QgsStyle::smartgroup ( int  id)

Returns the QgsSmartConditionMap for the given id.

Definition at line 1426 of file qgsstyle.cpp.

int QgsStyle::smartgroupId ( const QString &  smartgroup)

Returns the DB id for the given smartgroup name.

Definition at line 1221 of file qgsstyle.cpp.

QStringList QgsStyle::smartgroupNames ( )

Returns the smart groups list.

Definition at line 1303 of file qgsstyle.cpp.

QString QgsStyle::smartgroupOperator ( int  id)

Returns the operator for the smartgroup clumsy implementation TODO create a class for smartgroups.

Definition at line 1466 of file qgsstyle.cpp.

QgsSymbolGroupMap QgsStyle::smartgroupsListMap ( )

Returns the smart groups map with id as key and name as value.

Definition at line 1278 of file qgsstyle.cpp.

QgsSymbol * QgsStyle::symbol ( const QString &  name)

Returns a NEW copy of symbol.

Definition at line 175 of file qgsstyle.cpp.

void QgsStyle::symbolChanged ( const QString &  name)
signal

Emitted whenever a symbol's definition is changed.

This does not include name or tag changes.

See also
symbolSaved()
Since
QGIS 3.4
int QgsStyle::symbolCount ( )

Returns count of symbols in style.

Definition at line 186 of file qgsstyle.cpp.

bool QgsStyle::symbolHasTag ( StyleEntity  type,
const QString &  symbol,
const QString &  tag 
)

Returns whether a given tag is associated with the symbol.

Parameters
typeis either SymbolEntity or ColorrampEntity
symbolis the name of the symbol or color ramp
tagthe name of the tag to look for
Returns
A boolean value identicating whether a tag was found attached to the symbol

Definition at line 1111 of file qgsstyle.cpp.

int QgsStyle::symbolId ( const QString &  name)

Returns the id in the style database for the given symbol name returns 0 if not found.

Definition at line 1206 of file qgsstyle.cpp.

QStringList QgsStyle::symbolNames ( )

Returns a list of names of symbols.

Definition at line 191 of file qgsstyle.cpp.

const QgsSymbol * QgsStyle::symbolRef ( const QString &  name) const

Returns a const pointer to a symbol (doesn't create new instance)

Definition at line 181 of file qgsstyle.cpp.

void QgsStyle::symbolRemoved ( const QString &  name)
signal

Emitted whenever a symbol has been removed from the style and the database has been updated as a result.

See also
symbolSaved()
rampRemoved()
Since
QGIS 3.4
void QgsStyle::symbolRenamed ( const QString &  oldName,
const QString &  newName 
)
signal

Emitted whenever a symbol has been renamed from oldName to newName.

See also
rampRenamed()
Since
QGIS 3.4
void QgsStyle::symbolSaved ( const QString &  name,
QgsSymbol symbol 
)
signal

Emitted every time a new symbol has been added to the database.

Emitted whenever a symbol has been added to the style and the database has been updated as a result.

See also
symbolRemoved()
rampAdded()
symbolChanged()
QStringList QgsStyle::symbolsOfFavorite ( StyleEntity  type) const

Returns the symbol names which are flagged as favorite.

Parameters
typeis either SymbolEntity or ColorampEntity
Returns
A QStringList of the symbol or colorramp names flagged as favorite

Definition at line 542 of file qgsstyle.cpp.

QStringList QgsStyle::symbolsOfSmartgroup ( StyleEntity  type,
int  id 
)

Returns the symbols for the smartgroup.

Definition at line 1327 of file qgsstyle.cpp.

QStringList QgsStyle::symbolsWithTag ( StyleEntity  type,
int  tagid 
) const

Returns the symbol names with which have the given tag.

Parameters
typeis either SymbolEntity or ColorampEntity
tagidis id of the tag which has been applied over the symbol as int
Returns
A QStringList of the symbol or colorramp names for the given tag id

Definition at line 578 of file qgsstyle.cpp.

QString QgsStyle::tag ( int  id) const

Returns the tag name for the given id.

Definition at line 1141 of file qgsstyle.cpp.

int QgsStyle::tagId ( const QString &  tag)

Returns the DB id for the given tag name.

Definition at line 1216 of file qgsstyle.cpp.

QStringList QgsStyle::tags ( ) const

Returns a list of all tags in the style database.

See also
addTag()
Since
QGIS 2.16

Definition at line 647 of file qgsstyle.cpp.

QStringList QgsStyle::tagsOfSymbol ( StyleEntity  type,
const QString &  symbol 
)

Returns the tags associated with the symbol.

Parameters
typeis either SymbolEntity or ColorrampEntity
symbolis the name of the symbol or color ramp
Returns
A QStringList of the tags that have been applied to that symbol/colorramp

Definition at line 1041 of file qgsstyle.cpp.

bool QgsStyle::tagSymbol ( StyleEntity  type,
const QString &  symbol,
const QStringList &  tags 
)

Tags the symbol with the tags in the list.

Applies the given tags to the given symbol or colorramp

Parameters
typeis either SymbolEntity or ColorrampEntity
symbolis the name of the symbol or colorramp as QString
tagsis the list of the tags that are to be applied as QStringList
Returns
returns the success state of the operation

Definition at line 892 of file qgsstyle.cpp.


The documentation for this class was generated from the following files: