Skip to content

Commit 60b5edb

Browse files
committed
Fix transparency table and histogram
1 parent 01cb953 commit 60b5edb

File tree

1 file changed

+28
-25
lines changed

1 file changed

+28
-25
lines changed

src/app/qgsrasterlayerproperties.cpp

Lines changed: 28 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ QgsRasterLayerProperties::QgsRasterLayerProperties( QgsMapLayer* lyr, QgsMapCanv
186186
tabBar->setCurrentIndex( settings.value( "/Windows/RasterLayerProperties/row" ).toInt() );
187187

188188
setWindowTitle( tr( "Layer Properties - %1" ).arg( lyr->name() ) );
189-
int myHistogramTab = 6;
189+
int myHistogramTab = 5;
190190
if ( tabBar->currentIndex() == myHistogramTab )
191191
{
192192
refreshHistogram();
@@ -324,11 +324,8 @@ void QgsRasterLayerProperties::populateTransparencyTable()
324324
{
325325
return;
326326
}
327+
327328
const QgsRasterTransparency* rasterTransparency = renderer->rasterTransparency();
328-
if ( !rasterTransparency )
329-
{
330-
return;
331-
}
332329

333330
//Clear existing color transparency list
334331
//NOTE: May want to just tableTransparency->clearContents() and fill back in after checking to be sure list and table are the same size
@@ -349,19 +346,22 @@ void QgsRasterLayerProperties::populateTransparencyTable()
349346

350347

351348
//populate three band transparency list
352-
QList<QgsRasterTransparency::TransparentThreeValuePixel> myTransparentThreeValuePixelList = rasterTransparency->transparentThreeValuePixelList();
353-
for ( int myListRunner = 0; myListRunner < myTransparentThreeValuePixelList.count(); myListRunner++ )
349+
if ( rasterTransparency )
354350
{
355-
tableTransparency->insertRow( myListRunner );
356-
QTableWidgetItem* myRedItem = new QTableWidgetItem( myNumberFormatter.sprintf( "%.2f", myTransparentThreeValuePixelList[myListRunner].red ) );
357-
QTableWidgetItem* myGreenItem = new QTableWidgetItem( myNumberFormatter.sprintf( "%.2f", myTransparentThreeValuePixelList[myListRunner].green ) );
358-
QTableWidgetItem* myBlueItem = new QTableWidgetItem( myNumberFormatter.sprintf( "%.2f", myTransparentThreeValuePixelList[myListRunner].blue ) );
359-
QTableWidgetItem* myPercentTransparentItem = new QTableWidgetItem( myNumberFormatter.sprintf( "%.2f", myTransparentThreeValuePixelList[myListRunner].percentTransparent ) );
360-
361-
tableTransparency->setItem( myListRunner, 0, myRedItem );
362-
tableTransparency->setItem( myListRunner, 1, myGreenItem );
363-
tableTransparency->setItem( myListRunner, 2, myBlueItem );
364-
tableTransparency->setItem( myListRunner, 3, myPercentTransparentItem );
351+
QList<QgsRasterTransparency::TransparentThreeValuePixel> myTransparentThreeValuePixelList = rasterTransparency->transparentThreeValuePixelList();
352+
for ( int myListRunner = 0; myListRunner < myTransparentThreeValuePixelList.count(); myListRunner++ )
353+
{
354+
tableTransparency->insertRow( myListRunner );
355+
QTableWidgetItem* myRedItem = new QTableWidgetItem( myNumberFormatter.sprintf( "%.2f", myTransparentThreeValuePixelList[myListRunner].red ) );
356+
QTableWidgetItem* myGreenItem = new QTableWidgetItem( myNumberFormatter.sprintf( "%.2f", myTransparentThreeValuePixelList[myListRunner].green ) );
357+
QTableWidgetItem* myBlueItem = new QTableWidgetItem( myNumberFormatter.sprintf( "%.2f", myTransparentThreeValuePixelList[myListRunner].blue ) );
358+
QTableWidgetItem* myPercentTransparentItem = new QTableWidgetItem( myNumberFormatter.sprintf( "%.2f", myTransparentThreeValuePixelList[myListRunner].percentTransparent ) );
359+
360+
tableTransparency->setItem( myListRunner, 0, myRedItem );
361+
tableTransparency->setItem( myListRunner, 1, myGreenItem );
362+
tableTransparency->setItem( myListRunner, 2, myBlueItem );
363+
tableTransparency->setItem( myListRunner, 3, myPercentTransparentItem );
364+
}
365365
}
366366
}
367367
else if ( mRasterLayer->bandCount() == 1 )
@@ -388,15 +388,18 @@ void QgsRasterLayerProperties::populateTransparencyTable()
388388
tableTransparency->setHorizontalHeaderItem( 1, new QTableWidgetItem( tr( "Percent Transparent" ) ) );
389389

390390
//populate gray transparency list
391-
QList<QgsRasterTransparency::TransparentSingleValuePixel> myTransparentSingleValuePixelList = rasterTransparency->transparentSingleValuePixelList();
392-
for ( int myListRunner = 0; myListRunner < myTransparentSingleValuePixelList.count(); myListRunner++ )
391+
if ( rasterTransparency )
393392
{
394-
tableTransparency->insertRow( myListRunner );
395-
QTableWidgetItem* myGrayItem = new QTableWidgetItem( myNumberFormatter.sprintf( "%g", myTransparentSingleValuePixelList[myListRunner].pixelValue ) );
396-
QTableWidgetItem* myPercentTransparentItem = new QTableWidgetItem( myNumberFormatter.sprintf( "%.2f", myTransparentSingleValuePixelList[myListRunner].percentTransparent ) );
393+
QList<QgsRasterTransparency::TransparentSingleValuePixel> myTransparentSingleValuePixelList = rasterTransparency->transparentSingleValuePixelList();
394+
for ( int myListRunner = 0; myListRunner < myTransparentSingleValuePixelList.count(); myListRunner++ )
395+
{
396+
tableTransparency->insertRow( myListRunner );
397+
QTableWidgetItem* myGrayItem = new QTableWidgetItem( myNumberFormatter.sprintf( "%g", myTransparentSingleValuePixelList[myListRunner].pixelValue ) );
398+
QTableWidgetItem* myPercentTransparentItem = new QTableWidgetItem( myNumberFormatter.sprintf( "%.2f", myTransparentSingleValuePixelList[myListRunner].percentTransparent ) );
397399

398-
tableTransparency->setItem( myListRunner, 0, myGrayItem );
399-
tableTransparency->setItem( myListRunner, 1, myPercentTransparentItem );
400+
tableTransparency->setItem( myListRunner, 0, myGrayItem );
401+
tableTransparency->setItem( myListRunner, 1, myPercentTransparentItem );
402+
}
400403
}
401404
}
402405

@@ -1112,7 +1115,7 @@ void QgsRasterLayerProperties::on_pbnExportTransparentPixelValues_clicked()
11121115

11131116
void QgsRasterLayerProperties::on_tabBar_currentChanged( int theTab )
11141117
{
1115-
int myHistogramTab = 6;
1118+
int myHistogramTab = 5;
11161119
if ( theTab == myHistogramTab )
11171120
{
11181121
refreshHistogram();

0 commit comments

Comments
 (0)