[QGIS Commit] r10986 - in trunk/qgis/src: app core/renderer
core/symbology
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Sat Jun 27 17:35:42 EDT 2009
Author: jef
Date: 2009-06-27 17:35:41 -0400 (Sat, 27 Jun 2009)
New Revision: 10986
Modified:
trunk/qgis/src/app/qgsuniquevaluedialog.cpp
trunk/qgis/src/core/renderer/qgsuniquevaluerenderer.cpp
trunk/qgis/src/core/symbology/qgssymbol.cpp
Log:
[FEATURE] add default class to unique value renderer (fixes #1750)
- unique value enull" now default class (ie. class for values without a defined class)
- "add class" and "classify" now add the default class
Modified: trunk/qgis/src/app/qgsuniquevaluedialog.cpp
===================================================================
--- trunk/qgis/src/app/qgsuniquevaluedialog.cpp 2009-06-26 20:18:52 UTC (rev 10985)
+++ trunk/qgis/src/app/qgsuniquevaluedialog.cpp 2009-06-27 21:35:41 UTC (rev 10986)
@@ -200,7 +200,7 @@
void QgsUniqueValueDialog::addClass( QString value )
{
QgsDebugMsg( "called." );
- if ( value.isNull() || mValues.contains( value ) )
+ if ( mValues.contains( value ) )
{
int i;
for ( i = 0; mValues.contains( value + QString::number( i ) ); i++ )
@@ -208,7 +208,7 @@
value += QString::number( i );
}
- QgsSymbol *symbol = new QgsSymbol( mVectorLayer->geometryType(), value );
+ QgsSymbol *symbol = new QgsSymbol( mVectorLayer->geometryType(), value, value, value.isNull() ? tr( "default" ) : "" );
mValues.insert( value, symbol );
QListWidgetItem *item = new QListWidgetItem( value );
@@ -306,6 +306,9 @@
if ( !mValues.contains( values[i].toString() ) )
addClass( values[i].toString() );
}
+
+ if ( !mValues.contains( QString::null ) )
+ addClass( QString::null );
}
}
Modified: trunk/qgis/src/core/renderer/qgsuniquevaluerenderer.cpp
===================================================================
--- trunk/qgis/src/core/renderer/qgsuniquevaluerenderer.cpp 2009-06-26 20:18:52 UTC (rev 10985)
+++ trunk/qgis/src/core/renderer/qgsuniquevaluerenderer.cpp 2009-06-27 21:35:41 UTC (rev 10986)
@@ -185,6 +185,11 @@
QMap<QString, QgsSymbol*>::iterator it = mSymbols.find( value );
if ( it == mSymbols.end() )
{
+ it = mSymbols.find( QString::null );
+ }
+
+ if ( it == mSymbols.end() )
+ {
return 0;
}
else
Modified: trunk/qgis/src/core/symbology/qgssymbol.cpp
===================================================================
--- trunk/qgis/src/core/symbology/qgssymbol.cpp 2009-06-26 20:18:52 UTC (rev 10985)
+++ trunk/qgis/src/core/symbology/qgssymbol.cpp 2009-06-27 21:35:41 UTC (rev 10986)
@@ -445,6 +445,10 @@
{
QDomElement node = document.createElement( name );
QDomText txt = document.createTextNode( value );
+ if ( value.isNull() )
+ {
+ node.setAttribute( "null", "1" );
+ }
symbol.appendChild( node );
node.appendChild( txt );
}
@@ -542,7 +546,14 @@
if ( ! lvalnode.isNull() )
{
QDomElement lvalelement = lvalnode.toElement();
- mLowerValue = lvalelement.text();
+ if ( lvalelement.attribute( "null" ).toInt() == 1 )
+ {
+ mLowerValue = QString::null;
+ }
+ else
+ {
+ mLowerValue = lvalelement.text();
+ }
}
QDomNode uvalnode = synode.namedItem( "uppervalue" );
More information about the QGIS-commit
mailing list