14 : QAbstractItemModel {
parent }
15 , Headers_ { std::move (headers) }
21 return index.isValid () ? 0 : Headers_.size ();
26 if (!
index.isValid ())
30 return var.isValid () ? var : GlobalData_.value (role);
35 if (orientation != Qt::Horizontal || role != Qt::DisplayRole)
38 return Headers_.value (section);
45 col >= Headers_.size ())
48 return createIndex (row, col);
64 GlobalData_ [role] =
data;
66 GlobalData_.remove (role);
69 emit dataChanged (
index (0, 0),
index (rows - 1, Headers_.size () - 1), { role });
virtual int GetItemsCount() const =0
QVariant data(const QModelIndex &index, int role) const override
QModelIndex index(int row, int col, const QModelIndex &parent={}) const override
int columnCount(const QModelIndex &index={}) const override
QModelIndex parent(const QModelIndex &) const override
int rowCount(const QModelIndex &parent={}) const override
virtual QVariant GetData(int row, int col, int role) const =0
void SetGlobalData(const QVariant &data, int role)
FlatItemsModelBase(QStringList headers, QObject *=nullptr)
QVariant headerData(int section, Qt::Orientation orientation, int role) const override