@@ -561,7 +561,7 @@ QVariant QgsAttributeTableModel::data( const QModelIndex &index, int role ) cons
561
561
if ( index .column () >= mFieldCount )
562
562
return QVariant ();
563
563
564
- int fieldId = mAttributes [ index .column ()] ;
564
+ int fieldId = mAttributes . at ( index .column () ) ;
565
565
566
566
if ( role == FieldIndexRole )
567
567
return fieldId;
@@ -596,46 +596,56 @@ QVariant QgsAttributeTableModel::data( const QModelIndex &index, int role ) cons
596
596
597
597
QVariant val = mFeat .attribute ( fieldId );
598
598
599
- if ( role == Qt::DisplayRole )
599
+ switch ( role )
600
600
{
601
- return mWidgetFactories [index .column ()]->representValue ( layer (), fieldId, mWidgetConfigs [index .column ()], mAttributeWidgetCaches [index .column ()], val );
602
- }
601
+ case Qt::DisplayRole:
602
+ return mWidgetFactories .at ( index .column () )->representValue ( layer (), fieldId, mWidgetConfigs .at ( index .column () ),
603
+ mAttributeWidgetCaches .at ( index .column () ), val );
603
604
604
- if ( role == Qt::BackgroundColorRole || role == Qt::TextColorRole || role == Qt::DecorationRole || role == Qt::FontRole )
605
- {
606
- mExpressionContext .setFeature ( mFeat );
607
- QList<QgsConditionalStyle> styles;
608
- if ( mRowStylesMap .contains ( index .row () ) )
609
- {
610
- styles = mRowStylesMap [index .row ()];
611
- }
612
- else
605
+ case Qt::EditRole:
606
+ return val;
607
+
608
+ case Qt::BackgroundColorRole:
609
+ case Qt::TextColorRole:
610
+ case Qt::DecorationRole:
611
+ case Qt::FontRole:
613
612
{
614
- styles = QgsConditionalStyle::matchingConditionalStyles ( layer ()->conditionalStyles ()->rowStyles (), QVariant (), mExpressionContext );
615
- mRowStylesMap .insert ( index .row (), styles );
613
+ mExpressionContext .setFeature ( mFeat );
614
+ QList<QgsConditionalStyle> styles;
615
+ if ( mRowStylesMap .contains ( index .row () ) )
616
+ {
617
+ styles = mRowStylesMap [index .row ()];
618
+ }
619
+ else
620
+ {
621
+ styles = QgsConditionalStyle::matchingConditionalStyles ( layer ()->conditionalStyles ()->rowStyles (), QVariant (), mExpressionContext );
622
+ mRowStylesMap .insert ( index .row (), styles );
616
623
617
- }
624
+ }
618
625
619
- QgsConditionalStyle rowstyle = QgsConditionalStyle::compressStyles ( styles );
620
- styles = layer ()->conditionalStyles ()->fieldStyles ( field.name () );
621
- styles = QgsConditionalStyle::matchingConditionalStyles ( styles , val, mExpressionContext );
622
- styles.insert ( 0 , rowstyle );
623
- QgsConditionalStyle style = QgsConditionalStyle::compressStyles ( styles );
626
+ QgsConditionalStyle rowstyle = QgsConditionalStyle::compressStyles ( styles );
627
+ styles = layer ()->conditionalStyles ()->fieldStyles ( field.name () );
628
+ styles = QgsConditionalStyle::matchingConditionalStyles ( styles , val, mExpressionContext );
629
+ styles.insert ( 0 , rowstyle );
630
+ QgsConditionalStyle style = QgsConditionalStyle::compressStyles ( styles );
624
631
625
- if ( style.isValid () )
626
- {
627
- if ( role == Qt::BackgroundColorRole && style.validBackgroundColor () )
628
- return style.backgroundColor ();
629
- if ( role == Qt::TextColorRole && style.validTextColor () )
630
- return style.textColor ();
631
- if ( role == Qt::DecorationRole )
632
- return style.icon ();
633
- if ( role == Qt::FontRole )
634
- return style.font ();
635
- }
632
+ if ( style.isValid () )
633
+ {
634
+ if ( role == Qt::BackgroundColorRole && style.validBackgroundColor () )
635
+ return style.backgroundColor ();
636
+ if ( role == Qt::TextColorRole && style.validTextColor () )
637
+ return style.textColor ();
638
+ if ( role == Qt::DecorationRole )
639
+ return style.icon ();
640
+ if ( role == Qt::FontRole )
641
+ return style.font ();
642
+ }
636
643
644
+ return QVariant ();
645
+ }
637
646
}
638
- return val;
647
+
648
+ return QVariant ();
639
649
}
640
650
641
651
bool QgsAttributeTableModel::setData ( const QModelIndex &index, const QVariant &value, int role )
0 commit comments