Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge branch 'master' of github.com:qgis/Quantum-GIS
  • Loading branch information
timlinux committed Mar 28, 2012
2 parents 5333b74 + f375e35 commit 9869fc5
Show file tree
Hide file tree
Showing 8 changed files with 88 additions and 1,134 deletions.
2 changes: 0 additions & 2 deletions src/mapserver/CMakeLists.txt
Expand Up @@ -26,13 +26,11 @@ SET ( qgis_mapserv_SRCS
qgspostrequesthandler.cpp
qgssoaprequesthandler.cpp
qgssldparser.cpp
qgssldrenderer.cpp
qgswmsserver.cpp
qgswfsserver.cpp
qgsmapserviceexception.cpp
qgsmslayercache.cpp
qgsfilter.cpp
qgssldrule.cpp
qgsbetweenfilter.cpp
qgscomparisonfilter.cpp
qgslogicalfilter.cpp
Expand Down
67 changes: 21 additions & 46 deletions src/mapserver/qgssldparser.cpp
Expand Up @@ -21,9 +21,9 @@
#include "qgscoordinatetransform.h"
#include "qgsftptransaction.h"
#include "qgshttptransaction.h"
#include "qgssinglesymbolrenderer.h"
#include "qgssldrenderer.h"
#include "qgssymbol.h"
#include "qgsrendererv2.h"
#include "qgssinglesymbolrendererv2.h"
#include "qgssymbolv2.h"
#include "qgsvectordataprovider.h"
#include "qgsvectorlayer.h"
#include "qgsmapserviceexception.h"
Expand All @@ -32,7 +32,6 @@
#include "qgsmsutils.h"
#include "qgsrasterlayer.h"
#include "qgscolorrampshader.h"
#include "qgssldrule.h"
#include "qgscoordinatereferencesystem.h"
#include "qgslabelattributes.h"

Expand Down Expand Up @@ -274,9 +273,9 @@ QList<QgsMapLayer*> QgsSLDParser::mapLayerFromStyle( const QString& layerName, c
QgsVectorLayer* v = dynamic_cast<QgsVectorLayer*>( fallbackLayerList.at( 0 ) );
if ( v )
{
QgsRenderer* r = rendererFromUserStyle( userStyleElement, v );
v->setRenderer( r );
v->setUsingRendererV2( false );
QgsFeatureRendererV2* r = rendererFromUserStyle( userStyleElement, v );
v->setRendererV2( r );
v->setUsingRendererV2( true );
labelSettingsFromUserStyle( userStyleElement, v );
#ifdef DIAGRAMSERVER
overlaysFromUserStyle( userStyleElement, v );
Expand Down Expand Up @@ -337,7 +336,7 @@ QList<QgsMapLayer*> QgsSLDParser::mapLayerFromStyle( const QString& layerName, c
return resultList;
}

QgsRenderer* theRenderer = 0;
QgsFeatureRendererV2* theRenderer = 0;

QgsVectorLayer* theVectorLayer = dynamic_cast<QgsVectorLayer*>( theMapLayer );
if ( !theVectorLayer )
Expand Down Expand Up @@ -370,15 +369,8 @@ QList<QgsMapLayer*> QgsSLDParser::mapLayerFromStyle( const QString& layerName, c

if ( userStyleElement.isNull() )//apply a default style
{
theRenderer = new QgsSingleSymbolRenderer( theVectorLayer->geometryType() );
QgsSymbol* defaultSymbol = new QgsSymbol( theVectorLayer->geometryType() );
QPen defaultPen;
defaultPen.setWidth( 1 );
defaultSymbol->setPen( defaultPen );
QBrush defaultBrush;
defaultBrush.setStyle( Qt::NoBrush );
defaultSymbol->setBrush( defaultBrush );
( static_cast<QgsSingleSymbolRenderer*>( theRenderer ) )->addSymbol( defaultSymbol );
QgsSymbolV2* symbol = QgsSymbolV2::defaultSymbol( theVectorLayer->geometryType() );
theRenderer = new QgsSingleSymbolRendererV2( symbol );
}
else
{
Expand All @@ -399,48 +391,30 @@ QList<QgsMapLayer*> QgsSLDParser::mapLayerFromStyle( const QString& layerName, c
delete theVectorLayer;
return resultList;
}
theVectorLayer->setRenderer( theRenderer );
theVectorLayer->setUsingRendererV2( false );
theVectorLayer->setRendererV2( theRenderer );
theVectorLayer->setUsingRendererV2( true );
QgsDebugMsg( "Returning the vectorlayer" );
setOpacityForLayer( userLayerElement, theVectorLayer );
resultList.push_back( theVectorLayer );
return resultList;
}

QgsRenderer* QgsSLDParser::rendererFromUserStyle( const QDomElement& userStyleElement, QgsVectorLayer* vec ) const
QgsFeatureRendererV2* QgsSLDParser::rendererFromUserStyle( const QDomElement& userStyleElement, QgsVectorLayer* vec ) const
{
if ( !vec )
if ( !vec || userStyleElement.isNull() )
{
return 0;
}

QgsDebugMsg( "Entering" );

QgsSLDRenderer* theRenderer = new QgsSLDRenderer( vec->geometryType() );
theRenderer->setScaleDenominator( mScaleDenominator );

if ( !userStyleElement.isNull() )
QString errorMessage;
QgsFeatureRendererV2* renderer = QgsFeatureRendererV2::loadSld( userStyleElement.parentNode(), vec->geometryType(), errorMessage );
if ( !renderer )
{
QDomNodeList featureTypeList = userStyleElement.elementsByTagName( "FeatureTypeStyle" );
for ( int i = 0; i < featureTypeList.size(); ++i )
{
QDomNodeList ruleNodeList = featureTypeList.item( i ).toElement().elementsByTagName( "Rule" );
for ( int j = 0; j < ruleNodeList.size(); ++j )
{
QDomElement ruleElement = ruleNodeList.item( j ).toElement();
QgsSLDRule* r = new QgsSLDRule();
if ( r->setFromXml( ruleElement, vec, mFilesToRemove ) == 0 )
{
theRenderer->addRule( r );
}
else
{
delete r;
}
}
}
throw QgsMapServiceException( "SLD error", errorMessage );
}
return theRenderer;
return renderer;
}

bool QgsSLDParser::rasterSymbologyFromUserStyle( const QDomElement& userStyleElement, QgsRasterLayer* r ) const
Expand Down Expand Up @@ -1405,8 +1379,9 @@ QgsVectorLayer* QgsSLDParser::contourLayerFromRaster( const QDomElement& userSty
QgsVectorLayer* contourLayer = new QgsVectorLayer( tmpFileName, "layer", "ogr" );

//create renderer
QgsRenderer* theRenderer = rendererFromUserStyle( userStyleElem, contourLayer );
contourLayer->setRenderer( theRenderer );
QgsFeatureRendererV2* theRenderer = rendererFromUserStyle( userStyleElem, contourLayer );
contourLayer->setRendererV2( theRenderer );
contourLayer->setUsingRendererV2( true );

//add labelling if requested
labelSettingsFromUserStyle( userStyleElem, contourLayer );
Expand Down
4 changes: 2 additions & 2 deletions src/mapserver/qgssldparser.h
Expand Up @@ -27,7 +27,7 @@ class QPen;
class QgsMapLayer;
class QgsVectorLayer;
class QgsRasterLayer;
class QgsRenderer;
class QgsFeatureRendererV2;

#include "qgsconfigparser.h"
#include "qgsmaprenderer.h"
Expand Down Expand Up @@ -85,7 +85,7 @@ class QgsSLDParser: public QgsConfigParser
/**Don't use the default constructor*/
QgsSLDParser();
/**Creates a Renderer from a UserStyle SLD node. Returns 0 in case of error*/
QgsRenderer* rendererFromUserStyle( const QDomElement& userStyleElement, QgsVectorLayer* vec ) const;
QgsFeatureRendererV2* rendererFromUserStyle( const QDomElement& userStyleElement, QgsVectorLayer* vec ) const;
/**Searches for a <TextSymbolizer> element and applies the settings to the vector layer
@return true if settings have been applied, false in case of <TextSymbolizer> element not present or error*/
bool labelSettingsFromUserStyle( const QDomElement& userStyleElement, QgsVectorLayer* vec ) const;
Expand Down
131 changes: 0 additions & 131 deletions src/mapserver/qgssldrenderer.cpp

This file was deleted.

71 changes: 0 additions & 71 deletions src/mapserver/qgssldrenderer.h

This file was deleted.

0 comments on commit 9869fc5

Please sign in to comment.