@@ -788,7 +788,7 @@ void QgsRasterLayer::init()
788
788
{
789
789
mRasterType = QgsRasterLayer::GrayOrUndefined;
790
790
791
- setDrawingStyle ( QgsRasterLayer::UndefinedDrawingStyle );
791
+ setRendererForDrawingStyle ( QgsRasterLayer::UndefinedDrawingStyle );
792
792
793
793
// Initialize the last view port structure, should really be a class
794
794
mLastViewPort .mWidth = 0 ;
@@ -895,16 +895,16 @@ void QgsRasterLayer::setDataProvider( QString const & provider )
895
895
QgsDebugMsg ( " mRasterType = " + QString::number ( mRasterType ) );
896
896
if ( mRasterType == ColorLayer )
897
897
{
898
- QgsDebugMsg ( " Setting mDrawingStyle to SingleBandColorDataStyle " + QString::number ( SingleBandColorDataStyle ) );
899
- setDrawingStyle ( SingleBandColorDataStyle );
898
+ QgsDebugMsg ( " Setting drawing style to SingleBandColorDataStyle " + QString::number ( SingleBandColorDataStyle ) );
899
+ setRendererForDrawingStyle ( SingleBandColorDataStyle );
900
900
}
901
901
else if ( mRasterType == Palette && mDataProvider ->colorInterpretation ( 1 ) == QgsRaster::PaletteIndex )
902
902
{
903
- setDrawingStyle ( PalettedColor ); // sensible default
903
+ setRendererForDrawingStyle ( PalettedColor ); // sensible default
904
904
}
905
905
else if ( mRasterType == Palette && mDataProvider ->colorInterpretation ( 1 ) == QgsRaster::ContinuousPalette )
906
906
{
907
- setDrawingStyle ( SingleBandPseudoColor );
907
+ setRendererForDrawingStyle ( SingleBandPseudoColor );
908
908
// Load color table
909
909
QList<QgsColorRampShader::ColorRampItem> colorTable = mDataProvider ->colorTable ( 1 );
910
910
QgsSingleBandPseudoColorRenderer* r = dynamic_cast <QgsSingleBandPseudoColorRenderer*>( renderer () );
@@ -921,11 +921,11 @@ void QgsRasterLayer::setDataProvider( QString const & provider )
921
921
}
922
922
else if ( mRasterType == Multiband )
923
923
{
924
- setDrawingStyle ( MultiBandColor ); // sensible default
924
+ setRendererForDrawingStyle ( MultiBandColor ); // sensible default
925
925
}
926
926
else // GrayOrUndefined
927
927
{
928
- setDrawingStyle ( SingleBandGray ); // sensible default
928
+ setRendererForDrawingStyle ( SingleBandGray ); // sensible default
929
929
}
930
930
931
931
// Auto set alpha band
@@ -1092,19 +1092,20 @@ void QgsRasterLayer::setContrastEnhancement( QgsContrastEnhancement::ContrastEnh
1092
1092
1093
1093
void QgsRasterLayer::setDefaultContrastEnhancement ()
1094
1094
{
1095
- QgsDebugMsg ( QString ( " mDrawingStyle = %1 " ). arg ( mDrawingStyle ) );
1095
+ QgsDebugMsg ( " Entered " );
1096
1096
1097
1097
QSettings mySettings;
1098
1098
1099
1099
QString myKey;
1100
1100
QString myDefault;
1101
1101
1102
- if ( mDrawingStyle == SingleBandGray || mDrawingStyle == MultiBandSingleBandGray )
1102
+ // TODO: we should not test renderer class here, move it somehow to renderers
1103
+ if ( dynamic_cast <QgsSingleBandGrayRenderer*>( renderer () ) )
1103
1104
{
1104
1105
myKey = " singleBand" ;
1105
1106
myDefault = " StretchToMinimumMaximum" ;
1106
1107
}
1107
- else if ( mDrawingStyle == MultiBandColor )
1108
+ else if ( dynamic_cast <QgsMultiBandColorRenderer*>( renderer () ) )
1108
1109
{
1109
1110
if ( QgsRasterBlock::typeSize ( dataProvider ()->srcDataType ( 1 ) ) == 1 )
1110
1111
{
@@ -1148,52 +1149,54 @@ void QgsRasterLayer::setDefaultContrastEnhancement()
1148
1149
void QgsRasterLayer::setDrawingStyle ( QString const & theDrawingStyleQString )
1149
1150
{
1150
1151
QgsDebugMsg ( " DrawingStyle = " + theDrawingStyleQString );
1152
+ DrawingStyle drawingStyle;
1151
1153
if ( theDrawingStyleQString == " SingleBandGray" )// no need to tr() this its not shown in ui
1152
1154
{
1153
- mDrawingStyle = SingleBandGray;
1155
+ drawingStyle = SingleBandGray;
1154
1156
}
1155
1157
else if ( theDrawingStyleQString == " SingleBandPseudoColor" )// no need to tr() this its not shown in ui
1156
1158
{
1157
- mDrawingStyle = SingleBandPseudoColor;
1159
+ drawingStyle = SingleBandPseudoColor;
1158
1160
}
1159
1161
else if ( theDrawingStyleQString == " PalettedColor" )// no need to tr() this its not shown in ui
1160
1162
{
1161
- mDrawingStyle = PalettedColor;
1163
+ drawingStyle = PalettedColor;
1162
1164
}
1163
1165
else if ( theDrawingStyleQString == " PalettedSingleBandGray" )// no need to tr() this its not shown in ui
1164
1166
{
1165
- mDrawingStyle = PalettedSingleBandGray;
1167
+ drawingStyle = PalettedSingleBandGray;
1166
1168
}
1167
1169
else if ( theDrawingStyleQString == " PalettedSingleBandPseudoColor" )// no need to tr() this its not shown in ui
1168
1170
{
1169
- mDrawingStyle = PalettedSingleBandPseudoColor;
1171
+ drawingStyle = PalettedSingleBandPseudoColor;
1170
1172
}
1171
1173
else if ( theDrawingStyleQString == " PalettedMultiBandColor" )// no need to tr() this its not shown in ui
1172
1174
{
1173
- mDrawingStyle = PalettedMultiBandColor;
1175
+ drawingStyle = PalettedMultiBandColor;
1174
1176
}
1175
1177
else if ( theDrawingStyleQString == " MultiBandSingleBandGray" )// no need to tr() this its not shown in ui
1176
1178
{
1177
- mDrawingStyle = MultiBandSingleBandGray;
1179
+ drawingStyle = MultiBandSingleBandGray;
1178
1180
}
1179
1181
else if ( theDrawingStyleQString == " MultiBandSingleBandPseudoColor" )// no need to tr() this its not shown in ui
1180
1182
{
1181
- mDrawingStyle = MultiBandSingleBandPseudoColor;
1183
+ drawingStyle = MultiBandSingleBandPseudoColor;
1182
1184
}
1183
1185
else if ( theDrawingStyleQString == " MultiBandColor" )// no need to tr() this its not shown in ui
1184
1186
{
1185
- mDrawingStyle = MultiBandColor;
1187
+ drawingStyle = MultiBandColor;
1186
1188
}
1187
1189
else if ( theDrawingStyleQString == " SingleBandColorDataStyle" )// no need to tr() this its not shown in ui
1188
1190
{
1189
- QgsDebugMsg ( " Setting mDrawingStyle to SingleBandColorDataStyle " + QString::number ( SingleBandColorDataStyle ) );
1190
- mDrawingStyle = SingleBandColorDataStyle;
1191
- QgsDebugMsg ( " Setted mDrawingStyle to " + QString::number ( mDrawingStyle ) );
1191
+ QgsDebugMsg ( " Setting drawingStyle to SingleBandColorDataStyle " + QString::number ( SingleBandColorDataStyle ) );
1192
+ drawingStyle = SingleBandColorDataStyle;
1193
+ QgsDebugMsg ( " Setted drawingStyle to " + QString::number ( drawingStyle ) );
1192
1194
}
1193
1195
else
1194
1196
{
1195
- mDrawingStyle = UndefinedDrawingStyle;
1197
+ drawingStyle = UndefinedDrawingStyle;
1196
1198
}
1199
+ setRendererForDrawingStyle ( drawingStyle );
1197
1200
}
1198
1201
1199
1202
void QgsRasterLayer::setLayerOrder ( QStringList const & layers )
@@ -1413,24 +1416,6 @@ bool QgsRasterLayer::readSymbology( const QDomNode& layer_node, QString& errorMe
1413
1416
1414
1417
Raster layer project file XML of form:
1415
1418
1416
- \verbatim
1417
- <maplayer type="raster" visible="1" showInOverviewFlag="1">
1418
- <layername>Wynoochee_dem</layername>
1419
- <datasource>/home/mcoletti/mnt/MCOLETTIF8F9/c/Toolkit_Course/Answers/Training_Data/wynoochee_dem.img</datasource>
1420
- <zorder>0</zorder>
1421
- <transparencyLevelInt>255</transparencyLevelInt>
1422
- <rasterproperties>
1423
- <mDrawingStyle>SingleBandGray</mDrawingStyle>
1424
- <mInvertColor boolean="false"/>
1425
- <mStandardDeviations>0</mStandardDeviations>
1426
- <mRedBandName>Not Set</mRedBandName>
1427
- <mGreenBandName>Not Set</mGreenBandName>
1428
- <mBlueBandName>Not Set</mBlueBandName>
1429
- <mGrayBandName>Undefined</mGrayBandName>
1430
- </rasterproperties>
1431
- </maplayer>
1432
- \endverbatim
1433
-
1434
1419
@note Called by QgsMapLayer::readXML().
1435
1420
*/
1436
1421
bool QgsRasterLayer::readXml ( const QDomNode& layer_node )
@@ -1505,11 +1490,9 @@ bool QgsRasterLayer::readXml( const QDomNode& layer_node )
1505
1490
bool res = readSymbology ( layer_node, theError );
1506
1491
1507
1492
// old wms settings we need to correct
1508
- if ( res &&
1509
- mProviderKey == " wms" &&
1510
- mDrawingStyle == MultiBandColor )
1493
+ if ( res && mProviderKey == " wms" )
1511
1494
{
1512
- mDrawingStyle = SingleBandColorDataStyle;
1495
+ setRendererForDrawingStyle ( SingleBandColorDataStyle ) ;
1513
1496
}
1514
1497
1515
1498
// Check timestamp
0 commit comments