QList<QgsSymbolV2*> QgsGraduatedSymbolRendererV2Widget::selectedSymbols() { QList<QgsSymbolV2*> selectedSymbols; QItemSelectionModel* m = viewGraduated->selectionModel(); QModelIndexList selectedIndexes = m->selectedRows( 1 ); if ( m && selectedIndexes.size() > 0 ) { const QgsRangeList& ranges = mRenderer->ranges(); QModelIndexList::const_iterator indexIt = selectedIndexes.constBegin(); for ( ; indexIt != selectedIndexes.constEnd(); ++indexIt ) { QStandardItem* currentItem = qobject_cast<const QStandardItemModel*>( m->model() )->itemFromIndex( *indexIt ); if ( currentItem ) { QStringList list = currentItem->data( 0 ).toString().split( " " ); if ( list.size() < 3 ) { continue; } double lowerBound = list.at( 0 ).toDouble(); double upperBound = list.at( 2 ).toDouble(); QgsSymbolV2* s = findSymbolForRange( lowerBound, upperBound, ranges ); if ( s ) { selectedSymbols.append( s ); } } } } return selectedSymbols; }
QList<QgsSymbol *> QgsGraduatedSymbolRendererWidget::selectedSymbols() { QList<QgsSymbol *> selectedSymbols; QItemSelectionModel *m = viewGraduated->selectionModel(); QModelIndexList selectedIndexes = m->selectedRows( 1 ); if ( m && !selectedIndexes.isEmpty() ) { const QgsRangeList &ranges = mRenderer->ranges(); QModelIndexList::const_iterator indexIt = selectedIndexes.constBegin(); for ( ; indexIt != selectedIndexes.constEnd(); ++indexIt ) { QStringList list = m->model()->data( *indexIt ).toString().split( ' ' ); if ( list.size() < 3 ) { continue; } // Not strictly necessary because the range should have been sanitized already // after user input, but being permissive never hurts bool ok = false; double lowerBound = qgsPermissiveToDouble( list.at( 0 ), ok ); if ( ! ok ) lowerBound = 0.0; double upperBound = qgsPermissiveToDouble( list.at( 2 ), ok ); if ( ! ok ) upperBound = 0.0; QgsSymbol *s = findSymbolForRange( lowerBound, upperBound, ranges ); if ( s ) { selectedSymbols.append( s ); } } } return selectedSymbols; }