QGIS API Documentation  3.4.15-Madeira (e83d02e274)
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
QgsLayoutItemAttributeTable Class Reference

A layout table subclass that displays attributes from a vector layer. More...

#include <qgslayoutitemattributetable.h>

Inheritance diagram for QgsLayoutItemAttributeTable:
Inheritance graph
[legend]

Public Types

enum  ContentSource { LayerAttributes = 0, AtlasFeature, RelationChildren }
 Specifies the content source for the attribute table. More...
 
- Public Types inherited from QgsLayoutTable
enum  CellStyleGroup {
  OddColumns, EvenColumns, OddRows, EvenRows,
  FirstColumn, LastColumn, HeaderRow, FirstRow,
  LastRow
}
 Row or column groups for cell styling. More...
 
enum  EmptyTableMode { HeadersOnly = 0, HideTable, ShowMessage }
 Controls how empty tables are displayed. More...
 
enum  HeaderHAlignment { FollowColumn, HeaderLeft, HeaderCenter, HeaderRight }
 Controls how headers are horizontally aligned in a table. More...
 
enum  HeaderMode { FirstFrame = 0, AllFrames, NoHeaders }
 Controls where headers are shown in the table. More...
 
enum  WrapBehavior { TruncateText = 0, WrapText }
 Controls how long strings in the table are handled. More...
 
- Public Types inherited from QgsLayoutMultiFrame
enum  ResizeMode { UseExistingFrames = 0, ExtendToNextPage, RepeatOnEveryPage, RepeatUntilFinished }
 Specifies the behavior for creating new frames to fit the multiframe's content. More...
 
enum  UndoCommand {
  UndoHtmlBreakDistance, UndoHtmlSource, UndoHtmlStylesheet, UndoTableCellStyle,
  UndoTableMaximumFeatures, UndoTableMargin, UndoTableHeaderFontColor, UndoTableContentFontColor,
  UndoTableGridStrokeWidth, UndoTableGridColor, UndoTableBackgroundColor, UndoNone = -1
}
 Multiframe item undo commands, used for collapsing undo commands. More...
 
- Public Types inherited from QgsLayoutObject
enum  DataDefinedProperty {
  NoProperty = 0, AllProperties, TestProperty, PresetPaperSize,
  PaperWidth, PaperHeight, NumPages, PaperOrientation,
  PageNumber, PositionX, PositionY, ItemWidth,
  ItemHeight, ItemRotation, Transparency, Opacity,
  BlendMode, ExcludeFromExports, FrameColor, BackgroundColor,
  MapRotation, MapScale, MapXMin, MapYMin,
  MapXMax, MapYMax, MapAtlasMargin, MapLayers,
  MapStylePreset, PictureSource, PictureSvgBackgroundColor, PictureSvgStrokeColor,
  PictureSvgStrokeWidth, SourceUrl, LegendTitle, LegendColumnCount,
  ScalebarFillColor, ScalebarFillColor2, ScalebarLineColor, ScalebarLineWidth,
  AttributeTableSourceLayer
}
 Data defined properties for different item types. More...
 
enum  PropertyValueType { EvaluatedValue = 0, OriginalValue }
 Specifies whether the value returned by a function should be the original, user set value, or the current evaluated value for the property. More...
 

Public Member Functions

 QgsLayoutItemAttributeTable (QgsLayout *layout)
 Constructor for QgsLayoutItemAttributeTable, attached to the specified layout. More...
 
QgsExpressionContext createExpressionContext () const override
 This method needs to be reimplemented in all classes which implement this interface and return an expression context. More...
 
QString displayName () const override
 Returns the multiframe display name. More...
 
bool displayOnlyVisibleFeatures () const
 Returns true if the table is set to show only features visible on a corresponding map item. More...
 
QString featureFilter () const
 Returns the current expression used to filter features for the table. More...
 
bool filterFeatures () const
 Returns true if a feature filter is active on the attribute table. More...
 
bool filterToAtlasFeature () const
 Returns true if the table is set to only show features which intersect the current atlas feature. More...
 
void finalizeRestoreFromXml () override
 Called after all pending items have been restored from XML. More...
 
bool getTableContents (QgsLayoutTableContents &contents) override
 Queries the attribute table's vector layer for attributes to show in the table. More...
 
QIcon icon () const override
 Returns the item's icon. More...
 
QgsLayoutItemMapmap () const
 Returns the layout map whose extents are controlling the features shown in the table. More...
 
int maximumNumberOfFeatures () const
 Returns the maximum number of features to be shown by the table. More...
 
void refreshDataDefinedProperty (QgsLayoutObject::DataDefinedProperty property=QgsLayoutObject::AllProperties) override
 Refreshes a data defined property for the multi frame by reevaluating the property's value and redrawing the item with this new value. More...
 
QString relationId () const
 Returns the relation id which the table displays child features from. More...
 
void resetColumns ()
 Resets the attribute table's columns to match the vector layer's fields. More...
 
void setDisplayedFields (const QStringList &fields, bool refresh=true)
 Sets the attributes to display in the table. More...
 
void setDisplayOnlyVisibleFeatures (bool visibleOnly)
 Sets the attribute table to only show features which are visible in a map item. More...
 
void setFeatureFilter (const QString &expression)
 Sets the expression used for filtering features in the table. More...
 
void setFilterFeatures (bool filter)
 Sets whether the feature filter is active for the attribute table. More...
 
void setFilterToAtlasFeature (bool filterToAtlas)
 Sets attribute table to only show features which intersect the current atlas feature. More...
 
void setMap (QgsLayoutItemMap *map)
 Sets a layout map to use to limit the extent of features shown in the attribute table. More...
 
void setMaximumNumberOfFeatures (int features)
 Sets the maximum number of features shown by the table. More...
 
void setRelationId (const QString &id)
 Sets the relation id from which to display child features. More...
 
void setSource (ContentSource source)
 Sets the source for attributes to show in table body. More...
 
void setUniqueRowsOnly (bool uniqueOnly)
 Sets attribute table to only show unique rows. More...
 
void setVectorLayer (QgsVectorLayer *layer)
 Sets the vector layer from which to display feature attributes. More...
 
void setWrapString (const QString &wrapString)
 Sets a string to wrap the contents of the table cells by. More...
 
QVector< QPair< int, bool > > sortAttributes () const
 Returns the attributes used to sort the table's features. More...
 
ContentSource source () const
 Returns the source for attributes shown in the table body. More...
 
QgsVectorLayersourceLayer () const
 Returns the source layer for the table, considering the table source mode. More...
 
int type () const override
 Returns unique multiframe type id. More...
 
bool uniqueRowsOnly () const
 Returns true if the table is set to show only unique rows. More...
 
QgsVectorLayervectorLayer () const
 Returns the vector layer the attribute table is currently using. More...
 
QString wrapString () const
 Returns the string used to wrap the contents of the table cells by. More...
 
- Public Member Functions inherited from QgsLayoutTable
 QgsLayoutTable (QgsLayout *layout)
 Constructor for QgsLayoutTable, belonging to the specified layout. More...
 
 ~QgsLayoutTable () override
 
QColor backgroundColor () const
 Returns the color used for the background of the table. More...
 
double cellMargin () const
 Returns the margin distance between cell borders and their contents in mm. More...
 
const QgsLayoutTableStylecellStyle (CellStyleGroup group) const
 Returns the cell style for a cell group. More...
 
QgsLayoutTableColumnscolumns ()
 Returns a reference to the list of QgsLayoutTableColumns shown in the table. More...
 
QFont contentFont () const
 Returns the font used to draw text in table body cells. More...
 
QColor contentFontColor () const
 Returns the color used to draw text in table body cells. More...
 
QgsLayoutTableContentscontents ()
 Returns the current contents of the table. More...
 
EmptyTableMode emptyTableBehavior () const
 Returns the behavior mode for empty tables. More...
 
QString emptyTableMessage () const
 Returns the message for empty tables with no content rows. More...
 
QSizeF fixedFrameSize (int frameIndex=-1) const override
 Returns the fixed size for a frame, if desired. More...
 
QColor gridColor () const
 Returns the color used for grid lines in the table. More...
 
double gridStrokeWidth () const
 Returns the width of grid lines in the table in mm. More...
 
QFont headerFont () const
 Returns the font used to draw header text in the table. More...
 
QColor headerFontColor () const
 Returns the color used to draw header text in the table. More...
 
HeaderHAlignment headerHAlignment () const
 Returns the horizontal alignment for table headers. More...
 
virtual QMap< int, QString > headerLabels () const
 Returns the text used in the column headers for the table. More...
 
HeaderMode headerMode () const
 Returns the display mode for headers in the table. More...
 
bool horizontalGrid () const
 Returns whether the grid's horizontal lines are drawn in the table. More...
 
QSizeF minFrameSize (int frameIndex=-1) const override
 Returns the minimum size for a frames, if desired. More...
 
bool readPropertiesFromElement (const QDomElement &itemElem, const QDomDocument &doc, const QgsReadWriteContext &context) override
 Sets multiframe state from a DOM element. More...
 
void render (QgsLayoutItemRenderContext &context, const QRectF &renderExtent, int frameIndex) override
 Renders a portion of the multiframe's content into a render context. More...
 
void setBackgroundColor (const QColor &color)
 Sets the color used for background of table. More...
 
void setCellMargin (double margin)
 Sets the margin distance in mm between cell borders and their contents. More...
 
void setCellStyle (CellStyleGroup group, const QgsLayoutTableStyle &style)
 Sets the cell style for a cell group. More...
 
void setColumns (const QgsLayoutTableColumns &columns)
 Replaces the columns in the table with a specified list of QgsLayoutTableColumns. More...
 
void setContentFont (const QFont &font)
 Sets the font used to draw text in table body cells. More...
 
void setContentFontColor (const QColor &color)
 Sets the color used to draw text in table body cells. More...
 
void setEmptyTableBehavior (EmptyTableMode mode)
 Sets the behavior mode for empty tables with no content rows. More...
 
void setEmptyTableMessage (const QString &message)
 Sets the message for empty tables with no content rows. More...
 
void setGridColor (const QColor &color)
 Sets the color used for grid lines in the table. More...
 
void setGridStrokeWidth (double width)
 Sets the width in mm for grid lines in the table. More...
 
void setHeaderFont (const QFont &font)
 Sets the font used to draw header text in the table. More...
 
void setHeaderFontColor (const QColor &color)
 Sets the color used to draw header text in the table. More...
 
void setHeaderHAlignment (HeaderHAlignment alignment)
 Sets the horizontal alignment for table headers. More...
 
void setHeaderMode (HeaderMode mode)
 Sets the display mode for headers in the table. More...
 
void setHorizontalGrid (bool horizontalGrid)
 Sets whether the grid's horizontal lines should be drawn in the table. More...
 
void setShowEmptyRows (bool showEmpty)
 Sets whether empty rows should be drawn. More...
 
void setShowGrid (bool showGrid)
 Sets whether grid lines should be drawn in the table. More...
 
void setVerticalGrid (bool verticalGrid)
 Sets whether the grid's vertical lines should be drawn in the table. More...
 
void setWrapBehavior (WrapBehavior behavior)
 Sets the wrap behavior for the table, which controls how text within cells is automatically wrapped. More...
 
bool showEmptyRows () const
 Returns whether empty rows are drawn in the table. More...
 
bool showGrid () const
 Returns whether grid lines are drawn in the table. More...
 
QSizeF totalSize () const override
 Returns the total size of the multiframe's content, in layout units. More...
 
bool verticalGrid () const
 Returns whether the grid's vertical lines are drawn in the table. More...
 
WrapBehavior wrapBehavior () const
 Returns the wrap behavior for the table, which controls how text within cells is automatically wrapped. More...
 
bool writePropertiesToElement (QDomElement &elem, QDomDocument &doc, const QgsReadWriteContext &context) const override
 Stores multiframe state within an XML DOM element. More...
 
- Public Member Functions inherited from QgsLayoutMultiFrame
 QgsLayoutMultiFrame (QgsLayout *layout)
 Construct a new multiframe item, attached to the specified layout. More...
 
 ~QgsLayoutMultiFrame () override
 
virtual void addFrame (QgsLayoutFrame *frame, bool recalcFrameSizes=true)
 Adds a frame to the multiframe. More...
 
void beginCommand (const QString &commandText, UndoCommand command=UndoNone)
 Starts new undo command for this item. More...
 
void cancelCommand ()
 Cancels the current item command and discards it. More...
 
QgsAbstractLayoutUndoCommandcreateCommand (const QString &text, int id, QUndoCommand *parent=nullptr) override
 Creates a new layout undo command with the specified text and parent. More...
 
QgsLayoutFramecreateNewFrame (QgsLayoutFrame *currentFrame, QPointF pos, QSizeF size)
 Creates a new frame and adds it to the multi frame and layout. More...
 
void deleteFrames ()
 Removes and deletes all child frames. More...
 
void endCommand ()
 Completes the current item command and push it onto the layout's undo stack. More...
 
virtual double findNearbyPageBreak (double yPos)
 Finds the optimal position to break a frame at. More...
 
QgsLayoutFrameframe (int index) const
 Returns the child frame at a specified index from the multiframe. More...
 
int frameCount () const
 Returns the number of frames associated with this multiframe. More...
 
int frameIndex (QgsLayoutFrame *frame) const
 Returns the index of a frame within the multiframe. More...
 
QList< QgsLayoutFrame * > frames () const
 Returns a list of all child frames for this multiframe. More...
 
bool readXml (const QDomElement &itemElement, const QDomDocument &document, const QgsReadWriteContext &context, bool includeFrames=false)
 Sets the item state from a DOM element. More...
 
void removeFrame (int index, bool removeEmptyPages=false)
 Removes a frame by index from the multiframe. More...
 
ResizeMode resizeMode () const
 Returns the resize mode for the multiframe. More...
 
void setResizeMode (ResizeMode mode)
 Sets the resize mode for the multiframe, and recalculates frame sizes to match. More...
 
QString uuid () const
 Returns the multiframe identification string. More...
 
bool writeXml (QDomElement &parentElement, QDomDocument &document, const QgsReadWriteContext &context, bool includeFrames=false) const
 Stores the multiframe state in a DOM element. More...
 
- Public Member Functions inherited from QgsLayoutObject
 QgsLayoutObject (QgsLayout *layout)
 Constructor for QgsLayoutObject, with the specified parent layout. More...
 
QgsExpressionContext createExpressionContext () const override
 Creates an expression context relating to the objects' current state. More...
 
QStringList customProperties () const
 Returns list of keys stored in custom properties for the object. More...
 
QVariant customProperty (const QString &key, const QVariant &defaultValue=QVariant()) const
 Read a custom property from the object. More...
 
QgsPropertyCollectiondataDefinedProperties ()
 Returns a reference to the object's property collection, used for data defined overrides. More...
 
const QgsPropertyCollectiondataDefinedProperties () const
 Returns a reference to the object's property collection, used for data defined overrides. More...
 
const QgsLayoutlayout () const
 Returns the layout the object is attached to. More...
 
QgsLayoutlayout ()
 Returns the layout the object is attached to. More...
 
void removeCustomProperty (const QString &key)
 Remove a custom property from the object. More...
 
void setCustomProperty (const QString &key, const QVariant &value)
 Set a custom property for the object. More...
 
void setDataDefinedProperties (const QgsPropertyCollection &collection)
 Sets the objects's property collection, used for data defined overrides. More...
 
- Public Member Functions inherited from QgsExpressionContextGenerator
virtual ~QgsExpressionContextGenerator ()=default
 
- Public Member Functions inherited from QgsLayoutUndoObjectInterface
virtual ~QgsLayoutUndoObjectInterface ()=default
 Destructor for QgsLayoutUndoObjectInterface. More...
 

Static Public Member Functions

static QgsLayoutItemAttributeTablecreate (QgsLayout *layout)
 Returns a new QgsLayoutItemAttributeTable for the specified parent layout. More...
 
- Static Public Member Functions inherited from QgsLayoutObject
static const QgsPropertiesDefinitionpropertyDefinitions ()
 Returns the layout object property definitions. More...
 

Protected Member Functions

bool readPropertiesFromElement (const QDomElement &itemElem, const QDomDocument &doc, const QgsReadWriteContext &context) override
 Sets multiframe state from a DOM element. More...
 
bool writePropertiesToElement (QDomElement &elem, QDomDocument &doc, const QgsReadWriteContext &context) const override
 Stores multiframe state within an XML DOM element. More...
 
- Protected Member Functions inherited from QgsLayoutTable
virtual bool calculateMaxColumnWidths ()
 Calculates the maximum width of text shown in columns. More...
 
virtual bool calculateMaxRowHeights ()
 Calculates the maximum height of text shown in rows. More...
 
bool contentsContainsRow (const QgsLayoutTableContents &contents, const QgsLayoutTableRow &row) const
 Checks whether a table contents contains a given row. More...
 
void drawHorizontalGridLines (QPainter *painter, int firstRow, int lastRow, bool drawHeaderLines) const
 Draws the horizontal grid lines for the table. More...
 
void drawVerticalGridLines (QPainter *painter, const QMap< int, double > &maxWidthMap, int firstRow, int lastRow, bool hasHeader, bool mergeCells=false) const
 Draws the vertical grid lines for the table. More...
 
void recalculateTableSize ()
 Recalculates and updates the size of the table and all table frames. More...
 
QPair< int, int > rowRange (int frameIndex) const
 Calculates a range of rows which should be visible in a given frame. More...
 
int rowsVisible (double frameHeight, int firstRow, bool includeHeader, bool includeEmptyRows) const
 Calculates how many content rows would be visible within a frame of the specified height. More...
 
int rowsVisible (int frameIndex, int firstRow, bool includeEmptyRows) const
 Calculates how many content rows are visible within a given frame. More...
 
double totalHeight ()
 Returns total height of table contents. More...
 
double totalWidth ()
 Returns total width of table contents. More...
 
- Protected Member Functions inherited from QgsLayoutObject
bool readObjectPropertiesFromElement (const QDomElement &parentElement, const QDomDocument &document, const QgsReadWriteContext &context)
 Sets object properties from a DOM element. More...
 
bool writeObjectPropertiesToElement (QDomElement &parentElement, QDomDocument &document, const QgsReadWriteContext &context) const
 Stores object properties within an XML DOM element. More...
 

Additional Inherited Members

- Public Slots inherited from QgsLayoutTable
void recalculateFrameSizes () override
 
void refresh () override
 
virtual void refreshAttributes ()
 Refreshes the contents shown in the table by querying for new data. More...
 
- Public Slots inherited from QgsLayoutMultiFrame
void recalculateFrameRects ()
 Forces a recalculation of all the associated frame's scene rectangles. More...
 
virtual void recalculateFrameSizes ()
 Recalculates the portion of the multiframe item which is shown in each of its component frames. More...
 
void refresh () override
 Refreshes the multiframe, causing a recalculation of any property overrides. More...
 
void update ()
 Forces a redraw of all child frames. More...
 
- Public Slots inherited from QgsLayoutObject
virtual void refresh ()
 Refreshes the object, causing a recalculation of any property overrides. More...
 
- Signals inherited from QgsLayoutMultiFrame
void contentsChanged ()
 Emitted when the contents of the multi frame have changed and the frames must be redrawn. More...
 
- Signals inherited from QgsLayoutObject
void changed ()
 Emitted when the object's properties change. More...
 
- Protected Attributes inherited from QgsLayoutTable
QColor mBackgroundColor = Qt::white
 Color for table background. More...
 
double mCellMargin = 1.0
 Margin between cell borders and cell text. More...
 
QMap< CellStyleGroup, QgsLayoutTableStyle * > mCellStyles
 
QgsLayoutTableColumns mColumns
 Columns to show in table. More...
 
QFont mContentFont
 Table contents font. More...
 
QColor mContentFontColor = Qt::black
 Table contents font color. More...
 
QString mEmptyTableMessage
 String to show in empty tables. More...
 
EmptyTableMode mEmptyTableMode = HeadersOnly
 Behavior for empty tables. More...
 
QColor mGridColor = Qt::black
 Color for grid lines. More...
 
double mGridStrokeWidth = 0.5
 Width of grid lines. More...
 
QFont mHeaderFont
 Header font. More...
 
QColor mHeaderFontColor = Qt::black
 Header font color. More...
 
HeaderHAlignment mHeaderHAlignment = FollowColumn
 Alignment for table headers. More...
 
HeaderMode mHeaderMode = FirstFrame
 Header display mode. More...
 
bool mHorizontalGrid = true
 True if grid should be shown. More...
 
QMap< int, double > mMaxColumnWidthMap
 Map of maximum width for each column. More...
 
QMap< int, double > mMaxRowHeightMap
 Map of maximum height for each row. More...
 
bool mShowEmptyRows = false
 True if empty rows should be shown in the table. More...
 
bool mShowGrid = true
 True if grid should be shown. More...
 
QgsLayoutTableContents mTableContents
 Contents to show in table. More...
 
QSizeF mTableSize
 
bool mVerticalGrid = true
 True if grid should be shown. More...
 
WrapBehavior mWrapBehavior = TruncateText
 
- Protected Attributes inherited from QgsLayoutMultiFrame
QList< QgsLayoutFrame * > mFrameItems
 
ResizeMode mResizeMode = UseExistingFrames
 
- Protected Attributes inherited from QgsLayoutObject
QgsObjectCustomProperties mCustomProperties
 Custom properties for object. More...
 
QgsPropertyCollection mDataDefinedProperties
 
QPointer< QgsLayoutmLayout
 

Detailed Description

A layout table subclass that displays attributes from a vector layer.

Since
QGIS 3.0

Definition at line 35 of file qgslayoutitemattributetable.h.

Member Enumeration Documentation

Specifies the content source for the attribute table.

Enumerator
LayerAttributes 

Table shows attributes from features in a vector layer.

AtlasFeature 

Table shows attributes from the current atlas feature.

RelationChildren 

Table shows attributes from related child features.

Definition at line 44 of file qgslayoutitemattributetable.h.

Constructor & Destructor Documentation

QgsLayoutItemAttributeTable::QgsLayoutItemAttributeTable ( QgsLayout layout)

Constructor for QgsLayoutItemAttributeTable, attached to the specified layout.

Ownership is transferred to the layout.

Definition at line 76 of file qgslayoutitemattributetable.cpp.

Member Function Documentation

QgsLayoutItemAttributeTable * QgsLayoutItemAttributeTable::create ( QgsLayout layout)
static

Returns a new QgsLayoutItemAttributeTable for the specified parent layout.

Definition at line 99 of file qgslayoutitemattributetable.cpp.

QgsExpressionContext QgsLayoutItemAttributeTable::createExpressionContext ( ) const
overridevirtual

This method needs to be reimplemented in all classes which implement this interface and return an expression context.

Since
QGIS 3.0

Implements QgsExpressionContextGenerator.

Definition at line 583 of file qgslayoutitemattributetable.cpp.

QString QgsLayoutItemAttributeTable::displayName ( ) const
overridevirtual

Returns the multiframe display name.

Reimplemented from QgsLayoutMultiFrame.

Definition at line 104 of file qgslayoutitemattributetable.cpp.

bool QgsLayoutItemAttributeTable::displayOnlyVisibleFeatures ( ) const
inline

Returns true if the table is set to show only features visible on a corresponding map item.

See also
map()
setDisplayOnlyVisibleFeatures()

Definition at line 195 of file qgslayoutitemattributetable.h.

QString QgsLayoutItemAttributeTable::featureFilter ( ) const
inline

Returns the current expression used to filter features for the table.

The filter is only active if filterFeatures() is true.

See also
setFeatureFilter()
filterFeatures()

Definition at line 237 of file qgslayoutitemattributetable.h.

bool QgsLayoutItemAttributeTable::filterFeatures ( ) const
inline

Returns true if a feature filter is active on the attribute table.

See also
setFilterFeatures()
featureFilter()

Definition at line 219 of file qgslayoutitemattributetable.h.

bool QgsLayoutItemAttributeTable::filterToAtlasFeature ( ) const
inline

Returns true if the table is set to only show features which intersect the current atlas feature.

See also
setFilterToAtlasFeature()

Definition at line 211 of file qgslayoutitemattributetable.h.

void QgsLayoutItemAttributeTable::finalizeRestoreFromXml ( )
overridevirtual

Called after all pending items have been restored from XML.

Multiframes can use this method to run steps which must take place after all items have been restored to the layout, such as connecting to signals emitted by other items, which may not have existed in the layout at the time readXml() was called. E.g. a scalebar can use this to connect to its linked map item after restoration from XML.

See also
readXml()

Reimplemented from QgsLayoutMultiFrame.

Definition at line 595 of file qgslayoutitemattributetable.cpp.

bool QgsLayoutItemAttributeTable::getTableContents ( QgsLayoutTableContents contents)
overridevirtual

Queries the attribute table's vector layer for attributes to show in the table.

Parameters
contentstable content
Returns
true if attributes were successfully fetched
Note
not available in Python bindings

Implements QgsLayoutTable.

Definition at line 405 of file qgslayoutitemattributetable.cpp.

QIcon QgsLayoutItemAttributeTable::icon ( ) const
overridevirtual

Returns the item's icon.

Reimplemented from QgsLayoutMultiFrame.

Definition at line 94 of file qgslayoutitemattributetable.cpp.

QgsLayoutItemMap* QgsLayoutItemAttributeTable::map ( ) const
inline

Returns the layout map whose extents are controlling the features shown in the table.

The extents of the map are only used if displayOnlyVisibleFeatures() is true.

See also
setMap()
displayOnlyVisibleFeatures()

Definition at line 145 of file qgslayoutitemattributetable.h.

int QgsLayoutItemAttributeTable::maximumNumberOfFeatures ( ) const
inline

Returns the maximum number of features to be shown by the table.

See also
setMaximumNumberOfFeatures()

Definition at line 159 of file qgslayoutitemattributetable.h.

bool QgsLayoutItemAttributeTable::readPropertiesFromElement ( const QDomElement &  element,
const QDomDocument &  document,
const QgsReadWriteContext context 
)
overrideprotectedvirtual

Sets multiframe state from a DOM element.

Parameters
elementis the DOM element for the multiframe
documentDOM document
contextread write context
See also
writePropertiesToElement()

Note that item subclasses should not rely on all other items being present in the layout at the time this method is called. Instead, any connections and links to other items must be made in the finalizeRestoreFromXml() method. E.g. when restoring a scalebar, the connection to the linked map's signals should be implemented in finalizeRestoreFromXml(), not readPropertiesFromElement().

See also
readXml()

Reimplemented from QgsLayoutMultiFrame.

Definition at line 754 of file qgslayoutitemattributetable.cpp.

void QgsLayoutItemAttributeTable::refreshDataDefinedProperty ( QgsLayoutObject::DataDefinedProperty  property = QgsLayoutObject::AllProperties)
overridevirtual

Refreshes a data defined property for the multi frame by reevaluating the property's value and redrawing the item with this new value.

If property is set to QgsLayoutObject::AllProperties then all data defined properties for the item will be refreshed.

Reimplemented from QgsLayoutMultiFrame.

Definition at line 610 of file qgslayoutitemattributetable.cpp.

QString QgsLayoutItemAttributeTable::relationId ( ) const
inline

Returns the relation id which the table displays child features from.

See also
setRelationId()
source()
Note
Only used if table source() is set to RelationChildren.

Definition at line 120 of file qgslayoutitemattributetable.h.

void QgsLayoutItemAttributeTable::resetColumns ( )

Resets the attribute table's columns to match the vector layer's fields.

See also
setVectorLayer()

Definition at line 201 of file qgslayoutitemattributetable.cpp.

void QgsLayoutItemAttributeTable::setDisplayedFields ( const QStringList &  fields,
bool  refresh = true 
)

Sets the attributes to display in the table.

Parameters
fieldslist of fields names from the vector layer to show. Set to an empty list to show all feature attributes.
refreshset to true to force the table to refetch features from its vector layer and immediately update the display of the table. This may result in the table changing size to accommodate the new displayed feature attributes.

Definition at line 333 of file qgslayoutitemattributetable.cpp.

void QgsLayoutItemAttributeTable::setDisplayOnlyVisibleFeatures ( bool  visibleOnly)

Sets the attribute table to only show features which are visible in a map item.

Changing this setting forces the table to refetch features from its vector layer, and may result in the table changing size to accommodate the new displayed feature attributes.

See also
displayOnlyVisibleFeatures()
setMap()

Definition at line 285 of file qgslayoutitemattributetable.cpp.

void QgsLayoutItemAttributeTable::setFeatureFilter ( const QString &  expression)

Sets the expression used for filtering features in the table.

The filter is only active if filterFeatures() is set to true. Changing this setting forces the table to refetch features from its vector layer, and may result in the table changing size to accommodate the new displayed feature attributes.

See also
featureFilter()
setFilterFeatures()

Definition at line 321 of file qgslayoutitemattributetable.cpp.

void QgsLayoutItemAttributeTable::setFilterFeatures ( bool  filter)

Sets whether the feature filter is active for the attribute table.

Changing this setting forces the table to refetch features from its vector layer, and may result in the table changing size to accommodate the new displayed feature attributes.

See also
filterFeatures()
setFeatureFilter()

Definition at line 309 of file qgslayoutitemattributetable.cpp.

void QgsLayoutItemAttributeTable::setFilterToAtlasFeature ( bool  filterToAtlas)

Sets attribute table to only show features which intersect the current atlas feature.

See also
filterToAtlasFeature()

Definition at line 297 of file qgslayoutitemattributetable.cpp.

void QgsLayoutItemAttributeTable::setMap ( QgsLayoutItemMap map)

Sets a layout map to use to limit the extent of features shown in the attribute table.

This setting only has an effect if setDisplayOnlyVisibleFeatures is set to true. Changing the map forces the table to refetch features from its vector layer, and may result in the table changing size to accommodate the new displayed feature attributes.

See also
map()
setDisplayOnlyVisibleFeatures

Definition at line 240 of file qgslayoutitemattributetable.cpp.

void QgsLayoutItemAttributeTable::setMaximumNumberOfFeatures ( int  features)

Sets the maximum number of features shown by the table.

Changing this setting may result in the attribute table changing its size to accommodate the new number of rows, and requires the table to refetch features from its vector layer.

See also
maximumNumberOfFeatures()

Definition at line 261 of file qgslayoutitemattributetable.cpp.

void QgsLayoutItemAttributeTable::setRelationId ( const QString &  id)

Sets the relation id from which to display child features.

See also
relationId()
setSource()
Note
Only used if table source() is set to RelationChildren.

Definition at line 139 of file qgslayoutitemattributetable.cpp.

void QgsLayoutItemAttributeTable::setSource ( const QgsLayoutItemAttributeTable::ContentSource  source)

Sets the source for attributes to show in table body.

See also
source()

Definition at line 809 of file qgslayoutitemattributetable.cpp.

void QgsLayoutItemAttributeTable::setUniqueRowsOnly ( bool  uniqueOnly)

Sets attribute table to only show unique rows.

Set uniqueOnly to true to show only unique rows. Duplicate rows will be stripped from the table.

See also
uniqueRowsOnly()

Definition at line 273 of file qgslayoutitemattributetable.cpp.

void QgsLayoutItemAttributeTable::setVectorLayer ( QgsVectorLayer layer)

Sets the vector layer from which to display feature attributes.

This is only considered if the table source() is LayerAttributes.

See also
vectorLayer()

Definition at line 109 of file qgslayoutitemattributetable.cpp.

void QgsLayoutItemAttributeTable::setWrapString ( const QString &  wrapString)

Sets a string to wrap the contents of the table cells by.

Occurrences of this string will be replaced by a line break.

Parameters
wrapStringstring to replace with line break
See also
wrapString()

Definition at line 712 of file qgslayoutitemattributetable.cpp.

QVector< QPair< int, bool > > QgsLayoutItemAttributeTable::sortAttributes ( ) const

Returns the attributes used to sort the table's features.

Returns
a QList of integer/bool pairs, where the integer refers to the attribute index and the bool to the sort order for the attribute. If true the attribute is sorted ascending, if false, the attribute is sorted in descending order.
Note
not available in Python bindings

Definition at line 684 of file qgslayoutitemattributetable.cpp.

ContentSource QgsLayoutItemAttributeTable::source ( ) const
inline

Returns the source for attributes shown in the table body.

See also
setSource()

Definition at line 77 of file qgslayoutitemattributetable.h.

QgsVectorLayer * QgsLayoutItemAttributeTable::sourceLayer ( ) const

Returns the source layer for the table, considering the table source mode.

For example, if the table is set to atlas feature mode, then the source layer will be the atlas coverage layer. If the table is set to layer attributes mode, then the source layer will be the user specified vector layer.

Definition at line 643 of file qgslayoutitemattributetable.cpp.

int QgsLayoutItemAttributeTable::type ( ) const
overridevirtual

Returns unique multiframe type id.

Implements QgsLayoutMultiFrame.

Definition at line 89 of file qgslayoutitemattributetable.cpp.

bool QgsLayoutItemAttributeTable::uniqueRowsOnly ( ) const
inline

Returns true if the table is set to show only unique rows.

See also
setUniqueRowsOnly()

Definition at line 176 of file qgslayoutitemattributetable.h.

QgsVectorLayer* QgsLayoutItemAttributeTable::vectorLayer ( ) const
inline

Returns the vector layer the attribute table is currently using.

This is only considered if the table source() is LayerAttributes.

See also
setVectorLayer()
sourceLayer()

Definition at line 104 of file qgslayoutitemattributetable.h.

QString QgsLayoutItemAttributeTable::wrapString ( ) const
inline

Returns the string used to wrap the contents of the table cells by.

Occurrences of this string will be replaced by a line break.

See also
setWrapString()

Definition at line 282 of file qgslayoutitemattributetable.h.

bool QgsLayoutItemAttributeTable::writePropertiesToElement ( QDomElement &  element,
QDomDocument &  document,
const QgsReadWriteContext context 
) const
overrideprotectedvirtual

Stores multiframe state within an XML DOM element.

Parameters
elementis the DOM element to store the multiframe's properties in
documentDOM document
contextread write context
See also
writeXml()
readPropertiesFromElement()

Reimplemented from QgsLayoutMultiFrame.

Definition at line 724 of file qgslayoutitemattributetable.cpp.


The documentation for this class was generated from the following files: