Skip to content

Commit b4edd9d

Browse files
committed
Use index to render legend symbol items
1 parent d8eee4e commit b4edd9d

File tree

7 files changed

+18
-22
lines changed

7 files changed

+18
-22
lines changed

python/core/symbology-ng/qgscategorizedsymbolrendererv2.sip

+2-2
Original file line numberDiff line numberDiff line change
@@ -141,11 +141,11 @@ class QgsCategorizedSymbolRendererV2 : QgsFeatureRendererV2
141141

142142
//! item in symbology was checked
143143
// @note added in 2.5
144-
virtual bool legendSymbolItemChecked( QString key );
144+
virtual bool legendSymbolItemChecked( int index );
145145

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

150150
protected:
151151
void rebuildHash();

python/core/symbology-ng/qgsrendererv2.sip

+2-2
Original file line numberDiff line numberDiff line change
@@ -133,11 +133,11 @@ class QgsFeatureRendererV2
133133

134134
//! items of symbology items in legend is checked
135135
//! @node added in 2.5
136-
virtual bool legendSymbolItemChecked( QString key );
136+
virtual bool legendSymbolItemChecked( int index );
137137

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

142142
//! return a list of item text / symbol
143143
//! @note: this method was added in version 1.5

src/core/symbology-ng/qgscategorizedsymbolrendererv2.cpp

+4-8
Original file line numberDiff line numberDiff line change
@@ -750,16 +750,12 @@ bool QgsCategorizedSymbolRendererV2::legendSymbolItemsCheckable() const
750750
return true;
751751
}
752752

753-
bool QgsCategorizedSymbolRendererV2::legendSymbolItemChecked( QString key )
753+
bool QgsCategorizedSymbolRendererV2::legendSymbolItemChecked( int index )
754754
{
755-
int idx = categoryIndexForLabel( key );
756-
return idx < 0 ? true : mCategories[ idx ].renderState();
755+
return index < 0 ? true : mCategories[ index ].renderState();
757756
}
758757

759-
void QgsCategorizedSymbolRendererV2::checkLegendSymbolItem( QString key, bool state )
758+
void QgsCategorizedSymbolRendererV2::checkLegendSymbolItem( int index, bool state )
760759
{
761-
int idx = categoryIndexForLabel( key );
762-
if ( idx < 0 )
763-
return;
764-
updateCategoryRenderState( idx, state );
760+
updateCategoryRenderState( index, state );
765761
}

src/core/symbology-ng/qgscategorizedsymbolrendererv2.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -171,11 +171,11 @@ class CORE_EXPORT QgsCategorizedSymbolRendererV2 : public QgsFeatureRendererV2
171171

172172
//! item in symbology was checked
173173
// @note added in 2.5
174-
virtual bool legendSymbolItemChecked( QString key );
174+
virtual bool legendSymbolItemChecked( int index );
175175

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

180180
protected:
181181
QString mAttrName;

src/core/symbology-ng/qgsrendererv2.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -518,15 +518,15 @@ bool QgsFeatureRendererV2::legendSymbolItemsCheckable() const
518518
return false;
519519
}
520520

521-
bool QgsFeatureRendererV2::legendSymbolItemChecked( QString item )
521+
bool QgsFeatureRendererV2::legendSymbolItemChecked( int index )
522522
{
523-
Q_UNUSED( item );
523+
Q_UNUSED( index );
524524
return false;
525525
}
526526

527-
void QgsFeatureRendererV2::checkLegendSymbolItem( QString item, bool state )
527+
void QgsFeatureRendererV2::checkLegendSymbolItem(int index, bool state )
528528
{
529-
Q_UNUSED( item );
529+
Q_UNUSED( index );
530530
Q_UNUSED( state );
531531
}
532532

src/core/symbology-ng/qgsrendererv2.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -156,11 +156,11 @@ class CORE_EXPORT QgsFeatureRendererV2
156156

157157
//! items of symbology items in legend is checked
158158
//! @note added in 2.5
159-
virtual bool legendSymbolItemChecked( QString key );
159+
virtual bool legendSymbolItemChecked( int key );
160160

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

165165
//! return a list of item text / symbol
166166
//! @note: this method was added in version 1.5

src/gui/layertree/qgslayertreemodel.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ QVariant QgsLayerTreeModel::data( const QModelIndex &index, int role ) const
175175
if ( !r )
176176
return QVariant();
177177

178-
return r->legendSymbolItemChecked( sym->name() ) ? Qt::Checked : Qt::Unchecked;
178+
return r->legendSymbolItemChecked( index.row() ) ? Qt::Checked : Qt::Unchecked;
179179
}
180180
return QVariant();
181181
}
@@ -342,7 +342,7 @@ bool QgsLayerTreeModel::setData( const QModelIndex& index, const QVariant& value
342342
if ( !r )
343343
return false;
344344

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

347347
emit dataChanged( index, index );
348348

0 commit comments

Comments
 (0)