18 #ifndef QGSLAYOUTITEMATTRIBUTETABLE_H
19 #define QGSLAYOUTITEMATTRIBUTETABLE_H
21 #include "qgis_core.h"
57 int type()
const override;
58 QIcon
icon()
const override;
70 void setSource( ContentSource source );
111 void setRelationId(
const QString &
id );
152 void setMaximumNumberOfFeatures(
int features );
168 void setUniqueRowsOnly(
bool uniqueOnly );
185 void setDisplayOnlyVisibleFeatures(
bool visibleOnly );
202 void setFilterToAtlasFeature(
bool filterToAtlas );
227 void setFilterFeatures(
bool filter );
247 void setFeatureFilter(
const QString &expression );
257 void setDisplayedFields(
const QStringList &fields,
bool refresh =
true );
265 void setWrapString(
const QString &wrapString );
296 bool useConditionalStyling()
const;
305 void setUseConditionalStyling(
bool enabled );
314 void disconnectCurrentMap();
319 ContentSource mSource = LayerAttributes;
324 QPointer< QgsVectorLayer > mDataDefinedVectorLayer;
337 int mMaximumNumberOfFeatures = 30;
340 bool mShowUniqueRowsOnly =
false;
343 bool mShowOnlyVisibleFeatures =
false;
346 bool mFilterToAtlasIntersection =
false;
349 bool mFilterFeatures =
false;
352 QString mFeatureFilter;
356 bool mUseConditionalStyling =
false;
358 QList< QList< QgsConditionalStyle > > mConditionalStyles;
359 QList< QgsFeature > mFeatures;
368 , feature( feature ) {}
378 QList<int> fieldsToDisplay()
const;
385 void restoreFieldAliasMap(
const QMap<int, QString> &map );
391 QVariant replaceWrapChar(
const QVariant &variant )
const;
393 #ifdef HAVE_SERVER_PYTHON_PLUGINS
403 void removeLayer(
const QString &layerId );
Conditional styling for a rule.
Single scope for storing variables and functions for use within a QgsExpressionContext.
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
A layout table subclass that displays attributes from a vector layer.
QString wrapString() const
Returns the string used to wrap the contents of the table cells by.
ContentSource
Specifies the content source for the attribute table.
@ AtlasFeature
Table shows attributes from the current atlas feature.
QgsVectorLayer * vectorLayer() const
Returns the vector layer the attribute table is currently using.
QString featureFilter() const
Returns the current expression used to filter features for the table.
ContentSource source() const
Returns the source for attributes shown in the table body.
bool displayOnlyVisibleFeatures() const
Returns true if the table is set to show only features visible on a corresponding map item.
bool filterToAtlasFeature() const
Returns true if the table is set to only show features which intersect the current atlas feature.
QString relationId() const
Returns the relation id which the table displays child features from.
bool filterFeatures() const
Returns true if a feature filter is active on the attribute table.
QgsLayoutItemMap * map() const
Returns the layout map whose extents are controlling the features shown in the table.
int maximumNumberOfFeatures() const
Returns the maximum number of features to be shown by the table.
bool uniqueRowsOnly() const
Returns true if the table is set to show only unique rows.
Layout graphical items for displaying a map.
virtual void finalizeRestoreFromXml()
Called after all pending items have been restored from XML.
QgsExpressionContext createExpressionContext() const override
This method needs to be reimplemented in all classes which implement this interface and return an exp...
virtual int type() const =0
Returns unique multiframe type id.
virtual QIcon icon() const
Returns the item's icon.
virtual QString displayName() const
Returns the multiframe display name.
virtual void refreshDataDefinedProperty(QgsLayoutObject::DataDefinedProperty property=QgsLayoutObject::AllProperties)
Refreshes a data defined property for the multi frame by reevaluating the property's value and redraw...
DataDefinedProperty
Data defined properties for different item types.
@ AllProperties
All properties for item.
A class to display a table in the print layout, and allow the table to span over multiple frames.
virtual QgsConditionalStyle conditionalCellStyle(int row, int column) const
Returns the conditional style to use for the cell at row, column.
virtual QgsExpressionContextScope * scopeForCell(int row, int column) const
Creates a new QgsExpressionContextScope for the cell at row, column.
virtual bool getTableContents(QgsLayoutTableContents &contents)=0
Fetches the contents used for the cells in the table.
bool writePropertiesToElement(QDomElement &elem, QDomDocument &doc, const QgsReadWriteContext &context) const override
Stores multiframe state within an XML DOM element.
bool readPropertiesFromElement(const QDomElement &itemElem, const QDomDocument &doc, const QgsReadWriteContext &context) override
Sets multiframe state from a DOM element.
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.
QVector< QgsLayoutTableColumn > QgsLayoutTableColumns
List of column definitions for a QgsLayoutTable.
QVector< QgsLayoutTableRow > QgsLayoutTableContents
List of QgsLayoutTableRows, representing rows and column cell contents for a QgsLayoutTable.