[QGIS Commit] r13135 - in trunk/qgis/src: core/symbology-ng
gui/symbology-ng
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Sun Mar 21 17:23:19 EDT 2010
Author: mhugent
Date: 2010-03-21 17:23:18 -0400 (Sun, 21 Mar 2010)
New Revision: 13135
Modified:
trunk/qgis/src/core/symbology-ng/qgsrendererv2.h
trunk/qgis/src/gui/symbology-ng/qgsrendererv2propertiesdialog.cpp
Log:
Make renderFeature method virtual. More safety checks in the renderer props dialog
Modified: trunk/qgis/src/core/symbology-ng/qgsrendererv2.h
===================================================================
--- trunk/qgis/src/core/symbology-ng/qgsrendererv2.h 2010-03-21 15:30:15 UTC (rev 13134)
+++ trunk/qgis/src/core/symbology-ng/qgsrendererv2.h 2010-03-21 21:23:18 UTC (rev 13135)
@@ -73,7 +73,7 @@
virtual QgsFeatureRendererV2* clone() = 0;
- void renderFeature( QgsFeature& feature, QgsRenderContext& context, int layer = -1, bool drawVertexMarker = false );
+ virtual void renderFeature( QgsFeature& feature, QgsRenderContext& context, int layer = -1, bool drawVertexMarker = false );
//! for debugging
virtual QString dump();
Modified: trunk/qgis/src/gui/symbology-ng/qgsrendererv2propertiesdialog.cpp
===================================================================
--- trunk/qgis/src/gui/symbology-ng/qgsrendererv2propertiesdialog.cpp 2010-03-21 15:30:15 UTC (rev 13134)
+++ trunk/qgis/src/gui/symbology-ng/qgsrendererv2propertiesdialog.cpp 2010-03-21 21:23:18 UTC (rev 13135)
@@ -18,31 +18,31 @@
#include <QKeyEvent>
#include <QMessageBox>
-static bool _initRenderer(QString name, QgsRendererV2WidgetFunc f, QString iconName )
+static bool _initRenderer( QString name, QgsRendererV2WidgetFunc f, QString iconName )
{
QgsRendererV2Registry* reg = QgsRendererV2Registry::instance();
QgsRendererV2AbstractMetadata* am = reg->rendererMetadata( name );
- if (am == NULL)
+ if ( am == NULL )
return false;
- QgsRendererV2Metadata* m = dynamic_cast<QgsRendererV2Metadata*>(am);
- if (m == NULL)
+ QgsRendererV2Metadata* m = dynamic_cast<QgsRendererV2Metadata*>( am );
+ if ( m == NULL )
return false;
- m->setWidgetFunction(f);
+ m->setWidgetFunction( f );
QString iconPath = QgsApplication::defaultThemePath() + iconName;
QPixmap pix;
if ( pix.load( iconPath, "png" ) )
- m->setIcon(pix);
+ m->setIcon( pix );
- QgsDebugMsg("Set for "+name);
+ QgsDebugMsg( "Set for " + name );
return true;
}
static void _initRendererWidgetFunctions()
{
static bool initialized = false;
- if (initialized)
+ if ( initialized )
return;
_initRenderer( "singleSymbol", QgsSingleSymbolRendererV2Widget::create, "rendererSingleSymbol.png" );
@@ -154,10 +154,16 @@
void QgsRendererV2PropertiesDialog::apply()
{
- if ( mActiveWidget != NULL )
+ if ( !mActiveWidget || !mLayer )
{
- mLayer->setRendererV2( mActiveWidget->renderer()->clone() );
+ return;
}
+
+ QgsFeatureRendererV2* renderer = mActiveWidget->renderer();
+ if ( renderer )
+ {
+ mLayer->setRendererV2( renderer->clone() );
+ }
}
void QgsRendererV2PropertiesDialog::onOK()
More information about the QGIS-commit
mailing list