Quantum GIS API Documentation  1.7.5-Wroclaw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Attributes | List of all members
QgsUniqueValueRenderer Class Reference

#include <qgsuniquevaluerenderer.h>

Inheritance diagram for QgsUniqueValueRenderer:
Inheritance graph
[legend]
Collaboration diagram for QgsUniqueValueRenderer:
Collaboration graph
[legend]

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. More...
 
void renderFeature (QgsRenderContext &renderContext, QgsFeature &f, QImage *img, bool selected, double opacity=1.0)
 Render feature added in 1.2. More...
 
int readXML (const QDomNode &rnode, QgsVectorLayer &vl)
 Reads the renderer configuration from an XML file. More...
 
virtual bool writeXML (QDomNode &layer_node, QDomDocument &document, const QgsVectorLayer &vl) const
 Writes the contents of the renderer to a configuration file. More...
 
bool needsAttributes () const
 Returns true, if attribute values are used by the renderer and false otherwise. More...
 
QgsAttributeList classificationAttributes () const
 Returns a list with indexes of classification attributes. More...
 
void updateSymbolAttributes ()
 
QString name () const
 Returns the renderers name. More...
 
void insertValue (QString name, QgsSymbol *symbol)
 Inserts an entry into mEntries. More...
 
void clearValues ()
 Removes all entries from mEntries. More...
 
void setClassificationField (int field)
 Sets the Field index used for classification. More...
 
int classificationField () const
 Returns the index of the classification field. More...
 
const QList< QgsSymbol * > symbols () const
 Return symbology items. More...
 
const QMap< QString, QgsSymbol * > symbolMap () const
 Return the classification map. More...
 
QgsRendererclone () const
 Returns a copy of the renderer (a deep copy on the heap) More...
 
QgsSymbolsymbolForFeature (const QgsFeature *f)
 Returns the symbol for a feature or 0 if there isn't any. More...
 
- Public Member Functions inherited from QgsRenderer
 QgsRenderer ()
 Default ctor sets up selection color from project properties. More...
 
virtual ~QgsRenderer ()
 Virtual destructor because we have virtual methods... More...
 
void renderFeature (QPainter *p, QgsFeature &f, QImage *img, bool selected, double widthScale=1.0, double rasterScaleFactor=1.0)
 A vector layer passes features to a renderer object to change the brush and pen of the qpainter. More...
 
void renderFeature (QgsRenderContext &renderContext, QgsFeature &f, QImage *pic, bool selected)
 A vector layer passes features to a renderer object to change the brush and pen of the qpainter. More...
 
virtual bool containsPixmap () const
 Returns true if this renderer returns a pixmap in the render method (e.g. More...
 
virtual bool usesTransparency () const
 Returns true if this renderer uses its own transparency settings, e.g. More...
 

Protected Attributes

int mClassificationField
 Field index used for classification. More...
 
QMap< QString, QgsSymbol * > mSymbols
 Symbols for the unique values. More...
 
QgsAttributeList mSymbolAttributes
 Cached copy of all underlying symbols required attribute fields. More...
 
bool mSymbolAttributesDirty
 
- Protected Attributes inherited from QgsRenderer
QGis::GeometryType mGeometryType
 Layer type. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from QgsRenderer
static void setSelectionColor (QColor color)
 Change selection color. More...
 
static QColor selectionColor ()
 Get selection color. More...
 
static void scaleBrush (QBrush &b, double rasterScaleFactor)
 Scales a brush to a given raster scale factor (e.g. More...
 
- Static Protected Attributes inherited from QgsRenderer
static QColor mSelectionColor = QColor( 0, 0, 0 )
 Color to draw selected features - static so we can change it in proj props and automatically all renderers are updated. More...
 

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

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.

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().

void QgsUniqueValueRenderer::clearValues ( )

Removes all entries from mEntries.

Definition at line 248 of file qgsuniquevaluerenderer.cpp.

References mSymbols, and updateSymbolAttributes().

Referenced by operator=().

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().

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().

QString QgsUniqueValueRenderer::name ( ) const
virtual

Returns the renderers name.

Implements QgsRenderer.

Definition at line 285 of file qgsuniquevaluerenderer.cpp.

Referenced by renderFeature().

bool QgsUniqueValueRenderer::needsAttributes ( ) const
inlinevirtual

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

Implements QgsRenderer.

Definition at line 85 of file qgsuniquevaluerenderer.h.

QgsUniqueValueRenderer & QgsUniqueValueRenderer::operator= ( const QgsUniqueValueRenderer other)
int QgsUniqueValueRenderer::readXML ( const QDomNode &  rnode,
QgsVectorLayer vl 
)
virtual

Reads the renderer configuration from an XML file.

Parameters
rnodethe Dom node to read
vlthe 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().

void QgsUniqueValueRenderer::renderFeature ( QgsRenderContext renderContext,
QgsFeature f,
QImage *  img,
bool  selected,
double  opacity = 1.0 
)
virtual
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().

QgsSymbol * QgsUniqueValueRenderer::symbolForFeature ( const QgsFeature f)
virtual

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

Reimplemented from QgsRenderer.

Definition at line 194 of file qgsuniquevaluerenderer.cpp.

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

Referenced by renderFeature(), and willRenderFeature().

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.

const QList<QgsSymbol*> QgsUniqueValueRenderer::symbols ( ) const
inlinevirtual

Return symbology items.

Implements QgsRenderer.

Definition at line 65 of file qgsuniquevaluerenderer.h.

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

void QgsUniqueValueRenderer::updateSymbolAttributes ( )
bool QgsUniqueValueRenderer::willRenderFeature ( QgsFeature f)
virtual

Determines if a feature will be rendered or not.

Parameters
fa pointer to the feature to determine if rendering will happen

Reimplemented from QgsRenderer.

Definition at line 93 of file qgsuniquevaluerenderer.cpp.

References symbolForFeature().

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.

Member Data Documentation

int QgsUniqueValueRenderer::mClassificationField
protected
QgsAttributeList QgsUniqueValueRenderer::mSymbolAttributes
protected

Cached copy of all underlying symbols required attribute fields.

Definition at line 81 of file qgsuniquevaluerenderer.h.

Referenced by classificationAttributes(), and updateSymbolAttributes().

bool QgsUniqueValueRenderer::mSymbolAttributesDirty
protected
QMap<QString, QgsSymbol*> QgsUniqueValueRenderer::mSymbols
protected

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