AUI Framework
develop
Cross-platform base for C++ UI apps
|
Tree model. More...
#include <AUI/Model/ITreeModel.h>
Public Types | |
using | stored_t = T |
Public Member Functions | |
virtual size_t | childrenCount (const ATreeModelIndexOrRoot &vertex)=0 |
Count of children of the vertex. | |
virtual T | itemAt (const ATreeModelIndex &index)=0 |
value representation, used by ATreeView. | |
virtual ATreeModelIndex | indexOfChild (size_t row, size_t column, const ATreeModelIndexOrRoot &vertex)=0 |
Creates valid ATreeModelIndex of the child. | |
virtual ATreeModelIndexOrRoot | parent (const ATreeModelIndex &vertex)=0 |
Creates index of parent vertex of the specified vertex. | |
template<aui::predicate< ATreeModelIndex > Predicate> | |
AOptional< ATreeModelIndex > | find (const Predicate &predicate) |
template<aui::invocable< ATreeModelIndex > Callback> | |
void | forEachDirectChildOf (const ATreeModelIndexOrRoot &vertex, Callback callback) |
Public Member Functions inherited from AObject | |
_< AObject > | sharedPtr () |
_weak< AObject > | weakPtr () |
template<typename Connectable, ACompatibleSlotFor< Connectable > Function> | |
void | connect (const Connectable &connectable, Function &&function) |
Connects signal or property to slot of "this" object. | |
void | setSignalsEnabled (bool enabled) |
bool | isSignalsEnabled () const noexcept |
template<ASignalInvokable T> | |
void | operator^ (T &&t) |
_< AAbstractThread > | getThread () const |
bool | isSlotsCallsOnlyOnMyThread () const noexcept |
void | setSlotsCallsOnlyOnMyThread (bool slotsCallsOnlyOnMyThread) |
Public Member Functions inherited from AObjectBase | |
AObjectBase (AObjectBase &&rhs) noexcept | |
void | clearSignals () noexcept |
Public Member Functions inherited from aui::noncopyable | |
noncopyable (const noncopyable &)=delete | |
noncopyable & | operator= (const noncopyable &)=delete |
Signals and public fields | |
emits< ATreeModelIndex > | dataChanged |
Model data was changed. | |
emits< ATreeModelIndex > | dataInserted |
Model data was added. | |
emits< ATreeModelIndex > | dataRemoved |
Model data about to remove. | |
Additional Inherited Members | |
Static Public Member Functions inherited from AObject | |
static void | disconnect () |
template<AAnySignal Signal, aui::derived_from< AObjectBase > Object, ACompatibleSlotFor< Signal > Function> | |
static void | connect (const Signal &signal, Object *object, Function &&function) |
Connects signal to the slot of the specified object. | |
template<AAnyProperty Property, aui::derived_from< AObjectBase > Object, typename Function> | |
static void | connect (const Property &property, Object *object, Function &&function) |
Connects property to the slot of the specified object. | |
template<APropertyReadable PropertySource, APropertyWritable PropertyDestination> requires requires { { *propertySource } -> aui::convertible_to<std::decay_t<decltype(*propertyDestination)>>; } | |
static void | connect (PropertySource &&propertySource, PropertyDestination &&propertyDestination) |
Connects source property to the destination property. | |
template<APropertyWritable PropertySource, APropertyWritable PropertyDestination> requires requires { { *propertySource } -> aui::convertible_to<std::decay_t<decltype(*propertyDestination)>>; { *propertyDestination } -> aui::convertible_to<std::decay_t<decltype(*propertySource)>>; } | |
static void | biConnect (PropertySource &&propertySource, PropertyDestination &&propertyDestination) |
Connects source property to the destination property and opposite (bidirectionally). | |
template<AAnySignalOrProperty Connectable, aui::derived_from< AObjectBase > Object, ACompatibleSlotFor< Connectable > Function> | |
static void | connect (const Connectable &connectable, Object &object, Function &&function) |
Connects signal or property to the slot of the specified object. | |
template<AAnySignalOrProperty Connectable, aui::derived_from< AObjectBase > Object, ACompatibleSlotFor< Connectable > Function> | |
static void | connect (const Connectable &connectable, _< Object > object, Function &&function) |
Connects signal or property to the slot of the specified object. | |
template<AAnySignalOrProperty Connectable, aui::derived_from< AObjectBase > Object, typename Function> | |
static void | connect (const Connectable &connectable, ASlotDef< Object *, Function > slotDef) |
Connects signal to the slot of the specified object. Slot is packed to single argument. | |
template<AAnyProperty Property, typename Object, ACompatibleSlotFor< Property > Function> requires (!aui::derived_from<Object, AObject>) | |
static void | connect (const Property &property, _< Object > object, Function &&function) |
Connects signal or property to the slot of the specified non-AObject type. | |
static void | moveToThread (aui::no_escape< AObject > object, _< AAbstractThread > thread) |
Protected Member Functions inherited from AObject | |
void | setThread (_< AAbstractThread > thread) |
Set thread of the object. | |
Tree model.
T | itemAt value (typically AString) |
ITreeModel is an interface to a tree data structure used for ATreeView.
Basic implementation of the tree model is available in ATreeModel.
|
pure virtual |
Count of children of the vertex.
vertex | the vertex to determine the children count of |
Implemented in ATreeModel< T >, and ViewHierarchyTreeModel.
|
pure virtual |
Creates valid ATreeModelIndex of the child.
row | child row (index) |
column | child column (typically 0) |
vertex | vertex |
Implemented in ATreeModel< T >, and ViewHierarchyTreeModel.
|
pure virtual |
value representation, used by ATreeView.
Implemented in ATreeModel< T >, and ViewHierarchyTreeModel.
|
pure virtual |
Creates index of parent vertex of the specified vertex.
Implemented in ATreeModel< T >, and ViewHierarchyTreeModel.