26 Items_ = std::move (items);
31 requires std::is_constructible_v<T, U&&>
36 Items_.reserve (items.size ());
37 for (
auto&& item : items)
38 Items_ << T { std::move (item) };
59 beginInsertRows ({},
Items_.size (),
Items_.size () + items.size () - 1);
67 emit dataChanged (
index (idx, 0),
74 std::invoke (std::forward<F> (editor),
Items_ [idx]);
75 emit dataChanged (
index (idx, 0),
81 beginRemoveRows ({}, idx, idx);
QModelIndex index(int row, int col, const QModelIndex &parent={}) const override
int columnCount(const QModelIndex &index={}) const override
FlatItemsModelBase(QStringList headers, QObject *=nullptr)
const QList< T > & GetItems() const
void AddItems(const QList< T > &items)
void SetItems(QList< U > items)
void SetItems(QList< T > items)
void AddItem(const T &item)
void EditItem(int idx, F &&editor)
void SetItem(int idx, const T &item)
int GetItemsCount() const override
FlatItemsModelBase(QStringList headers, QObject *=nullptr)