2021-09-06 12:54:28 -04:00
|
|
|
#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,
|
2021-09-10 11:47:48 -04:00
|
|
|
QSacnUniverse* universe = nullptr,
|
|
|
|
discoveredUniverse* discovery = nullptr);
|
2021-09-06 12:54:28 -04:00
|
|
|
virtual ~MultiverseItem();
|
|
|
|
|
|
|
|
void appendChild(MultiverseItem* child);
|
|
|
|
void removeChild(MultiverseItem* child);
|
2021-09-07 11:18:49 -04:00
|
|
|
void removeChildren();
|
2021-09-06 12:54:28 -04:00
|
|
|
void setOverrideData(QVariant data);
|
2021-09-10 12:00:50 -04:00
|
|
|
void createChildren();
|
2021-09-06 12:54:28 -04:00
|
|
|
|
|
|
|
MultiverseItem * child(int row);
|
|
|
|
int childCount() const;
|
2021-09-08 13:28:05 -04:00
|
|
|
int childRow(int column, const QVariant &data) const;
|
2021-09-06 12:54:28 -04:00
|
|
|
QVariant data(int column, int role = Qt::DisplayRole) const;
|
2022-11-18 11:32:07 -05:00
|
|
|
bool setData(int column, const QVariant &value, int role = Qt::EditRole);
|
2021-09-06 12:54:28 -04:00
|
|
|
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*)
|
|
|
|
|
|
|
|
|