QGIS API Documentation  2.7.0-Master
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules 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>

Inheritance diagram for QgsStyleV2:
Inheritance graph
[legend]

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

Static Public Member Functions

static QgsStyleV2defaultStyle ()
 return default application-wide style More...
 

Protected Member Functions

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

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 601 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 1013 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 618 of file qgsstylev2.cpp.

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

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

Definition at line 468 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 993 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 878 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 1291 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 752 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 661 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 970 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 731 of file qgsstylev2.cpp.

int QgsStyleV2::groupId ( QString  group)

return the DB id for the given group name

Definition at line 998 of file qgsstylev2.cpp.

QStringList QgsStyleV2::groupNames ( )

return the all the groups in the style

Definition at line 454 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 1335 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 679 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 633 of file qgsstylev2.cpp.

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

change ramp's name

Definition at line 432 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 710 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 1218 of file qgsstylev2.cpp.

int QgsStyleV2::smartgroupId ( QString  smartgroup)

return the DB id for the given smartgroup name

Definition at line 1008 of file qgsstylev2.cpp.

QStringList QgsStyleV2::smartgroupNames ( )

returns the smart groups list

Definition at line 1079 of file qgsstylev2.cpp.

QString QgsStyleV2::smartgroupOperator ( int  id)

returns the operator for the smartgroup

Definition at line 1260 of file qgsstylev2.cpp.

QgsSymbolGroupMap QgsStyleV2::smartgroupsListMap ( )

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

Definition at line 1053 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 988 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 515 of file qgsstylev2.cpp.

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

returns the symbols for the smartgroup

Definition at line 1104 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 552 of file qgsstylev2.cpp.

int QgsStyleV2::tagId ( QString  tag)

return the DB id for the given tag name

Definition at line 1003 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 931 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 826 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 1431 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: