Aria 2.0.0
C++23 MVVM framework (C++20 minimum) — reactive, coroutine-first, ABI-layered
Loading...
Searching...
No Matches
aria::adapters::qt6::ObservableListModel< T > Class Template Reference

#include <qt_list_model_adapter.hpp>

Inheritance diagram for aria::adapters::qt6::ObservableListModel< T >:
[legend]

Public Types

using RoleMap = QHash<int, QByteArray>
using RoleFn = std::function<QVariant(const T&, int role)>

Public Member Functions

template<class L>
requires ::aria::ListSourceOf< L, T > ObservableListModel (L &source, RoleMap roles, RoleFn role_fn, QObject *parent=nullptr)
 Generic constructor: accepts any list source whose element type matches T.
 ~ObservableListModel () override
int rowCount (const QModelIndex &parent=QModelIndex{}) const override
QVariant data (const QModelIndex &index, int role=Qt::DisplayRole) const override
QHash< int, QByteArray > roleNames () const override
void reload ()
 Re-notify Qt views using the current event-maintained snapshot.

Member Typedef Documentation

◆ RoleMap

template<typename T>
using aria::adapters::qt6::ObservableListModel< T >::RoleMap = QHash<int, QByteArray>

◆ RoleFn

template<typename T>
using aria::adapters::qt6::ObservableListModel< T >::RoleFn = std::function<QVariant(const T&, int role)>

Constructor & Destructor Documentation

◆ ObservableListModel()

template<typename T>
template<class L>
requires ::aria::ListSourceOf< L, T > aria::adapters::qt6::ObservableListModel< T >::ObservableListModel ( L & source,
RoleMap roles,
RoleFn role_fn,
QObject * parent = nullptr )
inline

Generic constructor: accepts any list source whose element type matches T.

Source reads happen only during construction; subsequent Insert/Replace/Reset events own the replayed payload.

◆ ~ObservableListModel()

template<typename T>
aria::adapters::qt6::ObservableListModel< T >::~ObservableListModel ( )
inlineoverride

Member Function Documentation

◆ rowCount()

template<typename T>
int aria::adapters::qt6::ObservableListModel< T >::rowCount ( const QModelIndex & parent = QModelIndex{}) const
inlineoverride

◆ data()

template<typename T>
QVariant aria::adapters::qt6::ObservableListModel< T >::data ( const QModelIndex & index,
int role = Qt::DisplayRole ) const
inlineoverride

◆ roleNames()

template<typename T>
QHash< int, QByteArray > aria::adapters::qt6::ObservableListModel< T >::roleNames ( ) const
inlineoverride

◆ reload()

template<typename T>
void aria::adapters::qt6::ObservableListModel< T >::reload ( )
inline

Re-notify Qt views using the current event-maintained snapshot.

No source lookup is needed, so queued events cannot be duplicated.


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