16 #ifndef QGSREPORTSECTIONFIELDGROUP_H 
   17 #define QGSREPORTSECTIONFIELDGROUP_H 
   19 #include "qgis_core.h" 
   38 class CORE_EXPORT QgsReportSectionFieldGroup : 
public QgsAbstractReportSection
 
   45     enum SectionVisibility
 
   47       IncludeWhenFeaturesFound,      
 
   55     QgsReportSectionFieldGroup( QgsAbstractReportSection *parentSection = 
nullptr );
 
   57     QString type()
 const override { 
return QStringLiteral( 
"SectionFieldGroup" ); }
 
   58     QString description() 
const override;
 
   59     QIcon icon() 
const override;
 
   84     bool bodyEnabled()
 const { 
return mBodyEnabled; }
 
   92     void setBodyEnabled( 
bool enabled ) { mBodyEnabled = enabled; }
 
  105     void setLayer( 
QgsVectorLayer *layer ) { mCoverageLayer = layer; }
 
  111     QString 
field()
 const { 
return mField; }
 
  117     void setField( 
const QString &
field ) { mField = 
field; }
 
  124     bool sortAscending() 
const;
 
  131     void setSortAscending( 
bool sortAscending );
 
  137     SectionVisibility headerVisibility()
 const { 
return mHeaderVisibility; }
 
  143     void setHeaderVisibility( SectionVisibility visibility ) { mHeaderVisibility = visibility; }
 
  149     SectionVisibility footerVisibility()
 const { 
return mFooterVisibility; }
 
  155     void setFooterVisibility( SectionVisibility visibility ) { mFooterVisibility = visibility; }
 
  157     QgsReportSectionFieldGroup *clone() const override 
SIP_FACTORY;
 
  158     bool beginRender() override;
 
  159     bool prepareHeader() override;
 
  160     bool prepareFooter() override;
 
  161     QgsLayout *nextBody( 
bool &ok ) override;
 
  162     void reset() override;
 
  163     void setParentSection( QgsAbstractReportSection *parentSection ) override;
 
  164     void reloadSettings() override;
 
  168     bool writePropertiesToElement( QDomElement &element, QDomDocument &document, const 
QgsReadWriteContext &context ) const override;
 
  169     bool readPropertiesFromElement( const QDomElement &element, const QDomDocument &document, const 
QgsReadWriteContext &context ) override;
 
  175     bool mSortAscending = true;
 
  176     int mFieldIndex = -1;
 
  178     bool mSkipNextRequest = false;
 
  179     bool mNoFeatures = false;
 
  180     SectionVisibility mHeaderVisibility = IncludeWhenFeaturesFound;
 
  181     SectionVisibility mFooterVisibility = IncludeWhenFeaturesFound;
 
  184     QSet< QVariant > mEncounteredValues;
 
  186     bool mBodyEnabled = false;
 
  192     void updateChildContexts( const 
QgsFeature &feature );
 
Wrapper for iterator of features from vector data provider or vector layer.
This class wraps a request for features to a vector layer (or directly its vector data provider).
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
The class is used as a container of context for various read/write operations on other objects.
Represents a vector layer which manages a vector based data sets.
std::unique_ptr< GEOSGeometry, GeosDeleter > unique_ptr
Scoped GEOS pointer.