16#ifndef QGSABSTRACTREPORTSECTION_H 
   17#define QGSABSTRACTREPORTSECTION_H 
   36class CORE_EXPORT QgsReportSectionContext
 
   47    QVariantMap fieldFilters;
 
   62    if ( 
dynamic_cast< QgsReportSectionFieldGroup * 
>( sipCpp ) )
 
   63      sipType = sipType_QgsReportSectionFieldGroup;
 
   64    else if ( 
dynamic_cast< QgsReportSectionLayout * 
>( sipCpp ) )
 
   65      sipType = sipType_QgsReportSectionLayout;
 
   77    QgsAbstractReportSection( QgsAbstractReportSection *parentSection = 
nullptr );
 
   79    ~QgsAbstractReportSection() 
override;
 
   80    QgsAbstractReportSection( 
const QgsAbstractReportSection &other ) = 
delete;
 
   81    QgsAbstractReportSection &operator=( 
const QgsAbstractReportSection &other ) = 
delete;
 
   86    virtual QString type() 
const = 0;
 
   91    virtual QString description() 
const = 0;
 
   96    virtual QIcon icon() 
const = 0;
 
  105    virtual QgsAbstractReportSection *clone() 
const = 0 
SIP_FACTORY;
 
  110    QgsAbstractReportSection *parentSection() { 
return mParent; }
 
  118    int count()
 const override { 
return -1; }
 
  120    QString filePath( 
const QString &baseFilePath, 
const QString &extension ) 
override;
 
  122    bool beginRender() 
override;
 
  123    bool next() 
override;
 
  124    bool endRender() 
override;
 
  129    virtual void reset();
 
  137    virtual bool prepareHeader();
 
  145    virtual bool prepareFooter();
 
  153    virtual QgsLayout *nextBody( 
bool &ok 
SIP_OUT ) { ok = 
false; 
return nullptr; }
 
  161    bool headerEnabled()
 const { 
return mHeaderEnabled; }
 
  169    void setHeaderEnabled( 
bool enabled ) { mHeaderEnabled = enabled; }
 
  178    QgsLayout *header() { 
return mHeader.get(); }
 
  196    bool footerEnabled()
 const { 
return mFooterEnabled; }
 
  204    void setFooterEnabled( 
bool enabled ) { mFooterEnabled = enabled; }
 
  213    QgsLayout *footer() { 
return mFooter.get(); }
 
  230    int childCount()
 const { 
return mChildren.count(); }
 
  246    QList< QgsAbstractReportSection * > childSections()
 const { 
return mChildren; }
 
  252    QgsAbstractReportSection *childSection( 
int index );
 
  259    void appendChild( QgsAbstractReportSection *section 
SIP_TRANSFER );
 
  266    void insertChild( 
int index, QgsAbstractReportSection *section 
SIP_TRANSFER );
 
  272    void removeChild( QgsAbstractReportSection *section );
 
  278    void removeChildAt( 
int index );
 
  284    void setContext( 
const QgsReportSectionContext &context );
 
  290    const QgsReportSectionContext &context()
 const { 
return mContext; }
 
  296    bool writeXml( QDomElement &parentElement, QDomDocument &document, 
const QgsReadWriteContext &context ) 
const;
 
  302    bool readXml( 
const QDomElement §ionElement, 
const QDomDocument &document, 
const QgsReadWriteContext &context );
 
  307    virtual void reloadSettings();
 
  336    void copyCommonProperties( QgsAbstractReportSection *destination ) 
const;
 
  341    virtual void setParentSection( QgsAbstractReportSection *parent ) { mParent = parent; }
 
  348    virtual bool writePropertiesToElement( QDomElement &element, QDomDocument &document, 
const QgsReadWriteContext &context ) 
const;
 
  355    virtual bool readPropertiesFromElement( 
const QDomElement &element, 
const QDomDocument &document, 
const QgsReadWriteContext &context );
 
  359    QgsAbstractReportSection *mParent = 
nullptr;
 
  361    int mSectionNumber = 0;
 
  362    SubSection mNextSection = Header;
 
  366    bool mHeaderEnabled = 
false;
 
  367    bool mFooterEnabled = 
false;
 
  368    std::unique_ptr< QgsLayout > mHeader;
 
  369    std::unique_ptr< QgsLayout > mFooter;
 
  371    QList< QgsAbstractReportSection * > mChildren;
 
  373    QgsReportSectionContext mContext;
 
  376    QgsAbstractReportSection( 
const QgsAbstractReportSection &other );
 
An abstract base class for QgsLayout based classes which can be exported by QgsLayoutExporter.
 
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.
 
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
 
A container for the context for various read/write operations on objects.
 
An interface for classes which can visit style entity (e.g.
 
Represents a vector layer which manages a vector based dataset.
 
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)