QGIS API Documentation
3.26.3-Buenos Aires (65e4edfdad)
|
Go to the documentation of this file.
18 #ifndef QGSLAYOUTTABLE_H
19 #define QGSLAYOUTTABLE_H
21 #include "qgis_core.h"
87 QColor cellBackgroundColor = QColor( 255, 255, 255, 255 );
95 bool writeXml( QDomElement &styleElem, QDomDocument &doc )
const;
102 bool readXml(
const QDomElement &styleElem );
185 void setCellMargin(
double margin );
197 void setEmptyTableBehavior( EmptyTableMode mode );
213 void setEmptyTableMessage(
const QString &message );
229 void setShowEmptyRows(
bool showEmpty );
243 Q_DECL_DEPRECATED
void setHeaderFont(
const QFont &font )
SIP_DEPRECATED;
260 Q_DECL_DEPRECATED
void setHeaderFontColor( const QColor &color )
SIP_DEPRECATED;
291 void setHeaderHAlignment( HeaderHAlignment alignment );
304 void setHeaderMode( HeaderMode mode );
319 Q_DECL_DEPRECATED
void setContentFont(
const QFont &font )
SIP_DEPRECATED;
336 Q_DECL_DEPRECATED
void setContentFontColor( const QColor &color )
SIP_DEPRECATED;
370 void setShowGrid(
bool showGrid );
378 bool showGrid()
const {
return mShowGrid; }
386 void setGridStrokeWidth(
double width );
402 void setGridColor(
const QColor &color );
420 void setHorizontalGrid(
bool horizontalGrid );
439 void setVerticalGrid(
bool verticalGrid );
455 void setBackgroundColor(
const QColor &color );
469 void setWrapBehavior( WrapBehavior behavior );
533 virtual QMap<int, QString> headerLabels() const
SIP_SKIP;
562 QSizeF
minFrameSize(
int frameIndex = -1 )
const override;
578 virtual void refreshAttributes();
584 double mCellMargin = 1.0;
593 bool mShowEmptyRows =
false;
606 bool mShowGrid =
true;
609 double mGridStrokeWidth = 0.5;
612 QColor mGridColor = Qt::black;
615 bool mHorizontalGrid =
true;
618 bool mVerticalGrid =
true;
621 QColor mBackgroundColor = Qt::white;
647 virtual bool calculateMaxColumnWidths();
652 virtual bool calculateMaxRowHeights();
667 double totalHeight();
681 int rowsVisible(
QgsRenderContext &context,
double frameHeight,
int firstRow,
bool includeHeader,
bool includeEmptyRows )
const;
693 int rowsVisible(
QgsRenderContext &context,
int frameIndex,
int firstRow,
bool includeEmptyRows )
const;
701 QPair<int, int> rowRange(
QgsRenderContext &context,
int frameIndex )
const;
729 void drawVerticalGridLines(
QgsLayoutItemRenderContext &context,
const QMap<int, double> &maxWidthMap,
int firstRow,
int lastRow,
bool hasHeader,
bool mergeCells =
false ) const
SIP_SKIP;
734 void recalculateTableSize();
750 virtual
QgsTextFormat textFormatForCell(
int row,
int column ) const;
758 virtual
QgsTextFormat textFormatForHeader(
int column ) const;
766 virtual Qt::Alignment horizontalAlignmentForCell(
int row,
int column ) const;
774 virtual Qt::Alignment verticalAlignmentForCell(
int row,
int column ) const;
789 QColor backgroundColor(
int row,
int column ) const;
791 friend class TestQgsLayoutTable;
792 friend class TestQgsLayoutManualTable;
796 #endif // QGSLAYOUTTABLE_H
HeaderMode headerMode() const
Returns the display mode for headers in the table.
virtual QSizeF totalSize() const =0
Returns the total size of the multiframe's content, in layout units.
QColor backgroundColor() const
Returns the color used for the background of the table.
QVector< QgsLayoutTableColumn > QgsLayoutTableColumns
List of column definitions for a QgsLayoutTable.
HeaderHAlignment
Controls how headers are horizontally aligned in a table.
QgsLayoutTableContents mTableContents
Contents to show in table.
QgsTextFormat mHeaderTextFormat
QVector< QgsLayoutTableRow > QgsLayoutTableContents
List of QgsLayoutTableRows, representing rows and column cell contents for a QgsLayoutTable.
The class is used as a container of context for various read/write operations on other objects.
QMap< int, double > mMaxColumnWidthMap
Map of maximum width for each column.
EmptyTableMode emptyTableBehavior() const
Returns the behavior mode for empty tables.
CellStyleGroup
Row or column groups for cell styling.
bool showEmptyRows() const
Returns whether empty rows are drawn in the table.
QgsLayoutTableSortColumns & sortColumns()
Returns a reference to the list of QgsLayoutTableSortColumns shown in the table.
QgsLayoutTableColumns & columns()
Returns a reference to the list of QgsLayoutTableColumns shown in the table.
Contains settings and helpers relating to a render of a QgsLayoutItem.
QString mEmptyTableMessage
String to show in empty tables.
double gridStrokeWidth() const
Returns the width of grid lines in the table in mm.
Contains information about the context of a rendering operation.
@ OddColumns
Style odd numbered columns.
@ HideTable
Hides entire table if empty.
@ FirstRow
Style first row only.
@ FirstColumn
Style first column only.
Abstract base class for layout items with the ability to distribute the content to several frames (Qg...
Conditional styling for a rule.
QVector< QgsLayoutTableColumn > QgsLayoutTableSortColumns
List of column definitions for sorting a QgsLayoutTable.
QgsLayoutTableSortColumns mSortColumns
Columns to sort the table.
Container for all settings relating to text rendering.
@ HeaderRow
Style header row.
QColor gridColor() const
Returns the color used for grid lines in the table.
bool verticalGrid() const
Returns whether the grid's vertical lines are drawn in the table.
QgsCompositionConverter class converts a QGIS 2.x composition to a QGIS 3.x layout.
@ OddRows
Style odd numbered rows.
virtual bool writePropertiesToElement(QDomElement &element, QDomDocument &document, const QgsReadWriteContext &context) const
Stores multiframe state within an XML DOM element.
virtual QSizeF minFrameSize(int frameIndex=-1) const
Returns the minimum size for a frames, if desired.
HeaderMode
Controls where headers are shown in the table.
WrapBehavior
Controls how long strings in the table are handled.
A class to display a table in the print layout, and allow the table to span over multiple frames.
virtual void render(QgsLayoutItemRenderContext &context, const QRectF &renderExtent, int frameIndex)=0
Renders a portion of the multiframe's content into a render context.
@ EvenRows
Style even numbered rows.
EmptyTableMode
Controls how empty tables are displayed.
Single scope for storing variables and functions for use within a QgsExpressionContext....
@ HeaderCenter
Align headers to center.
void refresh() override
Refreshes the multiframe, causing a recalculation of any property overrides.
Styling option for a layout table cell.
@ LastColumn
Style last column only.
QMap< CellStyleGroup, QgsLayoutTableStyle * > mCellStyles
bool horizontalGrid() const
Returns whether the grid's horizontal lines are drawn in the table.
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
virtual QSizeF fixedFrameSize(int frameIndex=-1) const
Returns the fixed size for a frame, if desired.
double cellMargin() const
Returns the margin distance between cell borders and their contents in mm.
QMap< int, double > mMaxRowHeightMap
Map of maximum height for each row.
virtual void recalculateFrameSizes()
Recalculates the portion of the multiframe item which is shown in each of its component frames.
virtual bool readPropertiesFromElement(const QDomElement &element, const QDomDocument &document, const QgsReadWriteContext &context)
Sets multiframe state from a DOM element.
QVector< QVariant > QgsLayoutTableRow
List of QVariants, representing a the contents of a single row in a QgsLayoutTable.
QgsLayoutTableColumns mColumns
Columns to show in table.
Stores properties of a column for a QgsLayoutTable.
@ FollowColumn
Header uses the same alignment as the column.
QString emptyTableMessage() const
Returns the message for empty tables with no content rows.
@ HeaderLeft
Align headers left.
QgsTextFormat mContentTextFormat
@ AllFrames
Headers shown on all frames.
WrapBehavior wrapBehavior() const
Returns the wrap behavior for the table, which controls how text within cells is automatically wrappe...
@ EvenColumns
Style even numbered columns.