@@ -3655,106 +3655,6 @@ QVariant QgsVectorLayer::aggregate( QgsAggregateCalculator::Aggregate aggregate,
3655
3655
return c.calculate ( aggregate, fieldOrExpression, context, ok );
3656
3656
}
3657
3657
3658
- QList<QVariant> QgsVectorLayer::getValues ( const QString &fieldOrExpression, bool &ok, bool selectedOnly, QgsFeedback *feedback ) const
3659
- {
3660
- QList<QVariant> values;
3661
-
3662
- std::unique_ptr<QgsExpression> expression;
3663
- QgsExpressionContext context;
3664
-
3665
- int attrNum = mFields .lookupField ( fieldOrExpression );
3666
-
3667
- if ( attrNum == -1 )
3668
- {
3669
- // try to use expression
3670
- expression.reset ( new QgsExpression ( fieldOrExpression ) );
3671
- context.appendScopes ( QgsExpressionContextUtils::globalProjectLayerScopes ( this ) );
3672
-
3673
- if ( expression->hasParserError () || !expression->prepare ( &context ) )
3674
- {
3675
- ok = false ;
3676
- return values;
3677
- }
3678
- }
3679
-
3680
- QgsFeature f;
3681
- QSet<QString> lst;
3682
- if ( !expression )
3683
- lst.insert ( fieldOrExpression );
3684
- else
3685
- lst = expression->referencedColumns ();
3686
-
3687
- QgsFeatureRequest request = QgsFeatureRequest ()
3688
- .setFlags ( ( expression && expression->needsGeometry () ) ?
3689
- QgsFeatureRequest::NoFlags :
3690
- QgsFeatureRequest::NoGeometry )
3691
- .setSubsetOfAttributes ( lst, fields () );
3692
-
3693
- QgsFeatureIterator fit;
3694
- if ( !selectedOnly )
3695
- {
3696
- fit = getFeatures ( request );
3697
- }
3698
- else
3699
- {
3700
- fit = getSelectedFeatures ( request );
3701
- }
3702
-
3703
- // create list of non-null attribute values
3704
- while ( fit.nextFeature ( f ) )
3705
- {
3706
- if ( expression )
3707
- {
3708
- context.setFeature ( f );
3709
- QVariant v = expression->evaluate ( &context );
3710
- values << v;
3711
- }
3712
- else
3713
- {
3714
- values << f.attribute ( attrNum );
3715
- }
3716
- if ( feedback && feedback->isCanceled () )
3717
- {
3718
- ok = false ;
3719
- return values;
3720
- }
3721
- }
3722
- ok = true ;
3723
- return values;
3724
- }
3725
-
3726
- QList<double > QgsVectorLayer::getDoubleValues ( const QString &fieldOrExpression, bool &ok, bool selectedOnly, int *nullCount, QgsFeedback *feedback ) const
3727
- {
3728
- QList<double > values;
3729
-
3730
- if ( nullCount )
3731
- *nullCount = 0 ;
3732
-
3733
- QList<QVariant> variantValues = getValues ( fieldOrExpression, ok, selectedOnly, feedback );
3734
- if ( !ok )
3735
- return values;
3736
-
3737
- bool convertOk;
3738
- Q_FOREACH ( const QVariant &value, variantValues )
3739
- {
3740
- double val = value.toDouble ( &convertOk );
3741
- if ( convertOk )
3742
- values << val;
3743
- else if ( value.isNull () )
3744
- {
3745
- if ( nullCount )
3746
- *nullCount += 1 ;
3747
- }
3748
- if ( feedback && feedback->isCanceled () )
3749
- {
3750
- ok = false ;
3751
- return values;
3752
- }
3753
- }
3754
- ok = true ;
3755
- return values;
3756
- }
3757
-
3758
3658
void QgsVectorLayer::setFeatureBlendMode ( QPainter::CompositionMode featureBlendMode )
3759
3659
{
3760
3660
mFeatureBlendMode = featureBlendMode;
0 commit comments