QGIS/python/core/layout/qgsabstractreportsection.sip.in
Nyall Dawson c91fd5a067 [reports] Tweak sub-section logic for multi-layer reports
Instead of requiring a single layer for use with nested field group
sections, allow use of different layers. In this case the child
layers are filtered so that any fields with names matching their
parent groups are filtered to match the parent section's value.

Also only include headers and footers for child field group sections
if the child has matching features found.
2018-01-23 17:51:50 +11:00

399 lines
9.7 KiB
Plaintext

/************************************************************************
* This file has been generated automatically from *
* *
* src/core/layout/qgsabstractreportsection.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/
class QgsReportSectionContext
{
%Docstring
Current context for a report section.
.. warning::
This is not considered stable API, and may change in future QGIS releases. It is
exposed to the Python bindings for unit testing purposes only.
.. versionadded:: 3.0
%End
%TypeHeaderCode
#include "qgsabstractreportsection.h"
%End
public:
QgsFeature feature;
QgsVectorLayer *currentLayer;
QVariantMap fieldFilters;
};
class QgsAbstractReportSection : QgsAbstractLayoutIterator
{
%Docstring
An abstract base class for QgsReport subsections.
.. warning::
This is not considered stable API, and may change in future QGIS releases. It is
exposed to the Python bindings for unit testing purposes only.
.. versionadded:: 3.0
%End
%TypeHeaderCode
#include "qgsabstractreportsection.h"
%End
%ConvertToSubClassCode
if ( dynamic_cast< QgsReportSectionFieldGroup * >( sipCpp ) )
sipType = sipType_QgsReportSectionFieldGroup;
else if ( dynamic_cast< QgsReportSectionLayout * >( sipCpp ) )
sipType = sipType_QgsReportSectionLayout;
else
sipType = NULL;
%End
public:
QgsAbstractReportSection( QgsAbstractReportSection *parentSection = 0 );
%Docstring
Constructor for QgsAbstractReportSection, attached to the specified ``parent`` section.
Note that ownership is not transferred to ``parent``.
%End
~QgsAbstractReportSection();
virtual QString type() const = 0;
%Docstring
Returns the section subclass type.
%End
virtual QString description() const = 0;
%Docstring
Returns a user-visible, translated description of the section.
%End
virtual QIcon icon() const = 0;
%Docstring
Returns an icon representing the section.
%End
virtual QgsAbstractReportSection *clone() const = 0 /Factory/;
%Docstring
Clones the report section. Ownership of the returned section is
transferred to the caller.
Subclasses should call copyCommonProperties() in their clone()
implementations.
%End
QgsAbstractReportSection *parentSection();
%Docstring
Returns the parent report section.
%End
QgsProject *project();
%Docstring
Returns the associated project.
%End
virtual int count();
virtual QString filePath( const QString &baseFilePath, const QString &extension );
virtual QgsLayout *layout();
virtual bool beginRender();
virtual bool next();
virtual bool endRender();
virtual void reset();
%Docstring
Resets the section, ready for a new iteration.
%End
virtual bool prepareHeader();
%Docstring
Called just before rendering the section's header. Should return true if the header
is to be included for this section, or false to skip the header for the current
section.
.. seealso:: :py:func:`prepareFooter`
%End
virtual bool prepareFooter();
%Docstring
Called just before rendering the section's footer. Should return true if the footer
is to be included for this section, or false to skip the footerfor the current
section.
.. seealso:: :py:func:`prepareHeader`
%End
virtual QgsLayout *nextBody( bool &ok /Out/ );
%Docstring
Returns the next body layout to export, or a None if
no body layout is required this iteration.
``ok`` will be set to false if no bodies remain for this section.
%End
bool headerEnabled() const;
%Docstring
Returns true if the header for the section is enabled.
.. seealso:: :py:func:`setHeaderEnabled`
.. seealso:: :py:func:`header`
.. seealso:: :py:func:`setHeader`
%End
void setHeaderEnabled( bool enabled );
%Docstring
Sets whether the header for the section is ``enabled``.
.. seealso:: :py:func:`headerEnabled`
.. seealso:: :py:func:`header`
.. seealso:: :py:func:`setHeader`
%End
QgsLayout *header();
%Docstring
Returns the header for the section. Note that the header is only
included if headerEnabled() is true.
.. seealso:: :py:func:`setHeaderEnabled`
.. seealso:: :py:func:`headerEnabled`
.. seealso:: :py:func:`setHeader`
%End
void setHeader( QgsLayout *header /Transfer/ );
%Docstring
Sets the ``header`` for the section. Note that the header is only
included if headerEnabled() is true. Ownership of ``header``
is transferred to the report section.
.. seealso:: :py:func:`setHeaderEnabled`
.. seealso:: :py:func:`headerEnabled`
.. seealso:: :py:func:`header`
%End
bool footerEnabled() const;
%Docstring
Returns true if the footer for the section is enabled.
.. seealso:: :py:func:`setFooterEnabled`
.. seealso:: :py:func:`footer`
.. seealso:: :py:func:`setFooter`
%End
void setFooterEnabled( bool enabled );
%Docstring
Sets whether the footer for the section is ``enabled``.
.. seealso:: :py:func:`footerEnabled`
.. seealso:: :py:func:`footer`
.. seealso:: :py:func:`setFooter`
%End
QgsLayout *footer();
%Docstring
Returns the footer for the section. Note that the footer is only
included if footerEnabled() is true.
.. seealso:: :py:func:`setFooterEnabled`
.. seealso:: :py:func:`footerEnabled`
.. seealso:: :py:func:`setFooter`
%End
void setFooter( QgsLayout *footer /Transfer/ );
%Docstring
Sets the ``footer`` for the section. Note that the footer is only
included if footerEnabled() is true. Ownership of ``footer``
is transferred to the report section.
.. seealso:: :py:func:`setFooterEnabled`
.. seealso:: :py:func:`footerEnabled`
.. seealso:: :py:func:`footer`
%End
int childCount() const;
%Docstring
Return the number of child sections for this report section. The child
sections form the body of the report section.
.. seealso:: :py:func:`children`
%End
int row() const;
%Docstring
Returns the row number of the section within it's parent section.
%End
QList< QgsAbstractReportSection * > childSections() const;
%Docstring
Return all child sections for this report section. The child
sections form the body of the report section.
.. seealso:: :py:func:`childCount`
.. seealso:: :py:func:`child`
.. seealso:: :py:func:`appendChild`
.. seealso:: :py:func:`insertChild`
.. seealso:: :py:func:`removeChild`
%End
QgsAbstractReportSection *childSection( int index );
%Docstring
Returns the child section at the specified ``index``.
.. seealso:: :py:func:`children`
%End
void appendChild( QgsAbstractReportSection *section /Transfer/ );
%Docstring
Adds a child ``section``, transferring ownership of the section to this section.
.. seealso:: :py:func:`children`
.. seealso:: :py:func:`insertChild`
%End
void insertChild( int index, QgsAbstractReportSection *section /Transfer/ );
%Docstring
Inserts a child ``section`` at the specified ``index``, transferring ownership of the section to this section.
.. seealso:: :py:func:`children`
.. seealso:: :py:func:`appendChild`
%End
void removeChild( QgsAbstractReportSection *section );
%Docstring
Removes a child ``section``, deleting it.
.. seealso:: :py:func:`children`
%End
void removeChildAt( int index );
%Docstring
Removes the child section at the specified ``index``, deleting it.
.. seealso:: :py:func:`children`
%End
void setContext( const QgsReportSectionContext &context );
%Docstring
Sets the current ``context`` for this section.
.. seealso:: :py:func:`context`
%End
const QgsReportSectionContext &context() const;
%Docstring
Returns the current context for this section.
.. seealso:: :py:func:`setContext`
%End
bool writeXml( QDomElement &parentElement, QDomDocument &document, const QgsReadWriteContext &context ) const;
%Docstring
Stores the section state in a DOM element.
.. seealso:: :py:func:`readXml`
%End
bool readXml( const QDomElement &sectionElement, const QDomDocument &document, const QgsReadWriteContext &context );
%Docstring
Sets the item state from a DOM element.
.. seealso:: :py:func:`writeXml`
%End
virtual void reloadSettings();
%Docstring
Refreshes the section when global layout related options change.
%End
protected:
enum SubSection
{
Header,
Body,
Children,
Footer,
End,
};
void copyCommonProperties( QgsAbstractReportSection *destination ) const;
%Docstring
Copies the common properties of a report section to a ``destination`` section.
This method should be called from clone() implementations.
%End
virtual void setParentSection( QgsAbstractReportSection *parent );
%Docstring
Sets the ``parent`` report section.
%End
virtual bool writePropertiesToElement( QDomElement &element, QDomDocument &document, const QgsReadWriteContext &context ) const;
%Docstring
Stores section state within an XML DOM element.
.. seealso:: :py:func:`writeXml`
.. seealso:: :py:func:`readPropertiesFromElement`
%End
virtual bool readPropertiesFromElement( const QDomElement &element, const QDomDocument &document, const QgsReadWriteContext &context );
%Docstring
Sets section state from a DOM element.
.. seealso:: :py:func:`writePropertiesToElement`
.. seealso:: :py:func:`readXml`
%End
private:
QgsAbstractReportSection( const QgsAbstractReportSection &other );
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/layout/qgsabstractreportsection.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/