6 #ifndef SWIFT_GUI_MODELS_COLUMNS_H
7 #define SWIFT_GUI_MODELS_COLUMNS_H
11 #include <QSharedPointer>
31 :
CColumn(headerName,
"", propertyIndex, formatter, editable)
45 bool hasAlignment()
const {
return (!m_formatter.isNull() && m_formatter->hasAlignment()); }
63 bool hasSortPropertyIndex()
const;
72 m_formatter.reset(formatter);
113 static CColumn standardValueObject(
const QString &headerName,
const QString &toolTip,
122 static CColumn standardString(
const QString &headerName,
const QString &toolTip,
132 static CColumn standardInteger(
const QString &headerName,
const QString &toolTip,
140 QString m_translationContext;
141 QString m_columnName;
142 QString m_columnToolTip;
143 int m_widthPercentage = -1;
144 QSharedPointer<CDefaultFormatter> m_formatter;
151 bool m_editable =
false;
152 bool m_sortable =
true;
153 bool m_incognito =
false;
169 CColumns(
const QString &translationContext, QObject *parent =
nullptr);
172 void addColumn(
const CColumn &column);
175 void addColumnIncognito(
const CColumn &column);
181 QString columnToName(
int column,
bool i18n =
false)
const;
193 int nameToPropertyIndex(
const QString &name)
const;
199 bool hasAlignment(
const QModelIndex &index)
const;
202 bool isEditable(
const QModelIndex &index)
const;
205 bool isEditable(
int column)
const;
208 bool isSortable(
const QModelIndex &index)
const;
211 bool isSortable(
int column)
const;
214 bool isValidColumn(
const QModelIndex &index)
const;
217 bool isValidColumn(
int column)
const;
226 const CColumn &
at(
int columnNumber)
const {
return m_columns.at(columnNumber); }
233 void setColumns(
const QList<CColumn> &columns) { m_columns = columns; }
238 const QList<CColumn> &
columns()
const {
return m_columns; }
241 bool hasAnyWidthPercentage()
const;
244 void setWidthPercentages(
const QList<int> &percentages);
247 QList<int> calculateWidths(
int totalWidth)
const;
250 void insertEmptyColumn();
253 bool endsWithEmptyColumn()
const;
256 QList<CColumn> m_columns;
257 QString m_translationContext;
const QString & getColumnName() const
Column name.
bool isIncognito() const
If incognito mode, do NOT display daza.
bool isSortable() const
Sortable?
bool isEditable() const
Editable?
bool hasWidthPercentage() const
Having a width percentage.
const swift::misc::CPropertyIndex & getPropertyIndex() const
Property index.
int getWidthPercentage() const
Width in percentage.
void setWidthPercentage(int width)
Width percentage.
void setTranslationContext(const QString &translationContext)
Translation context.
void setEditable(bool editable)
Set editable.
bool hasAlignment() const
Alignment for this column?
void setFormatter(CDefaultFormatter *formatter)
Formatter.
CColumn(const QString &headerName, const swift::misc::CPropertyIndex &propertyIndex, CDefaultFormatter *formatter, bool editable=false)
Constructor.
swift::misc::CVariant getAlignment() const
Aligment as CVariant.
swift::misc::CPropertyIndex getSortPropertyIndex() const
Property index used when sorting, option alternative.
void setSortable(bool sortable)
Set sortable.
const QString & getColumnToolTip() const
Column tooltip.
void setIncognito(bool incognito)
Mark as incognito enabled.
swift::misc::CVariant getAlignment(const QModelIndex &index) const
Aligment as CVariant.
const CColumn & at(int columnNumber) const
Column at position.
const QList< CColumn > & columns() const
Columns.
void setColumns(const CColumns &columns)
Set columns.
void setColumns(const QList< CColumn > &columns)
Set columns.
Wrapper around QVariant which provides transparent access to CValueObject methods of the contained ob...
Models to be used with views, mainly QTableView.
#define SWIFT_GUI_EXPORT
Export a class or function from the library.