|
@@ -3418,6 +3418,26 @@ void QgsPalLabeling::registerDiagramFeature( const QString& layerID, QgsFeature& |
|
|
return; |
|
|
} |
|
|
|
|
|
QgsDiagramRendererV2* dr = layerIt.value().renderer; |
|
|
if ( dr ) |
|
|
{ |
|
|
QList<QgsDiagramSettings> settingList = dr->diagramSettings(); |
|
|
if ( settingList.size() > 0 ) |
|
|
{ |
|
|
double minScale = settingList.at( 0 ).minScaleDenominator; |
|
|
if ( minScale > 0 && context.rendererScale() < minScale ) |
|
|
{ |
|
|
return; |
|
|
} |
|
|
|
|
|
double maxScale = settingList.at( 0 ).maxScaleDenominator; |
|
|
if ( maxScale > 0 && context.rendererScale() > maxScale ) |
|
|
{ |
|
|
return; |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
//convert geom to geos |
|
|
QgsGeometry* geom = feat.geometry(); |
|
|
|
|
@@ -3456,7 +3476,6 @@ void QgsPalLabeling::registerDiagramFeature( const QString& layerID, QgsFeature& |
|
|
|
|
|
double diagramWidth = 0; |
|
|
double diagramHeight = 0; |
|
|
QgsDiagramRendererV2* dr = layerIt.value().renderer; |
|
|
if ( dr ) |
|
|
{ |
|
|
QSizeF diagSize = dr->sizeMapUnits( feat, context ); |
|
@@ -4004,7 +4023,7 @@ void QgsPalLabeling::drawLabeling( QgsRenderContext& context ) |
|
|
feature.setFields( &dit.value().fields ); |
|
|
palGeometry->feature( feature ); |
|
|
QgsPoint outPt = xform.transform(( *it )->getX(), ( *it )->getY() ); |
|
|
dit.value().renderer->renderDiagram( feature, context, QPointF( outPt.x(), outPt.y() ) ); |
|
|
dit.value().renderer->renderDiagram( feature, context, outPt.toQPointF() ); |
|
|
} |
|
|
} |
|
|
|
|
|