QGIS API Documentation  2.8.2-Wien
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Types | Signals | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
QgsStyleV2 Class Reference

#include <qgsstylev2.h>

Public Types

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

Signals

void symbolSaved (QString name, QgsSymbolV2 *symbol)

Public Member Functions

 QgsStyleV2 ()
 ~QgsStyleV2 ()
bool addColorRamp (QString name, QgsVectorColorRampV2 *colorRamp, bool update=false)
 add color ramp to style. takes ramp's ownership
int addGroup (QString groupName, int parent=0)
 adds a new group and returns the group's id
int addSmartgroup (QString name, QString op, QgsSmartConditionMap conditions)
 adds new smartgroup to the database and returns the id
bool addSymbol (QString name, QgsSymbolV2 *symbol, bool update=false)
 add symbol to style. takes symbol's ownership
int addTag (QString tagName)
 adds a new tag and returns the tag's id
QgsSymbolGroupMap childGroupNames (QString parent="")
 return a map of groupid and names for the given parent group
void clear ()
 remove all contents of the style
QgsVectorColorRampV2colorRamp (QString name)
 return a NEW copy of color ramp
int colorRampCount ()
 return count of color ramps
int colorrampId (QString name)
 return the id in the style database for the given colorramp name returns 0 if not found
QStringList colorRampNames ()
 return a list of names of color ramps
const QgsVectorColorRampV2colorRampRef (QString name) const
 return a const pointer to a symbol (doesn't create new instance)
bool detagSymbol (StyleEntity type, QString symbol, QStringList tags)
 detags the symbol with the given list
QString errorString ()
 return last error from load/save operation
bool exportXML (QString filename)
 Exports the style as a XML file.
QString fileName ()
 return current file name of the style
QStringList findSymbols (StyleEntity type, QString qword)
 return the names of the symbols which have a matching 'substring' in its defintion
bool group (StyleEntity type, QString name, int groupid)
 applies the specified group to the symbol or colorramp specified by StyleEntity
int groupId (QString group)
 return the DB id for the given group name
QStringList groupNames ()
 return the all the groups in the style
bool importXML (QString filename)
 Imports the symbols and colorramps into the default style database from the given XML file.
bool load (QString filename)
 load a file into the style
void remove (StyleEntity type, int id)
 remove the specified entity from the db
bool removeColorRamp (QString name)
 remove color ramp from style (and delete it)
bool removeSymbol (QString name)
 remove symbol from style (and delete it)
void rename (StyleEntity type, int id, QString newName)
 rename the given entity with the specified id
bool renameColorRamp (QString oldName, QString newName)
 change ramp's name
bool renameSymbol (QString oldName, QString newName)
 change symbol's name
bool save (QString filename=QString())
 save style into a file (will use current filename if empty string is passed)
bool saveColorRamp (QString name, QgsVectorColorRampV2 *ramp, int groupid, QStringList tags)
 add the colorramp to the DB
bool saveSymbol (QString name, QgsSymbolV2 *symbol, int groupid, QStringList tags)
 add the symbol to the DB with the tags
QgsSmartConditionMap smartgroup (int id)
 returns the QgsSmartConditionMap for the given id
int smartgroupId (QString smartgroup)
 return the DB id for the given smartgroup name
QStringList smartgroupNames ()
 returns the smart groups list
QString smartgroupOperator (int id)
 returns the operator for the smartgroup
QgsSymbolGroupMap smartgroupsListMap ()
 returns the smart groups map with id as key and name as value
QgsSymbolV2symbol (QString name)
 return a NEW copy of symbol
int symbolCount ()
 return count of symbols in style
int symbolId (QString name)
 return the id in the style database for the given symbol name returns 0 if not found
QStringList symbolNames ()
 return a list of names of symbols
const QgsSymbolV2symbolRef (QString name) const
 return a const pointer to a symbol (doesn't create new instance)
QStringList symbolsOfGroup (StyleEntity type, int groupid)
 returns the symbolnames of a given groupid
QStringList symbolsOfSmartgroup (StyleEntity type, int id)
 returns the symbols for the smartgroup
QStringList symbolsWithTag (StyleEntity type, int tagid)
 returns the symbol names with which have the given tag
int tagId (QString tag)
 return the DB id for the given tag name
QStringList tagsOfSymbol (StyleEntity type, QString symbol)
 return the tags associated with the symbol
bool tagSymbol (StyleEntity type, QString symbol, QStringList tags)
 tags the symbol with the tags in the list

Static Public Member Functions

static QgsStyleV2defaultStyle ()
 return default application-wide style

Protected Member Functions

char * getGroupRemoveQuery (int id)
 prepares the complex query for removing a group, so that the children are not abandoned
int getId (QString table, QString name)
 gets the id from the table for the given name from the database, 0 if not found
bool openDB (QString filename)
 convenience function to open the DB and return a sqlite3 object
bool runEmptyQuery (char *query, bool freeQuery=true)
 convenience function that would run queries which don't generate return values
bool updateSymbol (StyleEntity type, QString name)
 updates the properties of an existing symbol/colorramp

Protected Attributes

QgsVectorColorRampV2Map mColorRamps
sqlite3mCurrentDB
QString mErrorString
QString mFileName
QgsSymbolV2Map mSymbols

Static Protected Attributes

static QgsStyleV2mDefaultStyle = 0

Detailed Description

Definition at line 66 of file qgsstylev2.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
group(), rename(), remove(), symbolsOfGroup(), symbolsWithTag(), symbolsOfSmartgroup()
Enumerator:
SymbolEntity 
GroupEntity 
TagEntity 
ColorrampEntity 
SmartgroupEntity 

Definition at line 80 of file qgsstylev2.h.

Constructor & Destructor Documentation

QgsStyleV2::QgsStyleV2 ( )

Definition at line 41 of file qgsstylev2.cpp.

QgsStyleV2::~QgsStyleV2 ( )

Definition at line 46 of file qgsstylev2.cpp.

Member Function Documentation

bool QgsStyleV2::addColorRamp ( QString  name,
QgsVectorColorRampV2 colorRamp,
bool  update = false 
)

add color ramp to style. takes 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 Vector color ramp
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 188 of file qgsstylev2.cpp.

int QgsStyleV2::addGroup ( QString  groupName,
int  parent = 0 
)

adds a new group and returns the group's id

Parameters
groupNamethe name of the new group as QString
parentis the id of the parent group when a subgrouo is to be created. By default it is 0 indicating it is not a sub-group
Returns
returns an int, which is the DB id of the new group created, 0 if the group couldn't be created

Definition at line 613 of file qgsstylev2.cpp.

int QgsStyleV2::addSmartgroup ( QString  name,
QString  op,
QgsSmartConditionMap  conditions 
)

adds 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

Definition at line 1025 of file qgsstylev2.cpp.

bool QgsStyleV2::addSymbol ( QString  name,
QgsSymbolV2 symbol,
bool  update = false 
)

add symbol to style. 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 83 of file qgsstylev2.cpp.

int QgsStyleV2::addTag ( 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 630 of file qgsstylev2.cpp.

QgsSymbolGroupMap QgsStyleV2::childGroupNames ( QString  parent = "")

return a map of groupid and names for the given parent group

Definition at line 480 of file qgsstylev2.cpp.

void QgsStyleV2::clear ( )

remove all contents of the style

Definition at line 70 of file qgsstylev2.cpp.

QgsVectorColorRampV2 * QgsStyleV2::colorRamp ( QString  name)

return a NEW copy of color ramp

Definition at line 260 of file qgsstylev2.cpp.

int QgsStyleV2::colorRampCount ( )

return count of color ramps

Definition at line 271 of file qgsstylev2.cpp.

int QgsStyleV2::colorrampId ( QString  name)

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

Definition at line 1005 of file qgsstylev2.cpp.

QStringList QgsStyleV2::colorRampNames ( )

return a list of names of color ramps

Definition at line 276 of file qgsstylev2.cpp.

const QgsVectorColorRampV2 * QgsStyleV2::colorRampRef ( QString  name) const

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

Definition at line 266 of file qgsstylev2.cpp.

QgsStyleV2 * QgsStyleV2::defaultStyle ( )
static

return default application-wide style

Definition at line 51 of file qgsstylev2.cpp.

bool QgsStyleV2::detagSymbol ( StyleEntity  type,
QString  symbol,
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 890 of file qgsstylev2.cpp.

QString QgsStyleV2::errorString ( )
inline

return last error from load/save operation

Definition at line 274 of file qgsstylev2.h.

bool QgsStyleV2::exportXML ( QString  filename)

Exports the style as a XML file.

Definition at line 1303 of file qgsstylev2.cpp.

QString QgsStyleV2::fileName ( )
inline

return current file name of the style

Definition at line 277 of file qgsstylev2.h.

QStringList QgsStyleV2::findSymbols ( StyleEntity  type,
QString  qword 
)

return the names of the symbols which have a matching 'substring' in its defintion

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 764 of file qgsstylev2.cpp.

char * QgsStyleV2::getGroupRemoveQuery ( int  id)
protected

prepares the complex query for removing a group, so that the children are not abandoned

Definition at line 673 of file qgsstylev2.cpp.

int QgsStyleV2::getId ( QString  table,
QString  name 
)
protected

gets the id from the table for the given name from the database, 0 if not found

Definition at line 982 of file qgsstylev2.cpp.

bool QgsStyleV2::group ( StyleEntity  type,
QString  name,
int  groupid 
)

applies the specified group to the symbol or colorramp specified by StyleEntity

Parameters
typeis either SymbolEntity of ColorrampEntity
nameis the name of the symbol or coloramp whose group is to be set
groupidis the id of the group to which the entity is assigned
Returns
returns the success state as bool

Definition at line 743 of file qgsstylev2.cpp.

int QgsStyleV2::groupId ( QString  group)

return the DB id for the given group name

Definition at line 1010 of file qgsstylev2.cpp.

QStringList QgsStyleV2::groupNames ( )

return the all the groups in the style

Definition at line 466 of file qgsstylev2.cpp.

bool QgsStyleV2::importXML ( QString  filename)

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

Definition at line 1347 of file qgsstylev2.cpp.

bool QgsStyleV2::load ( QString  filename)

load a file into the style

Definition at line 294 of file qgsstylev2.cpp.

bool QgsStyleV2::openDB ( QString  filename)
protected

convenience function to open the DB and return a sqlite3 object

Definition at line 281 of file qgsstylev2.cpp.

void QgsStyleV2::remove ( StyleEntity  type,
int  id 
)

remove the specified entity from the db

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

Definition at line 691 of file qgsstylev2.cpp.

bool QgsStyleV2::removeColorRamp ( QString  name)

remove color ramp from style (and delete it)

Definition at line 242 of file qgsstylev2.cpp.

bool QgsStyleV2::removeSymbol ( QString  name)

remove symbol from style (and delete it)

Definition at line 138 of file qgsstylev2.cpp.

void QgsStyleV2::rename ( StyleEntity  type,
int  id,
QString  newName 
)

rename the given entity with the specified id

Parameters
typeis any of the style entites. 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 645 of file qgsstylev2.cpp.

bool QgsStyleV2::renameColorRamp ( QString  oldName,
QString  newName 
)

change ramp's name

Definition at line 438 of file qgsstylev2.cpp.

bool QgsStyleV2::renameSymbol ( QString  oldName,
QString  newName 
)

change symbol's name

Definition at line 406 of file qgsstylev2.cpp.

bool QgsStyleV2::runEmptyQuery ( char *  query,
bool  freeQuery = true 
)
protected

convenience function that would run queries which don't generate return values

Parameters
queryquery to run
freeQueryrelease query memory
Returns
success true on success

Definition at line 722 of file qgsstylev2.cpp.

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

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

Definition at line 360 of file qgsstylev2.cpp.

bool QgsStyleV2::saveColorRamp ( QString  name,
QgsVectorColorRampV2 ramp,
int  groupid,
QStringList  tags 
)

add the colorramp to the DB

Parameters
nameis the name of the colorramp as QString
rampis the pointer to the new QgsVectorColorRampV2 being saved
groupidis the id of the group to which the Color Ramp belongs. Pass 0 if it doesn't belong to any group or not known.
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 212 of file qgsstylev2.cpp.

bool QgsStyleV2::saveSymbol ( QString  name,
QgsSymbolV2 symbol,
int  groupid,
QStringList  tags 
)

add the symbol to the DB with the tags

Parameters
nameis the name of the symbol as QString
symbolis the pointer to the new QgsSymbolV2 being saved
groupidis the id of the group to which the symbol belongs. Pass 0 if it doesn't belong to any group or not known.
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 107 of file qgsstylev2.cpp.

QgsSmartConditionMap QgsStyleV2::smartgroup ( int  id)

returns the QgsSmartConditionMap for the given id

Definition at line 1230 of file qgsstylev2.cpp.

int QgsStyleV2::smartgroupId ( QString  smartgroup)

return the DB id for the given smartgroup name

Definition at line 1020 of file qgsstylev2.cpp.

QStringList QgsStyleV2::smartgroupNames ( )

returns the smart groups list

Definition at line 1091 of file qgsstylev2.cpp.

QString QgsStyleV2::smartgroupOperator ( int  id)

returns the operator for the smartgroup

Definition at line 1272 of file qgsstylev2.cpp.

QgsSymbolGroupMap QgsStyleV2::smartgroupsListMap ( )

returns the smart groups map with id as key and name as value

Definition at line 1065 of file qgsstylev2.cpp.

QgsSymbolV2 * QgsStyleV2::symbol ( QString  name)

return a NEW copy of symbol

Definition at line 166 of file qgsstylev2.cpp.

int QgsStyleV2::symbolCount ( )

return count of symbols in style

Definition at line 177 of file qgsstylev2.cpp.

int QgsStyleV2::symbolId ( QString  name)

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

Definition at line 1000 of file qgsstylev2.cpp.

QStringList QgsStyleV2::symbolNames ( )

return a list of names of symbols

Definition at line 182 of file qgsstylev2.cpp.

const QgsSymbolV2 * QgsStyleV2::symbolRef ( QString  name) const

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

Definition at line 172 of file qgsstylev2.cpp.

void QgsStyleV2::symbolSaved ( QString  name,
QgsSymbolV2 symbol 
)
signal
QStringList QgsStyleV2::symbolsOfGroup ( StyleEntity  type,
int  groupid 
)

returns the symbolnames of a given groupid

Parameters
typeis either SymbolEntity or ColorampEntity
groupidis id of the group to which the symbols belong to, as int
Returns
A QStringList of the symbol or colorramp names for the given group id

Definition at line 527 of file qgsstylev2.cpp.

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

returns the symbols for the smartgroup

Definition at line 1116 of file qgsstylev2.cpp.

QStringList QgsStyleV2::symbolsWithTag ( StyleEntity  type,
int  tagid 
)

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 564 of file qgsstylev2.cpp.

int QgsStyleV2::tagId ( QString  tag)

return the DB id for the given tag name

Definition at line 1015 of file qgsstylev2.cpp.

QStringList QgsStyleV2::tagsOfSymbol ( StyleEntity  type,
QString  symbol 
)

return 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 943 of file qgsstylev2.cpp.

bool QgsStyleV2::tagSymbol ( StyleEntity  type,
QString  symbol,
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 838 of file qgsstylev2.cpp.

bool QgsStyleV2::updateSymbol ( StyleEntity  type,
QString  name 
)
protected

updates the properties of an existing symbol/colorramp

Note
This should not be called separately, only called through addSymbol or addColorRamp
Parameters
typeis either SymbolEntity or ColorrampEntity
nameis the name of an existing symbol or a color ramp
Returns
Success state of the update operation

Definition at line 1443 of file qgsstylev2.cpp.

Member Data Documentation

QgsVectorColorRampV2Map QgsStyleV2::mColorRamps
protected

Definition at line 323 of file qgsstylev2.h.

sqlite3* QgsStyleV2::mCurrentDB
protected

Definition at line 328 of file qgsstylev2.h.

QgsStyleV2 * QgsStyleV2::mDefaultStyle = 0
staticprotected

Definition at line 330 of file qgsstylev2.h.

QString QgsStyleV2::mErrorString
protected

Definition at line 325 of file qgsstylev2.h.

QString QgsStyleV2::mFileName
protected

Definition at line 326 of file qgsstylev2.h.

QgsSymbolV2Map QgsStyleV2::mSymbols
protected

Definition at line 322 of file qgsstylev2.h.


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