LeechCraft  0.6.70-18450-gabe19ee3b0
Modular cross-platform feature rich live environment.
LC::Util::RoledItemsModel< T > Class Template Reference

#include "itemsmodel.h"

+ Inheritance diagram for LC::Util::RoledItemsModel< T >:
+ Collaboration diagram for LC::Util::RoledItemsModel< T >:

Public Types

using FieldGetter_t = detail::FieldGetter_t< T >
 

Public Member Functions

 RoledItemsModel (QObject *parent=nullptr)
 
 RoledItemsModel (const QHash< int, FieldGetter_t > &getters, QObject *parent=nullptr)
 
template<auto F, typename V >
void SetField (int idx, V &&value)
 
template<auto... Fs, typename... Vs>
void SetFields (int idx, Vs &&... values)
 
- Public Member Functions inherited from LC::Util::FlatItemsModelTypedBase< T >
void SetItems (QList< T > items)
 
template<typename U >
requires std::is_constructible_v< T, U && > void SetItems (QList< U > items)
 
const QList< T > & GetItems () const
 
QList< T > & GetMutItems ()
 
qsizetype AddItem (const T &item)
 
void AddItems (const QList< T > &items)
 
void SetItem (int idx, const T &item)
 
template<typename F >
void EditItem (int idx, F &&editor)
 
void RemoveItem (int idx)
 
void RemoveItem (QList< T >::const_iterator it)
 
 FlatItemsModelBase (QStringList headers, QObject *=nullptr)
 
- Public Member Functions inherited from LC::Util::FlatItemsModelBase
 FlatItemsModelBase (QStringList headers, QObject *=nullptr)
 
int columnCount (const QModelIndex &index={}) const override
 
QVariant data (const QModelIndex &index, int role) const override
 
QVariant headerData (int section, Qt::Orientation orientation, int role) const override
 
QModelIndex index (int row, int col, const QModelIndex &parent={}) const override
 
QModelIndex parent (const QModelIndex &) const override
 
int rowCount (const QModelIndex &parent={}) const override
 
void SetGlobalData (const QVariant &data, int role)
 

Protected Member Functions

QVariant GetData (int row, int, int role) const override
 
- Protected Member Functions inherited from LC::Util::FlatItemsModelTypedBase< T >
int GetItemsCount () const override
 

Additional Inherited Members

- Static Public Attributes inherited from LC::Util::FlatItemsModelBase
static constexpr auto DataRole = Qt::UserRole
 
- Protected Attributes inherited from LC::Util::FlatItemsModelTypedBase< T >
QList< T > Items_
 

Detailed Description

template<typename T>
class LC::Util::RoledItemsModel< T >

Definition at line 137 of file itemsmodel.h.

Member Typedef Documentation

◆ FieldGetter_t

template<typename T>
using LC::Util::RoledItemsModel< T >::FieldGetter_t = detail::FieldGetter_t<T>

Definition at line 140 of file itemsmodel.h.

Constructor & Destructor Documentation

◆ RoledItemsModel() [1/2]

template<typename T>
LC::Util::RoledItemsModel< T >::RoledItemsModel ( QObject *  parent = nullptr)
inlineexplicit

Definition at line 144 of file itemsmodel.h.

◆ RoledItemsModel() [2/2]

template<typename T>
LC::Util::RoledItemsModel< T >::RoledItemsModel ( const QHash< int, FieldGetter_t > &  getters,
QObject *  parent = nullptr 
)
inlineexplicit

Definition at line 150 of file itemsmodel.h.

Member Function Documentation

◆ GetData()

template<typename T>
QVariant LC::Util::RoledItemsModel< T >::GetData ( int  row,
int  ,
int  role 
) const
inlineoverrideprotectedvirtual

Implements LC::Util::FlatItemsModelBase.

Definition at line 185 of file itemsmodel.h.

◆ SetField()

template<typename T>
template<auto F, typename V >
void LC::Util::RoledItemsModel< T >::SetField ( int  idx,
V &&  value 
)
inline

◆ SetFields()

template<typename T>
template<auto... Fs, typename... Vs>
void LC::Util::RoledItemsModel< T >::SetFields ( int  idx,
Vs &&...  values 
)
inline

Definition at line 168 of file itemsmodel.h.

Referenced by LC::Util::ProgressModelRow::SetState().

+ Here is the caller graph for this function:

The documentation for this class was generated from the following file: