|
18 | 18 | #include <QKeyEvent>
|
19 | 19 | #include <QMessageBox>
|
20 | 20 |
|
21 |
| -static bool _initRenderer(QString name, QgsRendererV2WidgetFunc f, QString iconName ) |
| 21 | +static bool _initRenderer( QString name, QgsRendererV2WidgetFunc f, QString iconName ) |
22 | 22 | {
|
23 | 23 | QgsRendererV2Registry* reg = QgsRendererV2Registry::instance();
|
24 | 24 | QgsRendererV2AbstractMetadata* am = reg->rendererMetadata( name );
|
25 |
| - if (am == NULL) |
| 25 | + if ( am == NULL ) |
26 | 26 | return false;
|
27 |
| - QgsRendererV2Metadata* m = dynamic_cast<QgsRendererV2Metadata*>(am); |
28 |
| - if (m == NULL) |
| 27 | + QgsRendererV2Metadata* m = dynamic_cast<QgsRendererV2Metadata*>( am ); |
| 28 | + if ( m == NULL ) |
29 | 29 | return false;
|
30 | 30 |
|
31 |
| - m->setWidgetFunction(f); |
| 31 | + m->setWidgetFunction( f ); |
32 | 32 |
|
33 | 33 | QString iconPath = QgsApplication::defaultThemePath() + iconName;
|
34 | 34 | QPixmap pix;
|
35 | 35 | if ( pix.load( iconPath, "png" ) )
|
36 |
| - m->setIcon(pix); |
| 36 | + m->setIcon( pix ); |
37 | 37 |
|
38 |
| - QgsDebugMsg("Set for "+name); |
| 38 | + QgsDebugMsg( "Set for " + name ); |
39 | 39 | return true;
|
40 | 40 | }
|
41 | 41 |
|
42 | 42 | static void _initRendererWidgetFunctions()
|
43 | 43 | {
|
44 | 44 | static bool initialized = false;
|
45 |
| - if (initialized) |
| 45 | + if ( initialized ) |
46 | 46 | return;
|
47 | 47 |
|
48 | 48 | _initRenderer( "singleSymbol", QgsSingleSymbolRendererV2Widget::create, "rendererSingleSymbol.png" );
|
@@ -154,9 +154,15 @@ void QgsRendererV2PropertiesDialog::rendererChanged()
|
154 | 154 |
|
155 | 155 | void QgsRendererV2PropertiesDialog::apply()
|
156 | 156 | {
|
157 |
| - if ( mActiveWidget != NULL ) |
| 157 | + if ( !mActiveWidget || !mLayer ) |
158 | 158 | {
|
159 |
| - mLayer->setRendererV2( mActiveWidget->renderer()->clone() ); |
| 159 | + return; |
| 160 | + } |
| 161 | + |
| 162 | + QgsFeatureRendererV2* renderer = mActiveWidget->renderer(); |
| 163 | + if ( renderer ) |
| 164 | + { |
| 165 | + mLayer->setRendererV2( renderer->clone() ); |
160 | 166 | }
|
161 | 167 | }
|
162 | 168 |
|
|
0 commit comments