#include <qgscategorizedsymbolrendererv2.h>
Public Member Functions | |
QgsCategorizedSymbolRendererV2 (QString attrName=QString(), QgsCategoryList categories=QgsCategoryList()) | |
virtual | ~QgsCategorizedSymbolRendererV2 () |
virtual QgsSymbolV2 * | symbolForFeature (QgsFeature &feature) |
virtual void | startRender (QgsRenderContext &context, const QgsVectorLayer *vlayer) |
virtual void | stopRender (QgsRenderContext &context) |
virtual QList< QString > | usedAttributes () |
virtual QString | dump () |
for debugging | |
virtual QgsFeatureRendererV2 * | clone () |
virtual QgsSymbolV2List | symbols () |
for symbol levels | |
const QgsCategoryList & | categories () |
int | categoryIndexForValue (QVariant val) |
return index of category with specified value (-1 if not found) | |
bool | updateCategoryValue (int catIndex, const QVariant &value) |
bool | updateCategorySymbol (int catIndex, QgsSymbolV2 *symbol) |
bool | updateCategoryLabel (int catIndex, QString label) |
void | addCategory (const QgsRendererCategoryV2 &category) |
bool | deleteCategory (int catIndex) |
void | deleteAllCategories () |
QString | classAttribute () const |
void | setClassAttribute (QString attr) |
virtual QDomElement | save (QDomDocument &doc) |
store renderer info to XML element | |
virtual QgsLegendSymbologyList | legendSymbologyItems (QSize iconSize) |
return a list of symbology items for the legend | |
virtual QgsLegendSymbolList | legendSymbolItems () |
return a list of item text / symbol | |
QgsSymbolV2 * | sourceSymbol () |
void | setSourceSymbol (QgsSymbolV2 *sym) |
QgsVectorColorRampV2 * | sourceColorRamp () |
void | setSourceColorRamp (QgsVectorColorRampV2 *ramp) |
void | setRotationField (QString fieldName) |
QString | rotationField () const |
void | setSizeScaleField (QString fieldName) |
QString | sizeScaleField () const |
Static Public Member Functions | |
static QgsFeatureRendererV2 * | create (QDomElement &element) |
create renderer from XML element | |
Protected Member Functions | |
void | rebuildHash () |
QgsSymbolV2 * | symbolForValue (QVariant value) |
Protected Attributes | |
QString | mAttrName |
QgsCategoryList | mCategories |
QgsSymbolV2 * | mSourceSymbol |
QgsVectorColorRampV2 * | mSourceColorRamp |
QString | mRotationField |
QString | mSizeScaleField |
int | mAttrNum |
attribute index (derived from attribute name in startRender) | |
int | mRotationFieldIdx |
int | mSizeScaleFieldIdx |
QHash< QString, QgsSymbolV2 * > | mSymbolHash |
hashtable for faster access to symbols | |
QHash< QString, QgsSymbolV2 * > | mTempSymbols |
temporary symbols, used for data-defined rotation and scaling |
Definition at line 43 of file qgscategorizedsymbolrendererv2.h.
QgsCategorizedSymbolRendererV2::QgsCategorizedSymbolRendererV2 | ( | QString | attrName = QString() , |
|
QgsCategoryList | categories = QgsCategoryList() | |||
) |
Definition at line 73 of file qgscategorizedsymbolrendererv2.cpp.
References mCategories, QgsDebugMsg, and QgsRendererCategoryV2::symbol().
QgsCategorizedSymbolRendererV2::~QgsCategorizedSymbolRendererV2 | ( | ) | [virtual] |
Definition at line 92 of file qgscategorizedsymbolrendererv2.cpp.
References mCategories, mSourceColorRamp, and mSourceSymbol.
QgsSymbolV2 * QgsCategorizedSymbolRendererV2::symbolForFeature | ( | QgsFeature & | feature | ) | [virtual] |
Implements QgsFeatureRendererV2.
Definition at line 127 of file qgscategorizedsymbolrendererv2.cpp.
References QgsFeature::attributeMap(), QgsSymbolV2::Line, QgsSymbolV2::Marker, mAttrName, mAttrNum, mRotationFieldIdx, mSizeScaleFieldIdx, mTempSymbols, QgsDebugMsg, QgsMarkerSymbolV2::setAngle(), QgsMarkerSymbolV2::setSize(), QgsLineSymbolV2::setWidth(), symbolForValue(), and QgsSymbolV2::type().
void QgsCategorizedSymbolRendererV2::startRender | ( | QgsRenderContext & | context, | |
const QgsVectorLayer * | vlayer | |||
) | [virtual] |
Implements QgsFeatureRendererV2.
Definition at line 233 of file qgscategorizedsymbolrendererv2.cpp.
References QgsSymbolV2::DataDefinedRotation, QgsSymbolV2::DataDefinedSizeScale, QgsVectorLayer::fieldNameIndex(), mAttrName, mAttrNum, mCategories, mRotationField, mRotationFieldIdx, mSizeScaleField, mSizeScaleFieldIdx, mTempSymbols, rebuildHash(), QgsSymbolV2::setRenderHints(), and QgsSymbolV2::startRender().
void QgsCategorizedSymbolRendererV2::stopRender | ( | QgsRenderContext & | context | ) | [virtual] |
Implements QgsFeatureRendererV2.
Definition at line 261 of file qgscategorizedsymbolrendererv2.cpp.
References mCategories, and mTempSymbols.
QList< QString > QgsCategorizedSymbolRendererV2::usedAttributes | ( | ) | [virtual] |
Implements QgsFeatureRendererV2.
Definition at line 277 of file qgscategorizedsymbolrendererv2.cpp.
References mAttrName, mRotationField, and mSizeScaleField.
QString QgsCategorizedSymbolRendererV2::dump | ( | ) | [virtual] |
for debugging
Reimplemented from QgsFeatureRendererV2.
Definition at line 288 of file qgscategorizedsymbolrendererv2.cpp.
References mAttrName, and mCategories.
QgsFeatureRendererV2 * QgsCategorizedSymbolRendererV2::clone | ( | ) | [virtual] |
Implements QgsFeatureRendererV2.
Definition at line 296 of file qgscategorizedsymbolrendererv2.cpp.
References QgsVectorColorRampV2::clone(), QgsSymbolV2::clone(), mAttrName, mCategories, mSourceColorRamp, mSourceSymbol, QgsCategorizedSymbolRendererV2(), rotationField(), setRotationField(), setSizeScaleField(), setSourceColorRamp(), setSourceSymbol(), QgsFeatureRendererV2::setUsingSymbolLevels(), sizeScaleField(), and QgsFeatureRendererV2::usingSymbolLevels().
QgsSymbolV2List QgsCategorizedSymbolRendererV2::symbols | ( | ) | [virtual] |
for symbol levels
Implements QgsFeatureRendererV2.
Definition at line 309 of file qgscategorizedsymbolrendererv2.cpp.
References mCategories.
Referenced by save().
const QgsCategoryList& QgsCategorizedSymbolRendererV2::categories | ( | ) | [inline] |
Definition at line 65 of file qgscategorizedsymbolrendererv2.h.
Referenced by legendSymbologyItems(), QgsRuleBasedRendererV2::refineRuleCategories(), and QgsSymbologyV2Conversion::rendererV2toV1().
int QgsCategorizedSymbolRendererV2::categoryIndexForValue | ( | QVariant | val | ) |
return index of category with specified value (-1 if not found)
Definition at line 173 of file qgscategorizedsymbolrendererv2.cpp.
References mCategories.
bool QgsCategorizedSymbolRendererV2::updateCategoryValue | ( | int | catIndex, | |
const QVariant & | value | |||
) |
bool QgsCategorizedSymbolRendererV2::updateCategorySymbol | ( | int | catIndex, | |
QgsSymbolV2 * | symbol | |||
) |
bool QgsCategorizedSymbolRendererV2::updateCategoryLabel | ( | int | catIndex, | |
QString | label | |||
) |
void QgsCategorizedSymbolRendererV2::addCategory | ( | const QgsRendererCategoryV2 & | category | ) |
Definition at line 207 of file qgscategorizedsymbolrendererv2.cpp.
References mCategories, QgsDebugMsg, and QgsRendererCategoryV2::symbol().
bool QgsCategorizedSymbolRendererV2::deleteCategory | ( | int | catIndex | ) |
void QgsCategorizedSymbolRendererV2::deleteAllCategories | ( | ) |
QString QgsCategorizedSymbolRendererV2::classAttribute | ( | ) | const [inline] |
Definition at line 78 of file qgscategorizedsymbolrendererv2.h.
Referenced by legendSymbolItems(), legendSymbologyItems(), QgsRuleBasedRendererV2::refineRuleCategories(), and QgsSymbologyV2Conversion::rendererV2toV1().
void QgsCategorizedSymbolRendererV2::setClassAttribute | ( | QString | attr | ) | [inline] |
Definition at line 79 of file qgscategorizedsymbolrendererv2.h.
QgsFeatureRendererV2 * QgsCategorizedSymbolRendererV2::create | ( | QDomElement & | element | ) | [static] |
create renderer from XML element
Definition at line 317 of file qgscategorizedsymbolrendererv2.cpp.
References QgsSymbolLayerV2Utils::clearSymbolMap(), QgsSymbolLayerV2Utils::loadColorRamp(), QgsSymbolLayerV2Utils::loadSymbols(), QgsCategorizedSymbolRendererV2(), setRotationField(), setSizeScaleField(), setSourceColorRamp(), and setSourceSymbol().
Referenced by QgsRendererV2Registry::QgsRendererV2Registry().
QDomElement QgsCategorizedSymbolRendererV2::save | ( | QDomDocument & | doc | ) | [virtual] |
store renderer info to XML element
Reimplemented from QgsFeatureRendererV2.
Definition at line 385 of file qgscategorizedsymbolrendererv2.cpp.
References QgsRendererCategoryV2::label(), mAttrName, mCategories, mRotationField, mSizeScaleField, mSourceColorRamp, mSourceSymbol, QgsFeatureRendererV2::mUsingSymbolLevels, RENDERER_TAG_NAME, QgsSymbolLayerV2Utils::saveColorRamp(), QgsSymbolLayerV2Utils::saveSymbols(), QgsRendererCategoryV2::symbol(), symbols(), and QgsRendererCategoryV2::value().
QgsLegendSymbologyList QgsCategorizedSymbolRendererV2::legendSymbologyItems | ( | QSize | iconSize | ) | [virtual] |
return a list of symbology items for the legend
Reimplemented from QgsFeatureRendererV2.
Definition at line 444 of file qgscategorizedsymbolrendererv2.cpp.
References categories(), classAttribute(), QgsRendererCategoryV2::label(), QgsRendererCategoryV2::symbol(), and QgsSymbolLayerV2Utils::symbolPreviewPixmap().
QgsLegendSymbolList QgsCategorizedSymbolRendererV2::legendSymbolItems | ( | ) | [virtual] |
return a list of item text / symbol
Reimplemented from QgsFeatureRendererV2.
Definition at line 465 of file qgscategorizedsymbolrendererv2.cpp.
References classAttribute(), and mCategories.
QgsSymbolV2 * QgsCategorizedSymbolRendererV2::sourceSymbol | ( | ) |
void QgsCategorizedSymbolRendererV2::setSourceSymbol | ( | QgsSymbolV2 * | sym | ) |
QgsVectorColorRampV2 * QgsCategorizedSymbolRendererV2::sourceColorRamp | ( | ) |
void QgsCategorizedSymbolRendererV2::setSourceColorRamp | ( | QgsVectorColorRampV2 * | ramp | ) |
void QgsCategorizedSymbolRendererV2::setRotationField | ( | QString | fieldName | ) | [inline] |
QString QgsCategorizedSymbolRendererV2::rotationField | ( | ) | const [inline] |
Definition at line 103 of file qgscategorizedsymbolrendererv2.h.
Referenced by clone().
void QgsCategorizedSymbolRendererV2::setSizeScaleField | ( | QString | fieldName | ) | [inline] |
QString QgsCategorizedSymbolRendererV2::sizeScaleField | ( | ) | const [inline] |
Definition at line 108 of file qgscategorizedsymbolrendererv2.h.
Referenced by clone().
void QgsCategorizedSymbolRendererV2::rebuildHash | ( | ) | [protected] |
Definition at line 99 of file qgscategorizedsymbolrendererv2.cpp.
References mCategories, mSymbolHash, QgsRendererCategoryV2::symbol(), and QgsRendererCategoryV2::value().
Referenced by startRender().
QgsSymbolV2 * QgsCategorizedSymbolRendererV2::symbolForValue | ( | QVariant | value | ) | [protected] |
Definition at line 110 of file qgscategorizedsymbolrendererv2.cpp.
References mSymbolHash, and QgsDebugMsg.
Referenced by symbolForFeature().
QString QgsCategorizedSymbolRendererV2::mAttrName [protected] |
Definition at line 111 of file qgscategorizedsymbolrendererv2.h.
Referenced by clone(), dump(), save(), startRender(), symbolForFeature(), and usedAttributes().
Definition at line 112 of file qgscategorizedsymbolrendererv2.h.
Referenced by addCategory(), categoryIndexForValue(), clone(), deleteAllCategories(), deleteCategory(), dump(), legendSymbolItems(), QgsCategorizedSymbolRendererV2(), rebuildHash(), save(), startRender(), stopRender(), symbols(), updateCategoryLabel(), updateCategorySymbol(), updateCategoryValue(), and ~QgsCategorizedSymbolRendererV2().
QgsSymbolV2* QgsCategorizedSymbolRendererV2::mSourceSymbol [protected] |
Definition at line 113 of file qgscategorizedsymbolrendererv2.h.
Referenced by clone(), save(), setSourceSymbol(), sourceSymbol(), and ~QgsCategorizedSymbolRendererV2().
Definition at line 114 of file qgscategorizedsymbolrendererv2.h.
Referenced by clone(), save(), setSourceColorRamp(), sourceColorRamp(), and ~QgsCategorizedSymbolRendererV2().
QString QgsCategorizedSymbolRendererV2::mRotationField [protected] |
Definition at line 115 of file qgscategorizedsymbolrendererv2.h.
Referenced by save(), startRender(), and usedAttributes().
QString QgsCategorizedSymbolRendererV2::mSizeScaleField [protected] |
Definition at line 116 of file qgscategorizedsymbolrendererv2.h.
Referenced by save(), startRender(), and usedAttributes().
int QgsCategorizedSymbolRendererV2::mAttrNum [protected] |
attribute index (derived from attribute name in startRender)
Definition at line 119 of file qgscategorizedsymbolrendererv2.h.
Referenced by startRender(), and symbolForFeature().
int QgsCategorizedSymbolRendererV2::mRotationFieldIdx [protected] |
Definition at line 120 of file qgscategorizedsymbolrendererv2.h.
Referenced by startRender(), and symbolForFeature().
int QgsCategorizedSymbolRendererV2::mSizeScaleFieldIdx [protected] |
Definition at line 120 of file qgscategorizedsymbolrendererv2.h.
Referenced by startRender(), and symbolForFeature().
QHash<QString, QgsSymbolV2*> QgsCategorizedSymbolRendererV2::mSymbolHash [protected] |
hashtable for faster access to symbols
Definition at line 123 of file qgscategorizedsymbolrendererv2.h.
Referenced by rebuildHash(), and symbolForValue().
QHash<QString, QgsSymbolV2*> QgsCategorizedSymbolRendererV2::mTempSymbols [protected] |
temporary symbols, used for data-defined rotation and scaling
Definition at line 126 of file qgscategorizedsymbolrendererv2.h.
Referenced by startRender(), stopRender(), and symbolForFeature().