QGIS API Documentation 3.27.0-Master (75dc696944)
qgslayoutitemmanualtable.h
Go to the documentation of this file.
1/***************************************************************************
2 qgslayoutitemmanualtable.h
3 ---------------------------
4 begin : January 2020
5 copyright : (C) 2020 by Nyall Dawson
6 email : nyall dot dawson at gmail dot com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGSLAYOUTITEMMANUALTABLE_H
19#define QGSLAYOUTITEMMANUALTABLE_H
20
21#include "qgis_core.h"
22#include "qgis_sip.h"
23#include "qgslayouttable.h"
24#include "qgstablecell.h"
25
32{
33 Q_OBJECT
34
35 public:
36
43
45
46 int type() const override;
47 QIcon icon() const override;
48 QString displayName() const override;
49
53 static QgsLayoutItemManualTable *create( QgsLayout *layout ) SIP_FACTORY;
54 bool getTableContents( QgsLayoutTableContents &contents ) override SIP_SKIP;
55 QgsConditionalStyle conditionalCellStyle( int row, int column ) const override;
56
62 void setTableContents( const QgsTableContents &contents );
63
69 QgsTableContents tableContents() const;
70
79 QList< double > rowHeights() const { return mRowHeights; }
80
89 void setRowHeights( const QList< double > &heights );
90
99 QList< double > columnWidths() const { return mColumnWidths; }
100
109 void setColumnWidths( const QList< double > &widths );
110
116 bool includeTableHeader() const;
117
123 void setIncludeTableHeader( bool included );
124
129 QgsLayoutTableColumns &headers();
130
135 void setHeaders( const QgsLayoutTableColumns &headers );
136
137 protected:
138
139 bool writePropertiesToElement( QDomElement &elem, QDomDocument &doc, const QgsReadWriteContext &context ) const override;
140 bool readPropertiesFromElement( const QDomElement &itemElem, const QDomDocument &doc, const QgsReadWriteContext &context ) override;
141 bool calculateMaxRowHeights() override;
142 QgsTextFormat textFormatForHeader( int column ) const override;
143 QgsTextFormat textFormatForCell( int row, int column ) const override;
144 Qt::Alignment horizontalAlignmentForCell( int row, int column ) const override;
145 Qt::Alignment verticalAlignmentForCell( int row, int column ) const override;
146
147 private:
148
149 QgsTableContents mContents;
150 QgsLayoutTableColumns mHeaders;
151
152 QList< double > mRowHeights;
153 QList< double > mColumnWidths;
154 bool mIncludeHeader = false;
155
156 void refreshColumns();
157
158};
159
160#endif // QGSLAYOUTITEMMANUALTABLE_H
Conditional styling for a rule.
A layout table subclass that displays manually entered (and formatted) content.
QList< double > rowHeights() const
Returns the list of row heights (in millimeters) to use when rendering the table.
QList< double > columnWidths() const
Returns the list of column widths (in millimeters) to use when rendering the table.
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.
A class to display a table in the print layout, and allow the table to span over multiple frames.
virtual Qt::Alignment horizontalAlignmentForCell(int row, int column) const
Returns the horizontal alignment to use for the cell at the specified row and column.
virtual QgsConditionalStyle conditionalCellStyle(int row, int column) const
Returns the conditional style to use for the cell at row, column.
virtual QgsTextFormat textFormatForHeader(int column) const
Returns the text format to use for the header cell at the specified column.
virtual bool getTableContents(QgsLayoutTableContents &contents)=0
Fetches the contents used for the cells in the table.
virtual Qt::Alignment verticalAlignmentForCell(int row, int column) const
Returns the vertical alignment to use for the cell at the specified row and column.
bool writePropertiesToElement(QDomElement &elem, QDomDocument &doc, const QgsReadWriteContext &context) const override
Stores multiframe state within an XML DOM element.
virtual QgsTextFormat textFormatForCell(int row, int column) const
Returns the text format to use for the cell at the specified row and column.
bool readPropertiesFromElement(const QDomElement &itemElem, const QDomDocument &doc, const QgsReadWriteContext &context) override
Sets multiframe state from a DOM element.
virtual bool calculateMaxRowHeights()
Calculates the maximum height of text shown in rows.
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
Definition: qgslayout.h:51
The class is used as a container of context for various read/write operations on other objects.
Container for all settings relating to text rendering.
Definition: qgstextformat.h:41
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.
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:53
#define SIP_SKIP
Definition: qgis_sip.h:126
#define SIP_FACTORY
Definition: qgis_sip.h:76
QVector< QgsTableRow > QgsTableContents
A set of table rows.
Definition: qgstablecell.h:220