libdrmconf  0.12.0
A library to program DMR radios.
Signals | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
AbstractConfigObjectList Class Referenceabstract

Generic list class for config objects. More...

#include <configobject.hh>

Inheritance diagram for AbstractConfigObjectList:
Inheritance graph
[legend]
Collaboration diagram for AbstractConfigObjectList:
Collaboration graph
[legend]

Signals

void elementAdded (int idx)
 Gets emitted if an element was added to the list.
 
void elementModified (int idx)
 Gets emitted if one of the lists elements gets modified.
 
void elementRemoved (int idx)
 Gets emitted if one of the lists elements gets deleted.
 

Public Member Functions

virtual bool copy (const AbstractConfigObjectList &other)
 Copies all elements from other to this list.
 
virtual bool label (ConfigItem::Context &context, const ErrorStack &err=ErrorStack())=0
 Recursively labels the config object.
 
virtual YAML::Node serialize (const ConfigItem::Context &context, const ErrorStack &err=ErrorStack())=0
 Recursively serializes the configuration to YAML nodes. More...
 
virtual int count () const
 Returns the number of elements in the list.
 
virtual int indexOf (ConfigObject *obj) const
 Returns the index of the given object within the list.
 
virtual void clear ()
 Clears the list.
 
virtual const Configconfig () const
 Returns the config object, this list belongs to.
 
virtual void findItemsOfTypes (const QStringList &typeNames, QSet< ConfigItem * > &items) const
 Searches the config tree to find all instances of the given type names.
 
virtual QList< ConfigObject * > findItemsByName (const QString name) const
 Searches the list for objects with the given name.
 
virtual bool has (ConfigObject *obj) const
 Returns true, if the list contains the given object.
 
virtual ConfigObjectget (int idx) const
 Returns the list element at the given index or nullptr if out of bounds.
 
virtual int add (ConfigObject *obj, int row=-1, bool unique=true)
 Adds an element to the list.
 
virtual int replace (ConfigObject *obj, int row, bool unique=true)
 Replaces an element in the list.
 
virtual bool take (ConfigObject *obj)
 Removes an element from the list.
 
virtual bool del (ConfigObject *obj)
 Removes an element from the list (and deletes it if owned).
 
virtual bool moveUp (int idx)
 Moves an object at index idx one step up.
 
virtual bool moveUp (int first, int last)
 Moves objects at [first, last] one step up.
 
virtual bool moveDown (int idx)
 Moves an object at index idx one step down.
 
virtual bool moveDown (int first, int last)
 Moves objects [first, last] one step down.
 
virtual bool move (int source, int count, int destination)
 Moves the given source range to the destination index. More...
 
const QList< QMetaObject > & elementTypes () const
 Returns the element type for this list.
 
QStringList classNames () const
 Returns a list of all class names.
 

Protected Member Functions

 AbstractConfigObjectList (const QMetaObject &elementTypes=ConfigObject::staticMetaObject, QObject *parent=nullptr)
 Hidden constructor.
 
 AbstractConfigObjectList (const std::initializer_list< QMetaObject > &elementTypes, QObject *parent=nullptr)
 Hidden constructor from initializer list.
 

Protected Attributes

QList< QMetaObject > _elementTypes
 Holds the static QMetaObject of the element type.
 
QVector< ConfigObject * > _items
 Holds the list items.
 

Detailed Description

Generic list class for config objects.

Member Function Documentation

◆ move()

bool AbstractConfigObjectList::move ( int  source,
int  count,
int  destination 
)
virtual

Moves the given source range to the destination index.

The destination index is given before the movement. That is, if elements 0 & 1 are moved to indices 1 & 2, call move(0,2, 2)

◆ serialize()

virtual YAML::Node AbstractConfigObjectList::serialize ( const ConfigItem::Context context,
const ErrorStack err = ErrorStack() 
)
pure virtual

Recursively serializes the configuration to YAML nodes.

The complete configuration must be labeled first.

Implemented in ConfigObjectRefList, and ConfigObjectList.


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