QGIS API Documentation 4.1.0-Master (60fea48833c)
Loading...
Searching...
No Matches
qgslayouttablecolumn.h
Go to the documentation of this file.
1/***************************************************************************
2 QgsLayoutTableColumn.h
3 ------------------
4 begin : November 2017
5 copyright : (C) 2017 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 QGSLAYOUTTABLECOLUMN_H
19#define QGSLAYOUTTABLECOLUMN_H
20
21#include "qgis_core.h"
22#include "qgis_sip.h"
23
24#include <QColor>
25#include <QDomDocument>
26#include <QDomElement>
27#include <QString>
28
29using namespace Qt::StringLiterals;
30
39class CORE_EXPORT QgsLayoutTableColumn
40{
41 public:
46 QgsLayoutTableColumn( const QString &heading = QString() );
47
54 bool writeXml( QDomElement &columnElem, QDomDocument &doc ) const;
55
61 bool readXml( const QDomElement &columnElem );
62
68 double width() const { return mWidth; }
69
74 void setWidth( const double width ) { mWidth = width; }
75
81 QString heading() const { return mHeading; }
82
88 void setHeading( const QString &heading ) { mHeading = heading; }
89
96 Qt::AlignmentFlag hAlignment() const { return mHAlignment; }
97
104 void setHAlignment( Qt::AlignmentFlag alignment ) { mHAlignment = alignment; }
105
112 Qt::AlignmentFlag vAlignment() const { return mVAlignment; }
113
120 void setVAlignment( Qt::AlignmentFlag alignment ) { mVAlignment = alignment; }
121
128 QString attribute() const { return mAttribute; }
129
136 void setAttribute( const QString &attribute ) { mAttribute = attribute; }
137
145 Qt::SortOrder sortOrder() const { return mSortOrder; }
146
154 void setSortOrder( Qt::SortOrder order ) { mSortOrder = order; }
155
170 Q_DECL_DEPRECATED int sortByRank() const SIP_DEPRECATED { return mSortByRank; }
171
185 Q_DECL_DEPRECATED void setSortByRank( int rank ) SIP_DEPRECATED { mSortByRank = rank; }
186
192 Q_DECL_DEPRECATED QgsLayoutTableColumn *clone() SIP_DEPRECATED SIP_FACTORY { return new QgsLayoutTableColumn( *this ); }
193
194 bool operator==( const QgsLayoutTableColumn &other ) const
195 {
196 return mHeading == other.mHeading
197 && mAttribute == other.mAttribute
198 && mSortByRank == other.mSortByRank
199 && mSortOrder == other.mSortOrder
200 && mWidth == other.mWidth
201 && mHAlignment == other.mHAlignment
202 && mVAlignment == other.mVAlignment;
203 }
204
205
206#ifdef SIP_RUN
207 // clang-format off
208 SIP_PYOBJECT __repr__();
209 % MethodCode
210 QString str;
211 if ( sipCpp->heading() != sipCpp->attribute() && !sipCpp->heading().isEmpty() )
212 str = u"<QgsLayoutTableColumn: %1 (\"%2\")>"_s.arg( sipCpp->attribute(), sipCpp->heading() );
213 else
214 str = u"<QgsLayoutTableColumn: %1>"_s.arg( sipCpp->attribute() );
215 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
216 % End
217// clang-format on
218#endif
219
220 // clang-format off
221 private:
222 // clang-format on
223
224 QString mHeading;
225 QString mAttribute;
226 int mSortByRank = 0;
227 Qt::SortOrder mSortOrder = Qt::AscendingOrder;
228 double mWidth = 0.0;
229 QColor mBackgroundColor = Qt::transparent; //currently unused
230 Qt::AlignmentFlag mHAlignment = Qt::AlignLeft;
231 Qt::AlignmentFlag mVAlignment = Qt::AlignVCenter;
232
234};
235#endif //QGSLAYOUTTABLECOLUMN_H
bool readXml(const QDomElement &columnElem)
Reads the column's properties from xml.
Q_DECL_DEPRECATED QgsLayoutTableColumn * clone()
Creates a duplicate column which is a deep copy of this column.
QString attribute() const
Returns the attribute name or expression used for the column's values.
void setVAlignment(Qt::AlignmentFlag alignment)
Sets the vertical alignment for a column, which controls the alignment used for drawing column values...
double width() const
Returns the width for the column in mm, or 0 if column width is automatically calculated.
Qt::AlignmentFlag vAlignment() const
Returns the vertical alignment for a column, which controls the alignment used for drawing column val...
QString heading() const
Returns the heading for a column, which is the value displayed in the column's header cell.
bool writeXml(QDomElement &columnElem, QDomDocument &doc) const
Writes the column's properties to xml for storage.
bool operator==(const QgsLayoutTableColumn &other) const
Q_DECL_DEPRECATED void setSortByRank(int rank)
Sets the sort rank for the column.
void setSortOrder(Qt::SortOrder order)
Sets the sort order for the column.
void setAttribute(const QString &attribute)
Sets the attribute name or expression used for the column's values.
Q_DECL_DEPRECATED int sortByRank() const
Returns the sort rank for the column.
QgsLayoutTableColumn(const QString &heading=QString())
Constructor for QgsLayoutTableColumn.
Qt::SortOrder sortOrder() const
Returns the sort order for the column.
void setHAlignment(Qt::AlignmentFlag alignment)
Sets the horizontal alignment for a column, which controls the alignment used for drawing column valu...
void setHeading(const QString &heading)
Sets the heading for a column, which is the value displayed in the column's header cell.
Qt::AlignmentFlag hAlignment() const
Returns the horizontal alignment for a column, which controls the alignment used for drawing column v...
void setWidth(const double width)
Sets the width for a column in mm.
#define SIP_DEPRECATED
Definition qgis_sip.h:113
#define SIP_FACTORY
Definition qgis_sip.h:83