QGIS API Documentation
3.8.0-Zanzibar (11aff65)
|
A text table item that reads text from string lists. More...
#include <qgslayoutitemtexttable.h>
Public Member Functions | |
QgsLayoutItemTextTable (QgsLayout *layout) | |
Constructor for QgsLayoutItemTextTable, for the specified layout. More... | |
void | addRow (const QStringList &row) |
Adds a row to the table. More... | |
QString | displayName () const override |
Returns the multiframe display name. More... | |
bool | getTableContents (QgsLayoutTableContents &contents) override |
Fetches the contents used for the cells in the table. More... | |
void | setContents (const QVector< QStringList > &contents) |
Sets the contents of the text table. More... | |
int | type () const override |
Returns unique multiframe type id. 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 QgsLayoutTableStyle * | cellStyle (CellStyleGroup group) const |
Returns the cell style for a cell group. More... | |
QgsLayoutTableColumns & | columns () |
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... | |
QgsLayoutTableContents & | contents () |
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... | |
QgsAbstractLayoutUndoCommand * | createCommand (const QString &text, int id, QUndoCommand *parent=nullptr) override |
Creates a new layout undo command with the specified text and parent. More... | |
QgsLayoutFrame * | createNewFrame (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 void | finalizeRestoreFromXml () |
Called after all pending items have been restored from XML. More... | |
virtual double | findNearbyPageBreak (double yPos) |
Finds the optimal position to break a frame at. More... | |
QgsLayoutFrame * | frame (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... | |
virtual QIcon | icon () const |
Returns the item's icon. 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... | |
QgsPropertyCollection & | dataDefinedProperties () |
Returns a reference to the object's property collection, used for data defined overrides. More... | |
const QgsPropertyCollection & | dataDefinedProperties () const |
Returns a reference to the object's property collection, used for data defined overrides. More... | |
const QgsLayout * | layout () const |
Returns the layout the object is attached to. More... | |
QgsLayout * | layout () |
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 QgsLayoutItemTextTable * | create (QgsLayout *layout) |
Returns a new QgsLayoutItemTextTable for the specified parent layout. More... | |
Static Public Member Functions inherited from QgsLayoutObject | |
static const QgsPropertiesDefinition & | propertyDefinitions () |
Returns the layout object property definitions. More... | |
Additional Inherited Members | |
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, MapLabelMargin, 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 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... | |
virtual void | refreshDataDefinedProperty (QgsLayoutObject::DataDefinedProperty property=QgsLayoutObject::AllProperties) |
Refreshes a data defined property for the multi frame by reevaluating the property's value and redrawing the item with this new value. 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 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... | |
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< QgsLayout > | mLayout |
A text table item that reads text from string lists.
Definition at line 30 of file qgslayoutitemtexttable.h.
QgsLayoutItemTextTable::QgsLayoutItemTextTable | ( | QgsLayout * | layout | ) |
Constructor for QgsLayoutItemTextTable, for the specified layout.
Ownership is transferred to the layout.
Definition at line 23 of file qgslayoutitemtexttable.cpp.
void QgsLayoutItemTextTable::addRow | ( | const QStringList & | row | ) |
Adds a row to the table.
row | list of strings to use for each cell's value in the newly added row |
Definition at line 44 of file qgslayoutitemtexttable.cpp.
|
static |
Returns a new QgsLayoutItemTextTable for the specified parent layout.
Definition at line 39 of file qgslayoutitemtexttable.cpp.
|
overridevirtual |
Returns the multiframe display name.
Reimplemented from QgsLayoutMultiFrame.
Definition at line 34 of file qgslayoutitemtexttable.cpp.
|
overridevirtual |
Fetches the contents used for the cells in the table.
true
if table contents were successfully retrieved. contents | QgsLayoutTableContents to store retrieved row data in |
Implements QgsLayoutTable.
Definition at line 56 of file qgslayoutitemtexttable.cpp.
void QgsLayoutItemTextTable::setContents | ( | const QVector< QStringList > & | contents | ) |
Sets the contents of the text table.
contents | list of table rows |
Definition at line 50 of file qgslayoutitemtexttable.cpp.
|
overridevirtual |
Returns unique multiframe type id.
Implements QgsLayoutMultiFrame.
Definition at line 29 of file qgslayoutitemtexttable.cpp.