QgsUniqueValueRenderer Class Reference

#include <qgsuniquevaluerenderer.h>

Inheritance diagram for QgsUniqueValueRenderer:

Inheritance graph
[legend]
Collaboration diagram for QgsUniqueValueRenderer:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 QgsUniqueValueRenderer (QGis::GeometryType type)
 QgsUniqueValueRenderer (const QgsUniqueValueRenderer &other)
QgsUniqueValueRendereroperator= (const QgsUniqueValueRenderer &other)
virtual ~QgsUniqueValueRenderer ()
virtual bool willRenderFeature (QgsFeature *f)
 Determines if a feature will be rendered or not.
void renderFeature (QgsRenderContext &renderContext, QgsFeature &f, QImage *img, bool selected, double opacity=1.0)
 Render feature added in 1.2.
int readXML (const QDomNode &rnode, QgsVectorLayer &vl)
 Reads the renderer configuration from an XML file.
virtual bool writeXML (QDomNode &layer_node, QDomDocument &document, const QgsVectorLayer &vl) const
 Writes the contents of the renderer to a configuration file.
bool needsAttributes () const
 Returns true, if attribute values are used by the renderer and false otherwise.
QgsAttributeList classificationAttributes () const
 Returns a list with indexes of classification attributes.
void updateSymbolAttributes ()
QString name () const
 Returns the renderers name.
void insertValue (QString name, QgsSymbol *symbol)
 Inserts an entry into mEntries.
void clearValues ()
 Removes all entries from mEntries.
void setClassificationField (int field)
 Sets the Field index used for classification.
int classificationField () const
 Returns the index of the classification field.
const QList< QgsSymbol * > symbols () const
 Return symbology items.
const QMap< QString, QgsSymbol * > symbolMap () const
 Return the classification map.
QgsRendererclone () const
 Returns a copy of the renderer (a deep copy on the heap).

Protected Member Functions

QgsSymbolsymbolForFeature (const QgsFeature *f)
 Returns the symbol for a feature or 0 if there isn't any.

Protected Attributes

int mClassificationField
 Field index used for classification.
QMap< QString, QgsSymbol * > mSymbols
 Symbols for the unique values.
QgsAttributeList mSymbolAttributes
 Cached copy of all underlying symbols required attribute fields.
bool mSymbolAttributesDirty


Detailed Description

Definition at line 24 of file qgsuniquevaluerenderer.h.


Constructor & Destructor Documentation

QgsUniqueValueRenderer::QgsUniqueValueRenderer ( QGis::GeometryType  type  ) 

Definition at line 33 of file qgsuniquevaluerenderer.cpp.

References QgsRenderer::mGeometryType, and mSymbolAttributesDirty.

Referenced by clone().

QgsUniqueValueRenderer::QgsUniqueValueRenderer ( const QgsUniqueValueRenderer other  ) 

QgsUniqueValueRenderer::~QgsUniqueValueRenderer (  )  [virtual]

Definition at line 69 of file qgsuniquevaluerenderer.cpp.

References mSymbols.


Member Function Documentation

QgsUniqueValueRenderer & QgsUniqueValueRenderer::operator= ( const QgsUniqueValueRenderer other  ) 

bool QgsUniqueValueRenderer::willRenderFeature ( QgsFeature f  )  [virtual]

Determines if a feature will be rendered or not.

Parameters:
f a pointer to the feature to determine if rendering will happen

Reimplemented from QgsRenderer.

Definition at line 93 of file qgsuniquevaluerenderer.cpp.

References symbolForFeature().

void QgsUniqueValueRenderer::renderFeature ( QgsRenderContext renderContext,
QgsFeature f,
QImage *  img,
bool  selected,
double  opacity = 1.0 
) [virtual]

int QgsUniqueValueRenderer::readXML ( const QDomNode &  rnode,
QgsVectorLayer vl 
) [virtual]

Reads the renderer configuration from an XML file.

Parameters:
rnode the Dom node to read
vl the vector layer which will be associated with the renderer
Returns:
0 in case of success, 1 if vector layer has no renderer, 2 if classification field not found

Implements QgsRenderer.

Definition at line 216 of file qgsuniquevaluerenderer.cpp.

References classificationField(), QgsVectorLayer::dataProvider(), QgsVectorDataProvider::fieldNameIndex(), QgsVectorLayer::geometryType(), insertValue(), QgsSymbol::lowerValue(), QgsRenderer::mGeometryType, QgsSymbol::readXML(), setClassificationField(), QgsVectorLayer::setRenderer(), and updateSymbolAttributes().

bool QgsUniqueValueRenderer::writeXML ( QDomNode &  layer_node,
QDomDocument &  document,
const QgsVectorLayer vl 
) const [virtual]

Writes the contents of the renderer to a configuration file.

Returns:
true in case of success

Implements QgsRenderer.

Definition at line 300 of file qgsuniquevaluerenderer.cpp.

References QgsVectorLayer::dataProvider(), QgsVectorDataProvider::fields(), mClassificationField, and mSymbols.

bool QgsUniqueValueRenderer::needsAttributes (  )  const [inline, virtual]

Returns true, if attribute values are used by the renderer and false otherwise.

Implements QgsRenderer.

Definition at line 82 of file qgsuniquevaluerenderer.h.

QgsAttributeList QgsUniqueValueRenderer::classificationAttributes (  )  const [virtual]

Returns a list with indexes of classification attributes.

Implements QgsRenderer.

Definition at line 290 of file qgsuniquevaluerenderer.cpp.

References mClassificationField, and mSymbolAttributes.

void QgsUniqueValueRenderer::updateSymbolAttributes (  ) 

QString QgsUniqueValueRenderer::name (  )  const [virtual]

Returns the renderers name.

Implements QgsRenderer.

Definition at line 285 of file qgsuniquevaluerenderer.cpp.

Referenced by renderFeature().

void QgsUniqueValueRenderer::insertValue ( QString  name,
QgsSymbol symbol 
)

Inserts an entry into mEntries.

The render items have to be created with the new operator and are automatically destroyed if not needed anymore

Definition at line 77 of file qgsuniquevaluerenderer.cpp.

References mSymbolAttributesDirty, and mSymbols.

Referenced by operator=(), QgsUniqueValueRenderer(), readXML(), and QgsSymbologyV2Conversion::rendererV2toV1().

void QgsUniqueValueRenderer::clearValues (  ) 

Removes all entries from mEntries.

Definition at line 248 of file qgsuniquevaluerenderer.cpp.

References mSymbols, and updateSymbolAttributes().

Referenced by operator=().

void QgsUniqueValueRenderer::setClassificationField ( int  field  ) 

Sets the Field index used for classification.

Definition at line 83 of file qgsuniquevaluerenderer.cpp.

References mClassificationField.

Referenced by readXML(), and QgsSymbologyV2Conversion::rendererV2toV1().

int QgsUniqueValueRenderer::classificationField (  )  const

Returns the index of the classification field.

Definition at line 88 of file qgsuniquevaluerenderer.cpp.

References mClassificationField.

Referenced by readXML(), and QgsSymbologyV2Conversion::rendererV1toV2().

const QList<QgsSymbol*> QgsUniqueValueRenderer::symbols (  )  const [inline, virtual]

Return symbology items.

Implements QgsRenderer.

Definition at line 65 of file qgsuniquevaluerenderer.h.

Referenced by QgsAttributeEditor::createAttributeEditor(), and QgsSymbologyV2Conversion::rendererV1toV2().

const QMap<QString, QgsSymbol*> QgsUniqueValueRenderer::symbolMap (  )  const [inline]

Return the classification map.

Note:
added in 1.4

Definition at line 68 of file qgsuniquevaluerenderer.h.

QgsRenderer * QgsUniqueValueRenderer::clone (  )  const [virtual]

Returns a copy of the renderer (a deep copy on the heap).

Implements QgsRenderer.

Definition at line 332 of file qgsuniquevaluerenderer.cpp.

References QgsUniqueValueRenderer().

QgsSymbol * QgsUniqueValueRenderer::symbolForFeature ( const QgsFeature f  )  [protected]

Returns the symbol for a feature or 0 if there isn't any.

Definition at line 194 of file qgsuniquevaluerenderer.cpp.

References QgsFeature::attributeMap(), mClassificationField, and mSymbols.

Referenced by renderFeature(), and willRenderFeature().


Member Data Documentation

QMap<QString, QgsSymbol*> QgsUniqueValueRenderer::mSymbols [protected]

Cached copy of all underlying symbols required attribute fields.

Definition at line 78 of file qgsuniquevaluerenderer.h.

Referenced by classificationAttributes(), and updateSymbolAttributes().


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

Generated on Sat Feb 4 19:17:56 2012 for Quantum GIS API Documentation by  doxygen 1.5.6