Skip to content

Commit

Permalink
Use index to render legend symbol items
Browse files Browse the repository at this point in the history
  • Loading branch information
NathanW2 committed Jul 4, 2014
1 parent d8eee4e commit b4edd9d
Show file tree
Hide file tree
Showing 7 changed files with 18 additions and 22 deletions.
4 changes: 2 additions & 2 deletions python/core/symbology-ng/qgscategorizedsymbolrendererv2.sip
Expand Up @@ -141,11 +141,11 @@ class QgsCategorizedSymbolRendererV2 : QgsFeatureRendererV2

//! item in symbology was checked
// @note added in 2.5
virtual bool legendSymbolItemChecked( QString key );
virtual bool legendSymbolItemChecked( int index );

//! item in symbology was checked
// @note added in 2.5
virtual void checkLegendSymbolItem( QString key, bool state = true );
virtual void checkLegendSymbolItem( int index, bool state = true );

protected:
void rebuildHash();
Expand Down
4 changes: 2 additions & 2 deletions python/core/symbology-ng/qgsrendererv2.sip
Expand Up @@ -133,11 +133,11 @@ class QgsFeatureRendererV2

//! items of symbology items in legend is checked
//! @node added in 2.5
virtual bool legendSymbolItemChecked( QString key );
virtual bool legendSymbolItemChecked( int index );

//! item in symbology was checked
//! @node added in 2.5
virtual void checkLegendSymbolItem( QString key, bool state = true );
virtual void checkLegendSymbolItem( int index, bool state = true );

//! return a list of item text / symbol
//! @note: this method was added in version 1.5
Expand Down
12 changes: 4 additions & 8 deletions src/core/symbology-ng/qgscategorizedsymbolrendererv2.cpp
Expand Up @@ -750,16 +750,12 @@ bool QgsCategorizedSymbolRendererV2::legendSymbolItemsCheckable() const
return true;
}

bool QgsCategorizedSymbolRendererV2::legendSymbolItemChecked( QString key )
bool QgsCategorizedSymbolRendererV2::legendSymbolItemChecked( int index )
{
int idx = categoryIndexForLabel( key );
return idx < 0 ? true : mCategories[ idx ].renderState();
return index < 0 ? true : mCategories[ index ].renderState();
}

void QgsCategorizedSymbolRendererV2::checkLegendSymbolItem( QString key, bool state )
void QgsCategorizedSymbolRendererV2::checkLegendSymbolItem( int index, bool state )
{
int idx = categoryIndexForLabel( key );
if ( idx < 0 )
return;
updateCategoryRenderState( idx, state );
updateCategoryRenderState( index, state );
}
4 changes: 2 additions & 2 deletions src/core/symbology-ng/qgscategorizedsymbolrendererv2.h
Expand Up @@ -171,11 +171,11 @@ class CORE_EXPORT QgsCategorizedSymbolRendererV2 : public QgsFeatureRendererV2

//! item in symbology was checked
// @note added in 2.5
virtual bool legendSymbolItemChecked( QString key );
virtual bool legendSymbolItemChecked( int index );

//! item in symbology was checked
// @note added in 2.5
virtual void checkLegendSymbolItem( QString key, bool state = true );
virtual void checkLegendSymbolItem( int index, bool state = true );

protected:
QString mAttrName;
Expand Down
8 changes: 4 additions & 4 deletions src/core/symbology-ng/qgsrendererv2.cpp
Expand Up @@ -518,15 +518,15 @@ bool QgsFeatureRendererV2::legendSymbolItemsCheckable() const
return false;
}

bool QgsFeatureRendererV2::legendSymbolItemChecked( QString item )
bool QgsFeatureRendererV2::legendSymbolItemChecked( int index )
{
Q_UNUSED( item );
Q_UNUSED( index );
return false;
}

void QgsFeatureRendererV2::checkLegendSymbolItem( QString item, bool state )
void QgsFeatureRendererV2::checkLegendSymbolItem(int index, bool state )
{
Q_UNUSED( item );
Q_UNUSED( index );
Q_UNUSED( state );
}

Expand Down
4 changes: 2 additions & 2 deletions src/core/symbology-ng/qgsrendererv2.h
Expand Up @@ -156,11 +156,11 @@ class CORE_EXPORT QgsFeatureRendererV2

//! items of symbology items in legend is checked
//! @note added in 2.5
virtual bool legendSymbolItemChecked( QString key );
virtual bool legendSymbolItemChecked( int key );

//! item in symbology was checked
//! @note added in 2.5
virtual void checkLegendSymbolItem( QString key, bool state = true );
virtual void checkLegendSymbolItem( int index, bool state = true );

//! return a list of item text / symbol
//! @note: this method was added in version 1.5
Expand Down
4 changes: 2 additions & 2 deletions src/gui/layertree/qgslayertreemodel.cpp
Expand Up @@ -175,7 +175,7 @@ QVariant QgsLayerTreeModel::data( const QModelIndex &index, int role ) const
if ( !r )
return QVariant();

return r->legendSymbolItemChecked( sym->name() ) ? Qt::Checked : Qt::Unchecked;
return r->legendSymbolItemChecked( index.row() ) ? Qt::Checked : Qt::Unchecked;
}
return QVariant();
}
Expand Down Expand Up @@ -342,7 +342,7 @@ bool QgsLayerTreeModel::setData( const QModelIndex& index, const QVariant& value
if ( !r )
return false;

r->checkLegendSymbolItem( sym->name(), value == Qt::Checked );
r->checkLegendSymbolItem( index.row(), value == Qt::Checked );

emit dataChanged( index, index );

Expand Down

0 comments on commit b4edd9d

Please sign in to comment.