Skip to content

Commit

Permalink
sort QgsRasterRendererRegistry entity names in a logical order, for u…
Browse files Browse the repository at this point in the history
…se in raster properties dialog
  • Loading branch information
etiennesky committed Jul 14, 2012
1 parent dbce353 commit 87bdff9
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 8 deletions.
10 changes: 6 additions & 4 deletions src/app/qgsrasterlayerproperties.cpp
Expand Up @@ -274,11 +274,13 @@ QgsRasterLayerProperties::QgsRasterLayerProperties( QgsMapLayer* lyr, QgsMapCanv
QgsRasterRendererRegistry::instance()->insertWidgetFunction( "singlebandgray", QgsSingleBandGrayRendererWidget::create );

//fill available renderers into combo box
QList< QgsRasterRendererRegistryEntry > rendererEntries = QgsRasterRendererRegistry::instance()->entries();
QList< QgsRasterRendererRegistryEntry >::const_iterator rendererIt = rendererEntries.constBegin();
for ( ; rendererIt != rendererEntries.constEnd(); ++rendererIt )
QgsRasterRendererRegistryEntry entry;
foreach( QString name, QgsRasterRendererRegistry::instance()->renderersList() )
{
mRenderTypeComboBox->addItem( rendererIt->visibleName, rendererIt->name );
if ( QgsRasterRendererRegistry::instance()->rendererData( name, entry ) )
{
mRenderTypeComboBox->addItem( entry.visibleName, entry.name );
}
}

if ( renderer )
Expand Down
11 changes: 7 additions & 4 deletions src/core/raster/qgsrasterrendererregistry.cpp
Expand Up @@ -48,13 +48,14 @@ QgsRasterRendererRegistry* QgsRasterRendererRegistry::instance()

QgsRasterRendererRegistry::QgsRasterRendererRegistry()
{
insert( QgsRasterRendererRegistryEntry( "paletted", QObject::tr( "Paletted" ), QgsPalettedRasterRenderer::create, 0 ) );
// insert items in a particular order, which is returned in renderersList()
insert( QgsRasterRendererRegistryEntry( "multibandcolor", QObject::tr( "Multiband color" ),
QgsMultiBandColorRenderer::create, 0 ) );
insert( QgsRasterRendererRegistryEntry( "singlebandpseudocolor", QObject::tr( "Singleband pseudocolor" ),
QgsSingleBandPseudoColorRenderer::create, 0 ) );
insert( QgsRasterRendererRegistryEntry( "paletted", QObject::tr( "Paletted" ), QgsPalettedRasterRenderer::create, 0 ) );
insert( QgsRasterRendererRegistryEntry( "singlebandgray", QObject::tr( "Singleband gray" ),
QgsSingleBandGrayRenderer::create, 0 ) );
insert( QgsRasterRendererRegistryEntry( "singlebandpseudocolor", QObject::tr( "Singleband pseudocolor" ),
QgsSingleBandPseudoColorRenderer::create, 0 ) );
insert( QgsRasterRendererRegistryEntry( "singlebandcolordata", QObject::tr( "Singleband color data" ),
QgsSingleBandColorDataRenderer::create, 0 ) );
}
Expand All @@ -66,6 +67,7 @@ QgsRasterRendererRegistry::~QgsRasterRendererRegistry()
void QgsRasterRendererRegistry::insert( QgsRasterRendererRegistryEntry entry )
{
mEntries.insert( entry.name, entry );
mSortedEntries.append( entry.name );
}

void QgsRasterRendererRegistry::insertWidgetFunction( const QString& rendererName, QgsRasterRendererWidgetCreateFunc func )
Expand All @@ -90,7 +92,8 @@ bool QgsRasterRendererRegistry::rendererData( const QString& rendererName, QgsRa

QStringList QgsRasterRendererRegistry::renderersList() const
{
return QStringList( mEntries.keys() );
// return QStringList( mEntries.keys() );
return mSortedEntries;
}

QList< QgsRasterRendererRegistryEntry > QgsRasterRendererRegistry::entries() const
Expand Down
1 change: 1 addition & 0 deletions src/core/raster/qgsrasterrendererregistry.h
Expand Up @@ -64,6 +64,7 @@ class CORE_EXPORT QgsRasterRendererRegistry
private:
static QgsRasterRendererRegistry* mInstance;
QHash< QString, QgsRasterRendererRegistryEntry > mEntries;
QStringList mSortedEntries;

//read min/max values from
bool minMaxValuesForBand( int band, QgsRasterDataProvider* provider, double& minValue, double& maxValue ) const;
Expand Down

0 comments on commit 87bdff9

Please sign in to comment.