45 lines
1.1 KiB
C
45 lines
1.1 KiB
C
|
#pragma once
|
||
|
|
||
|
#include "sacn/extended.h"
|
||
|
|
||
|
#include <QVariant>
|
||
|
#include <QVector>
|
||
|
|
||
|
class QSacnUniverse; // forward declare
|
||
|
|
||
|
using discoveredUniverse = sACN::EXTENDED::DISCOVERY::discoveredUniverse;
|
||
|
|
||
|
/**
|
||
|
* @brief The MultiverseItem class
|
||
|
*/
|
||
|
class MultiverseItem
|
||
|
{
|
||
|
public:
|
||
|
explicit MultiverseItem(MultiverseItem* parentItem = nullptr,
|
||
|
QSacnUniverse * universe = nullptr,
|
||
|
discoveredUniverse * discovery = nullptr);
|
||
|
virtual ~MultiverseItem();
|
||
|
|
||
|
void appendChild(MultiverseItem* child);
|
||
|
void removeChild(MultiverseItem* child);
|
||
|
void setOverrideData(QVariant data);
|
||
|
|
||
|
MultiverseItem * child(int row);
|
||
|
int childCount() const;
|
||
|
QVariant data(int column, int role = Qt::DisplayRole) const;
|
||
|
Qt::ItemFlags flags(int column, Qt::ItemFlags base) const;
|
||
|
int row() const;
|
||
|
MultiverseItem * parentItem();
|
||
|
|
||
|
private:
|
||
|
QVector<MultiverseItem*> childItems_;
|
||
|
QSacnUniverse* universe_;
|
||
|
discoveredUniverse* discovery_;
|
||
|
MultiverseItem* parentItem_;
|
||
|
QVariant override_data_;
|
||
|
};
|
||
|
|
||
|
Q_DECLARE_METATYPE(discoveredUniverse*)
|
||
|
|
||
|
|