29   QDomElement bgColorElem = doc.createElement( QStringLiteral( 
"backgroundColor" ) );
    30   bgColorElem.setAttribute( QStringLiteral( 
"red" ), QString::number( mBackgroundColor.red() ) );
    31   bgColorElem.setAttribute( QStringLiteral( 
"green" ), QString::number( mBackgroundColor.green() ) );
    32   bgColorElem.setAttribute( QStringLiteral( 
"blue" ), QString::number( mBackgroundColor.blue() ) );
    33   bgColorElem.setAttribute( QStringLiteral( 
"alpha" ), QString::number( mBackgroundColor.alpha() ) );
    34   columnElem.appendChild( bgColorElem );
    36   columnElem.setAttribute( QStringLiteral( 
"hAlignment" ), mHAlignment );
    37   columnElem.setAttribute( QStringLiteral( 
"vAlignment" ), mVAlignment );
    39   columnElem.setAttribute( QStringLiteral( 
"heading" ), mHeading );
    40   columnElem.setAttribute( QStringLiteral( 
"attribute" ), mAttribute );
    42   columnElem.setAttribute( QStringLiteral( 
"sortByRank" ), QString::number( mSortByRank ) );
    43   columnElem.setAttribute( QStringLiteral( 
"sortOrder" ), QString::number( mSortOrder ) );
    45   columnElem.setAttribute( QStringLiteral( 
"width" ), QString::number( mWidth ) );
    52   mHAlignment = 
static_cast< Qt::AlignmentFlag 
>( columnElem.attribute( QStringLiteral( 
"hAlignment" ), QString::number( Qt::AlignLeft ) ).toInt() );
    53   mVAlignment = 
static_cast< Qt::AlignmentFlag 
>( columnElem.attribute( QStringLiteral( 
"vAlignment" ), QString::number( Qt::AlignVCenter ) ).toInt() );
    54   mHeading = columnElem.attribute( QStringLiteral( 
"heading" ), QString() );
    55   mAttribute = columnElem.attribute( QStringLiteral( 
"attribute" ), QString() );
    56   mSortByRank = columnElem.attribute( QStringLiteral( 
"sortByRank" ), QStringLiteral( 
"0" ) ).toInt();
    57   mSortOrder = 
static_cast< Qt::SortOrder 
>( columnElem.attribute( QStringLiteral( 
"sortOrder" ), QString::number( Qt::AscendingOrder ) ).toInt() );
    58   mWidth = columnElem.attribute( QStringLiteral( 
"width" ), QStringLiteral( 
"0.0" ) ).toDouble();
    60   QDomNodeList bgColorList = columnElem.elementsByTagName( QStringLiteral( 
"backgroundColor" ) );
    61   if ( !bgColorList.isEmpty() )
    63     QDomElement bgColorElem = bgColorList.at( 0 ).toElement();
    64     bool redOk, greenOk, blueOk, alphaOk;
    65     int bgRed, bgGreen, bgBlue, bgAlpha;
    66     bgRed = bgColorElem.attribute( QStringLiteral( 
"red" ) ).toDouble( &redOk );
    67     bgGreen = bgColorElem.attribute( QStringLiteral( 
"green" ) ).toDouble( &greenOk );
    68     bgBlue = bgColorElem.attribute( QStringLiteral( 
"blue" ) ).toDouble( &blueOk );
    69     bgAlpha = bgColorElem.attribute( QStringLiteral( 
"alpha" ) ).toDouble( &alphaOk );
    70     if ( redOk && greenOk && blueOk && alphaOk )
    72       mBackgroundColor = QColor( bgRed, bgGreen, bgBlue, bgAlpha );
    81   std::unique_ptr< QgsLayoutTableColumn > newColumn = qgis::make_unique< QgsLayoutTableColumn >();
    83   newColumn->setHeading( mHeading );
    84   newColumn->setHAlignment( mHAlignment );
    85   newColumn->setVAlignment( mVAlignment );
    86   newColumn->setSortByRank( mSortByRank );
    87   newColumn->setSortOrder( mSortOrder );
    88   newColumn->setWidth( mWidth );
    89   return newColumn.release();
 QgsLayoutTableColumn(const QString &heading=QString())
Constructor for QgsLayoutTableColumn. 
 
bool readXml(const QDomElement &columnElem)
Reads the column's properties from xml. 
 
Stores properties of a column for a QgsLayoutTable. 
 
void setAttribute(const QString &attribute)
Sets the attribute name or expression used for the column's values. 
 
QgsLayoutTableColumn * clone()
Creates a duplicate column which is a deep copy of this column. 
 
bool writeXml(QDomElement &columnElem, QDomDocument &doc) const
Writes the column's properties to xml for storage.