21
21
#include " qgscoordinatetransform.h"
22
22
#include " qgsftptransaction.h"
23
23
#include " qgshttptransaction.h"
24
- #include " qgssinglesymbolrenderer .h"
25
- #include " qgssldrenderer .h"
26
- #include " qgssymbol .h"
24
+ #include " qgsrendererv2 .h"
25
+ #include " qgssinglesymbolrendererv2 .h"
26
+ #include " qgssymbolv2 .h"
27
27
#include " qgsvectordataprovider.h"
28
28
#include " qgsvectorlayer.h"
29
29
#include " qgsmapserviceexception.h"
@@ -274,9 +274,9 @@ QList<QgsMapLayer*> QgsSLDParser::mapLayerFromStyle( const QString& layerName, c
274
274
QgsVectorLayer* v = dynamic_cast <QgsVectorLayer*>( fallbackLayerList.at ( 0 ) );
275
275
if ( v )
276
276
{
277
- QgsRenderer * r = rendererFromUserStyle ( userStyleElement, v );
278
- v->setRenderer ( r );
279
- v->setUsingRendererV2 ( false );
277
+ QgsFeatureRendererV2 * r = rendererFromUserStyle ( userStyleElement, v );
278
+ v->setRendererV2 ( r );
279
+ v->setUsingRendererV2 ( true );
280
280
labelSettingsFromUserStyle ( userStyleElement, v );
281
281
#ifdef DIAGRAMSERVER
282
282
overlaysFromUserStyle ( userStyleElement, v );
@@ -337,7 +337,7 @@ QList<QgsMapLayer*> QgsSLDParser::mapLayerFromStyle( const QString& layerName, c
337
337
return resultList;
338
338
}
339
339
340
- QgsRenderer * theRenderer = 0 ;
340
+ QgsFeatureRendererV2 * theRenderer = 0 ;
341
341
342
342
QgsVectorLayer* theVectorLayer = dynamic_cast <QgsVectorLayer*>( theMapLayer );
343
343
if ( !theVectorLayer )
@@ -370,15 +370,8 @@ QList<QgsMapLayer*> QgsSLDParser::mapLayerFromStyle( const QString& layerName, c
370
370
371
371
if ( userStyleElement.isNull () )// apply a default style
372
372
{
373
- theRenderer = new QgsSingleSymbolRenderer ( theVectorLayer->geometryType () );
374
- QgsSymbol* defaultSymbol = new QgsSymbol ( theVectorLayer->geometryType () );
375
- QPen defaultPen;
376
- defaultPen.setWidth ( 1 );
377
- defaultSymbol->setPen ( defaultPen );
378
- QBrush defaultBrush;
379
- defaultBrush.setStyle ( Qt::NoBrush );
380
- defaultSymbol->setBrush ( defaultBrush );
381
- ( static_cast <QgsSingleSymbolRenderer*>( theRenderer ) )->addSymbol ( defaultSymbol );
373
+ QgsSymbolV2* symbol = QgsSymbolV2::defaultSymbol ( theVectorLayer->geometryType () );
374
+ theRenderer = new QgsSingleSymbolRendererV2 ( symbol );
382
375
}
383
376
else
384
377
{
@@ -399,48 +392,26 @@ QList<QgsMapLayer*> QgsSLDParser::mapLayerFromStyle( const QString& layerName, c
399
392
delete theVectorLayer;
400
393
return resultList;
401
394
}
402
- theVectorLayer->setRenderer ( theRenderer );
403
- theVectorLayer->setUsingRendererV2 ( false );
395
+ theVectorLayer->setRendererV2 ( theRenderer );
396
+ theVectorLayer->setUsingRendererV2 ( true );
404
397
QgsDebugMsg ( " Returning the vectorlayer" );
405
398
setOpacityForLayer ( userLayerElement, theVectorLayer );
406
399
resultList.push_back ( theVectorLayer );
407
400
return resultList;
408
401
}
409
402
410
- QgsRenderer * QgsSLDParser::rendererFromUserStyle ( const QDomElement& userStyleElement, QgsVectorLayer* vec ) const
403
+ QgsFeatureRendererV2 * QgsSLDParser::rendererFromUserStyle ( const QDomElement& userStyleElement, QgsVectorLayer* vec ) const
411
404
{
412
- if ( !vec )
405
+ if ( !vec || userStyleElement. isNull () )
413
406
{
414
407
return 0 ;
415
408
}
416
409
417
410
QgsDebugMsg ( " Entering" );
418
411
419
- QgsSLDRenderer* theRenderer = new QgsSLDRenderer ( vec->geometryType () );
420
- theRenderer->setScaleDenominator ( mScaleDenominator );
421
-
422
- if ( !userStyleElement.isNull () )
423
- {
424
- QDomNodeList featureTypeList = userStyleElement.elementsByTagName ( " FeatureTypeStyle" );
425
- for ( int i = 0 ; i < featureTypeList.size (); ++i )
426
- {
427
- QDomNodeList ruleNodeList = featureTypeList.item ( i ).toElement ().elementsByTagName ( " Rule" );
428
- for ( int j = 0 ; j < ruleNodeList.size (); ++j )
429
- {
430
- QDomElement ruleElement = ruleNodeList.item ( j ).toElement ();
431
- QgsSLDRule* r = new QgsSLDRule ();
432
- if ( r->setFromXml ( ruleElement, vec, mFilesToRemove ) == 0 )
433
- {
434
- theRenderer->addRule ( r );
435
- }
436
- else
437
- {
438
- delete r;
439
- }
440
- }
441
- }
442
- }
443
- return theRenderer;
412
+ QString errorMessage;
413
+ QgsFeatureRendererV2* renderer = QgsFeatureRendererV2::loadSld ( userStyleElement.parentNode (), vec->geometryType (), errorMessage );
414
+ return renderer;
444
415
}
445
416
446
417
bool QgsSLDParser::rasterSymbologyFromUserStyle ( const QDomElement& userStyleElement, QgsRasterLayer* r ) const
@@ -1405,8 +1376,9 @@ QgsVectorLayer* QgsSLDParser::contourLayerFromRaster( const QDomElement& userSty
1405
1376
QgsVectorLayer* contourLayer = new QgsVectorLayer ( tmpFileName, " layer" , " ogr" );
1406
1377
1407
1378
// create renderer
1408
- QgsRenderer* theRenderer = rendererFromUserStyle ( userStyleElem, contourLayer );
1409
- contourLayer->setRenderer ( theRenderer );
1379
+ QgsFeatureRendererV2* theRenderer = rendererFromUserStyle ( userStyleElem, contourLayer );
1380
+ contourLayer->setRendererV2 ( theRenderer );
1381
+ contourLayer->setUsingRendererV2 ( true );
1410
1382
1411
1383
// add labelling if requested
1412
1384
labelSettingsFromUserStyle ( userStyleElem, contourLayer );
0 commit comments