|
QGIS API Documentation
2.4.0-Chugiak
|
#include <qgssymbolv2.h>


Public Types | |
| enum | OutputUnit { MM = 0, MapUnit, Mixed } |
| enum | SymbolType { Marker, Line, Fill } |
| enum | ScaleMethod { ScaleArea, ScaleDiameter } |
| enum | RenderHint { DataDefinedSizeScale = 1, DataDefinedRotation = 2 } |
Public Member Functions | |
| virtual | ~QgsSymbolV2 () |
| SymbolType | type () const |
| QgsSymbolLayerV2 * | symbolLayer (int layer) |
| int | symbolLayerCount () |
| bool | insertSymbolLayer (int index, QgsSymbolLayerV2 *layer) |
| insert symbol layer to specified index More... | |
| bool | appendSymbolLayer (QgsSymbolLayerV2 *layer) |
| append symbol layer at the end of the list More... | |
| bool | deleteSymbolLayer (int index) |
| delete symbol layer at specified index More... | |
| QgsSymbolLayerV2 * | takeSymbolLayer (int index) |
| remove symbol layer from the list and return pointer to it More... | |
| bool | changeSymbolLayer (int index, QgsSymbolLayerV2 *layer) |
| delete layer at specified index and set a new one More... | |
| void | startRender (QgsRenderContext &context, const QgsFields *fields=0) |
| void | stopRender (QgsRenderContext &context) |
| void | setColor (const QColor &color) |
| QColor | color () const |
| void | drawPreviewIcon (QPainter *painter, QSize size) |
| QImage | bigSymbolPreviewImage () |
| QString | dump () const |
| virtual QgsSymbolV2 * | clone () const =0 |
| void | toSld (QDomDocument &doc, QDomElement &element, QgsStringMap props) const |
| QgsSymbolV2::OutputUnit | outputUnit () const |
| void | setOutputUnit (QgsSymbolV2::OutputUnit u) |
| QgsMapUnitScale | mapUnitScale () const |
| void | setMapUnitScale (const QgsMapUnitScale &scale) |
| qreal | alpha () const |
| Get alpha transparency 1 for opaque, 0 for invisible. More... | |
| void | setAlpha (qreal alpha) |
| Set alpha transparency 1 for opaque, 0 for invisible. More... | |
| void | setRenderHints (int hints) |
| int | renderHints () const |
| QSet< QString > | usedAttributes () const |
| void | setLayer (const QgsVectorLayer *layer) |
| const QgsVectorLayer * | layer () const |
Static Public Member Functions | |
| static QgsSymbolV2 * | defaultSymbol (QGis::GeometryType geomType) |
| return new default symbol for specified geometry type More... | |
Protected Member Functions | |
| QgsSymbolV2 (SymbolType type, QgsSymbolLayerV2List layers) | |
| QgsSymbolLayerV2List | cloneLayers () const |
| bool | isSymbolLayerCompatible (SymbolType t) |
| check whether a symbol layer type can be used within the symbol (marker-marker, line-line, fill-fill/line) More... | |
Protected Attributes | |
| SymbolType | mType |
| QgsSymbolLayerV2List | mLayers |
| qreal | mAlpha |
| Symbol opacity (in the range 0 - 1) More... | |
| int | mRenderHints |
| const QgsVectorLayer * | mLayer |
Definition at line 43 of file qgssymbolv2.h.
| Enumerator | |
|---|---|
| MM | |
| MapUnit | |
| Mixed | |
Definition at line 47 of file qgssymbolv2.h.
| Enumerator | |
|---|---|
| DataDefinedSizeScale | |
| DataDefinedRotation | |
Definition at line 68 of file qgssymbolv2.h.
| Enumerator | |
|---|---|
| ScaleArea | |
| ScaleDiameter | |
Definition at line 61 of file qgssymbolv2.h.
| Enumerator | |
|---|---|
| Marker | |
| Line | |
| Fill | |
Definition at line 54 of file qgssymbolv2.h.
|
virtual |
Definition at line 56 of file qgssymbolv2.cpp.
References mLayers.
|
protected |
Definition at line 36 of file qgssymbolv2.cpp.
References isSymbolLayerCompatible(), mLayers, and type().
|
inline |
Get alpha transparency 1 for opaque, 0 for invisible.
Definition at line 125 of file qgssymbolv2.h.
Referenced by QgsSymbolLayerV2Utils::saveSymbol(), and toSld().
| bool QgsSymbolV2::appendSymbolLayer | ( | QgsSymbolLayerV2 * | layer | ) |
append symbol layer at the end of the list
Definition at line 204 of file qgssymbolv2.cpp.
References isSymbolLayerCompatible(), mLayers, and QgsSymbolLayerV2::type().
| QImage QgsSymbolV2::bigSymbolPreviewImage | ( | ) |
Definition at line 311 of file qgssymbolv2.cpp.
References QgsSymbolLayerV2Utils::createRenderContext(), Fill, Line, Marker, mType, startRender(), and stopRender().
| bool QgsSymbolV2::changeSymbolLayer | ( | int | index, |
| QgsSymbolLayerV2 * | layer | ||
| ) |
delete layer at specified index and set a new one
Definition at line 234 of file qgssymbolv2.cpp.
References index, isSymbolLayerCompatible(), layer(), mLayers, and QgsSymbolLayerV2::type().
|
pure virtual |
Implemented in QgsFillSymbolV2, QgsLineSymbolV2, and QgsMarkerSymbolV2.
Referenced by QgsGraduatedSymbolRendererV2::addClass(), QgsComposerSymbolV2Item::clone(), QgsRuleBasedRendererV2::Rule::clone(), QgsGraduatedSymbolRendererV2::createRenderer(), QgsRuleBasedRendererV2::refineRuleCategories(), QgsRuleBasedRendererV2::refineRuleRanges(), QgsRuleBasedRendererV2::refineRuleScales(), QgsGraduatedSymbolRendererV2::startRender(), QgsCategorizedSymbolRendererV2::startRender(), QgsStyleV2::symbol(), QgsGraduatedSymbolRendererV2::updateColorRamp(), QgsCategorizedSymbolRendererV2::updateSymbols(), and QgsGraduatedSymbolRendererV2::updateSymbols().
|
protected |
Definition at line 384 of file qgssymbolv2.cpp.
References layer(), mLayers, QgsSymbolLayerV2::setLocked(), and QgsSymbolLayerV2::setRenderingPass().
Referenced by QgsMarkerSymbolV2::clone(), QgsLineSymbolV2::clone(), and QgsFillSymbolV2::clone().
| QColor QgsSymbolV2::color | ( | void | ) | const |
Definition at line 275 of file qgssymbolv2.cpp.
References mLayers.
Referenced by dump(), QgsImageFillSymbolLayer::dxfColor(), QgsComposerMap::gridPen(), QgsMarkerLineSymbolLayerV2::setSubSymbol(), QgsCentroidFillSymbolLayerV2::setSubSymbol(), QgsLinePatternFillSymbolLayer::toSld(), QgsCategorizedSymbolRendererV2::updateSymbols(), and QgsGraduatedSymbolRendererV2::updateSymbols().
|
static |
return new default symbol for specified geometry type
Definition at line 126 of file qgssymbolv2.cpp.
References QgsStyleV2::defaultStyle(), QgsProject::instance(), QGis::Line, QGis::Point, QGis::Polygon, QgsDebugMsg, QgsProject::readEntry(), setAlpha(), setColor(), and QgsStyleV2::symbol().
Referenced by QgsFeatureRendererV2::defaultRenderer(), and QgsVectorLayerRenderer::drawRendererV2Levels().
| bool QgsSymbolV2::deleteSymbolLayer | ( | int | index | ) |
delete symbol layer at specified index
Definition at line 214 of file qgssymbolv2.cpp.
| void QgsSymbolV2::drawPreviewIcon | ( | QPainter * | painter, |
| QSize | size | ||
| ) |
Definition at line 286 of file qgssymbolv2.cpp.
References QgsSymbolLayerV2Utils::createRenderContext(), Fill, Line, mAlpha, mapUnitScale(), mLayers, mRenderHints, mType, outputUnit(), QgsLineSymbolLayerV2::renderPolygonOutline(), QgsSymbolLayerV2::startRender(), and QgsSymbolLayerV2::stopRender().
Referenced by QgsVectorFieldSymbolLayer::drawPreviewIcon(), QgsComposerLegend::drawSymbolV2(), and QgsSymbolLayerV2Utils::symbolPreviewPixmap().
| QString QgsSymbolV2::dump | ( | ) | const |
Definition at line 352 of file qgssymbolv2.cpp.
References color(), QgsSymbolLayerV2Utils::encodeColor(), Fill, Line, Marker, mLayers, and type().
| bool QgsSymbolV2::insertSymbolLayer | ( | int | index, |
| QgsSymbolLayerV2 * | layer | ||
| ) |
insert symbol layer to specified index
Definition at line 192 of file qgssymbolv2.cpp.
References isSymbolLayerCompatible(), mLayers, and QgsSymbolLayerV2::type().
|
protected |
check whether a symbol layer type can be used within the symbol (marker-marker, line-line, fill-fill/line)
Definition at line 182 of file qgssymbolv2.cpp.
References Fill, Line, and mType.
Referenced by appendSymbolLayer(), changeSymbolLayer(), insertSymbolLayer(), and QgsSymbolV2().
|
inline |
Definition at line 137 of file qgssymbolv2.h.
Referenced by QgsMarkerSymbolV2::angle(), changeSymbolLayer(), cloneLayers(), QgsMarkerSymbolV2::renderPoint(), QgsLineSymbolV2::renderPolyline(), QgsMarkerSymbolV2::scaleMethod(), QgsMarkerSymbolV2::setAngle(), QgsFillSymbolV2::setAngle(), QgsMarkerSymbolV2::setScaleMethod(), QgsMarkerSymbolV2::setSize(), QgsLineSymbolV2::setWidth(), QgsMarkerSymbolV2::size(), symbolLayer(), and QgsLineSymbolV2::width().
| QgsMapUnitScale QgsSymbolV2::mapUnitScale | ( | ) | const |
Definition at line 84 of file qgssymbolv2.cpp.
References mLayers.
Referenced by drawPreviewIcon(), QgsCentroidFillSymbolLayerV2::mapUnitScale(), QgsMarkerSymbolV2::renderPoint(), QgsFillSymbolV2::renderPolygon(), QgsLineSymbolV2::renderPolyline(), startRender(), and stopRender().
| QgsSymbolV2::OutputUnit QgsSymbolV2::outputUnit | ( | ) | const |
Definition at line 63 of file qgssymbolv2.cpp.
References Mixed, and mLayers.
Referenced by drawPreviewIcon(), QgsComposerLegend::drawSymbolV2(), QgsCentroidFillSymbolLayerV2::outputUnit(), QgsMarkerSymbolV2::renderPoint(), QgsFillSymbolV2::renderPolygon(), QgsLineSymbolV2::renderPolyline(), startRender(), stopRender(), and toSld().
|
inline |
Definition at line 132 of file qgssymbolv2.h.
|
inline |
Set alpha transparency 1 for opaque, 0 for invisible.
Definition at line 127 of file qgssymbolv2.h.
Referenced by QgsMarkerSymbolV2::clone(), QgsLineSymbolV2::clone(), QgsFillSymbolV2::clone(), QgsComposerMap::createDefaultOverviewFrameSymbol(), defaultSymbol(), QgsSymbolLayerV2Utils::loadSymbol(), QgsMarkerLineSymbolLayerV2::startRender(), and QgsCentroidFillSymbolLayerV2::startRender().
| void QgsSymbolV2::setColor | ( | const QColor & | color | ) |
Definition at line 266 of file qgssymbolv2.cpp.
References mLayers.
Referenced by QgsGraduatedSymbolRendererV2::createRenderer(), defaultSymbol(), QgsVectorLayerRenderer::drawRendererV2Levels(), QgsComposerMap::readXML(), QgsMarkerLineSymbolLayerV2::setColor(), QgsLinePatternFillSymbolLayer::setColor(), QgsCentroidFillSymbolLayerV2::setColor(), QgsComposerMap::setGridPenColor(), QgsGraduatedSymbolRendererV2::updateColorRamp(), QgsCategorizedSymbolRendererV2::updateSymbols(), and QgsGraduatedSymbolRendererV2::updateSymbols().
|
inline |
Definition at line 136 of file qgssymbolv2.h.
| void QgsSymbolV2::setMapUnitScale | ( | const QgsMapUnitScale & | scale | ) |
Definition at line 117 of file qgssymbolv2.cpp.
References mLayers.
Referenced by QgsSymbolLayerV2Utils::loadSymbol(), and QgsCentroidFillSymbolLayerV2::setMapUnitScale().
| void QgsSymbolV2::setOutputUnit | ( | QgsSymbolV2::OutputUnit | u | ) |
Definition at line 108 of file qgssymbolv2.cpp.
References mLayers.
Referenced by QgsComposerLegend::drawSymbolV2(), QgsSymbolLayerV2Utils::loadSymbol(), and QgsCentroidFillSymbolLayerV2::setOutputUnit().
|
inline |
Definition at line 130 of file qgssymbolv2.h.
Referenced by QgsGraduatedSymbolRendererV2::startRender(), QgsCategorizedSymbolRendererV2::startRender(), and QgsMarkerLineSymbolLayerV2::startRender().
| void QgsSymbolV2::startRender | ( | QgsRenderContext & | context, |
| const QgsFields * | fields = 0 |
||
| ) |
Definition at line 247 of file qgssymbolv2.cpp.
References mAlpha, mapUnitScale(), mLayers, mRenderHints, and outputUnit().
Referenced by QgsLinePatternFillSymbolLayer::applyPattern(), QgsPointPatternFillSymbolLayer::applyPattern(), bigSymbolPreviewImage(), QgsComposerMap::drawGridLine(), QgsAnnotationItem::drawMarkerSymbol(), QgsComposerMap::drawOverviewMapExtent(), QgsComposerShape::drawShapeUsingSymbol(), QgsPaperItem::paint(), QgsPointDisplacementRenderer::startRender(), QgsVectorFieldSymbolLayer::startRender(), QgsGraduatedSymbolRendererV2::startRender(), QgsCategorizedSymbolRendererV2::startRender(), QgsMarkerLineSymbolLayerV2::startRender(), QgsSVGFillSymbolLayer::startRender(), QgsLinePatternFillSymbolLayer::startRender(), QgsPointPatternFillSymbolLayer::startRender(), and QgsCentroidFillSymbolLayerV2::startRender().
| void QgsSymbolV2::stopRender | ( | QgsRenderContext & | context | ) |
Definition at line 256 of file qgssymbolv2.cpp.
References mAlpha, mapUnitScale(), mLayer, mLayers, mRenderHints, and outputUnit().
Referenced by QgsLinePatternFillSymbolLayer::applyPattern(), QgsPointPatternFillSymbolLayer::applyPattern(), bigSymbolPreviewImage(), QgsComposerMap::drawGridLine(), QgsAnnotationItem::drawMarkerSymbol(), QgsComposerMap::drawOverviewMapExtent(), QgsComposerShape::drawShapeUsingSymbol(), QgsPaperItem::paint(), QgsPointDisplacementRenderer::stopRender(), QgsVectorFieldSymbolLayer::stopRender(), QgsMarkerLineSymbolLayerV2::stopRender(), QgsSVGFillSymbolLayer::stopRender(), QgsPointPatternFillSymbolLayer::stopRender(), and QgsCentroidFillSymbolLayerV2::stopRender().
| QgsSymbolLayerV2 * QgsSymbolV2::symbolLayer | ( | int | layer | ) |
Definition at line 173 of file qgssymbolv2.cpp.
References layer(), and mLayers.
Referenced by QgsLinePatternFillSymbolLayer::applyPattern(), QgsVectorLayerRenderer::drawRendererV2Levels(), QgsImageFillSymbolLayer::estimateMaxBleed(), QgsSymbolLayerV2Utils::estimateMaxSymbolBleed(), QgsVectorFileWriter::exportFeaturesSymbolLevels(), QgsSymbolLayerV2Utils::loadSymbols(), QgsSymbolLayerV2Utils::saveSymbol(), QgsHighlight::setSymbol(), QgsRuleBasedRendererV2::stopRender(), QgsMarkerLineSymbolLayerV2::toSld(), and QgsPointPatternFillSymbolLayer::toSld().
|
inline |
Definition at line 85 of file qgssymbolv2.h.
Referenced by QgsLinePatternFillSymbolLayer::applyPattern(), QgsVectorLayerRenderer::drawRendererV2Levels(), QgsSymbolLayerV2Utils::estimateMaxSymbolBleed(), QgsVectorFileWriter::exportFeaturesSymbolLevels(), QgsSymbolLayerV2Utils::loadSymbols(), QgsSymbolLayerV2Utils::saveSymbol(), QgsHighlight::setSymbol(), QgsRuleBasedRendererV2::stopRender(), QgsMarkerLineSymbolLayerV2::toSld(), and QgsPointPatternFillSymbolLayer::toSld().
| QgsSymbolLayerV2 * QgsSymbolV2::takeSymbolLayer | ( | int | index | ) |
remove symbol layer from the list and return pointer to it
Definition at line 225 of file qgssymbolv2.cpp.
References mLayers.
| void QgsSymbolV2::toSld | ( | QDomDocument & | doc, |
| QDomElement & | element, | ||
| QgsStringMap | props | ||
| ) | const |
Definition at line 371 of file qgssymbolv2.cpp.
References alpha(), QgsSymbolLayerV2Utils::encodeSldUom(), mLayers, and outputUnit().
Referenced by QgsVectorFieldSymbolLayer::toSld(), QgsSVGFillSymbolLayer::toSld(), and QgsCentroidFillSymbolLayerV2::toSld().
|
inline |
Definition at line 79 of file qgssymbolv2.h.
Referenced by dump(), QgsSymbolV2(), QgsFeatureRendererV2::renderFeatureWithSymbol(), QgsSymbolLayerV2Utils::saveSymbol(), QgsFeatureRendererV2::setScaleMethodToSymbol(), QgsVectorFieldSymbolLayer::setSubSymbol(), QgsMarkerLineSymbolLayerV2::setSubSymbol(), QgsImageFillSymbolLayer::setSubSymbol(), QgsLinePatternFillSymbolLayer::setSubSymbol(), QgsPointPatternFillSymbolLayer::setSubSymbol(), QgsCentroidFillSymbolLayerV2::setSubSymbol(), QgsGraduatedSymbolRendererV2::symbolForFeature(), and QgsCategorizedSymbolRendererV2::symbolForFeature().
| QSet< QString > QgsSymbolV2::usedAttributes | ( | ) | const |
Definition at line 397 of file qgssymbolv2.cpp.
References mLayers.
Referenced by QgsGraduatedSymbolRendererV2::usedAttributes(), QgsCategorizedSymbolRendererV2::usedAttributes(), QgsPointPatternFillSymbolLayer::usedAttributes(), and QgsCentroidFillSymbolLayerV2::usedAttributes().
|
protected |
Symbol opacity (in the range 0 - 1)
Definition at line 153 of file qgssymbolv2.h.
Referenced by QgsMarkerSymbolV2::clone(), QgsLineSymbolV2::clone(), QgsFillSymbolV2::clone(), drawPreviewIcon(), QgsMarkerSymbolV2::renderPoint(), QgsFillSymbolV2::renderPolygon(), QgsLineSymbolV2::renderPolyline(), startRender(), and stopRender().
|
protected |
Definition at line 157 of file qgssymbolv2.h.
Referenced by stopRender().
|
protected |
Definition at line 150 of file qgssymbolv2.h.
Referenced by QgsMarkerSymbolV2::angle(), appendSymbolLayer(), changeSymbolLayer(), cloneLayers(), color(), deleteSymbolLayer(), drawPreviewIcon(), dump(), insertSymbolLayer(), mapUnitScale(), outputUnit(), QgsFillSymbolV2::QgsFillSymbolV2(), QgsLineSymbolV2::QgsLineSymbolV2(), QgsMarkerSymbolV2::QgsMarkerSymbolV2(), QgsSymbolV2(), QgsMarkerSymbolV2::renderPoint(), QgsFillSymbolV2::renderPolygon(), QgsLineSymbolV2::renderPolyline(), QgsMarkerSymbolV2::scaleMethod(), QgsMarkerSymbolV2::setAngle(), QgsFillSymbolV2::setAngle(), setColor(), setMapUnitScale(), setOutputUnit(), QgsMarkerSymbolV2::setScaleMethod(), QgsMarkerSymbolV2::setSize(), QgsLineSymbolV2::setWidth(), QgsMarkerSymbolV2::size(), startRender(), stopRender(), symbolLayer(), takeSymbolLayer(), toSld(), usedAttributes(), QgsLineSymbolV2::width(), and ~QgsSymbolV2().
|
protected |
Definition at line 155 of file qgssymbolv2.h.
Referenced by drawPreviewIcon(), QgsMarkerSymbolV2::renderPoint(), QgsFillSymbolV2::renderPolygon(), QgsLineSymbolV2::renderPolyline(), startRender(), and stopRender().
|
protected |
Definition at line 149 of file qgssymbolv2.h.
Referenced by bigSymbolPreviewImage(), drawPreviewIcon(), and isSymbolLayerCompatible().
1.8.7