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) };
54 const auto pos =
Items_.size ();
68 beginInsertRows ({},
Items_.size (),
Items_.size () + items.size () - 1);
76 emit dataChanged (
index (idx, 0),
83 std::invoke (std::forward<F> (editor),
Items_ [idx]);
84 emit dataChanged (
index (idx, 0),
90 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)
void RemoveItem(QList< T >::const_iterator it)
void SetItems(QList< U > items)
const QList< T > & GetItems() const
QList< T > & GetMutItems()
void AddItems(const QList< T > &items)
void SetItems(QList< T > items)
void EditItem(int idx, F &&editor)
void SetItem(int idx, const T &item)
qsizetype AddItem(const T &item)
int GetItemsCount() const override
FlatItemsModelBase(QStringList headers, QObject *=nullptr)