2021-09-06 12:54:28 -04:00
|
|
|
#include "adduniversedialog.h"
|
|
|
|
#include "qsacnuniverse.h"
|
|
|
|
#include "sacn/extended.h"
|
|
|
|
#include "universeview.h"
|
|
|
|
#include "universeviewdelegate.h"
|
|
|
|
|
|
|
|
|
2021-09-06 13:44:03 -04:00
|
|
|
/**
|
|
|
|
* @brief UniverseViewDelegate::UniverseViewDelegate
|
|
|
|
* @param parent
|
|
|
|
* @param node
|
|
|
|
*/
|
|
|
|
UniverseViewDelegate::UniverseViewDelegate(QObject * parent, QSacnNode * node)
|
|
|
|
: QStyledItemDelegate(parent)
|
|
|
|
, node_(node)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief UniverseViewDelegate::createEditor
|
|
|
|
* @param parent
|
|
|
|
* @param option
|
|
|
|
* @param index
|
|
|
|
* @return
|
|
|
|
*/
|
2021-09-06 12:54:28 -04:00
|
|
|
QWidget * UniverseViewDelegate::createEditor(QWidget *parent,
|
|
|
|
const QStyleOptionViewItem &option,
|
|
|
|
const QModelIndex &index) const
|
|
|
|
{
|
|
|
|
QVariant data = index.data(Qt::EditRole);
|
|
|
|
|
|
|
|
if (data.metaType().id() == qMetaTypeId<QSacnUniverse*>())
|
|
|
|
{
|
|
|
|
auto univ = data.value<QSacnUniverse*>();
|
|
|
|
auto universeView = new UniverseView(parent, univ);
|
|
|
|
universeView->show();
|
|
|
|
|
|
|
|
return new QWidget(parent);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (index.data().canConvert<sACN::EXTENDED::DISCOVERY::discoveredUniverse*>())
|
|
|
|
{
|
|
|
|
auto disc = data.value<sACN::EXTENDED::DISCOVERY::discoveredUniverse*>();
|
|
|
|
auto subscribe = new AddUniverseDialog(parent, disc->universe,
|
|
|
|
tr("Subscribe to Universe"));
|
2021-09-06 13:44:03 -04:00
|
|
|
connect(subscribe, &AddUniverseDialog::additionRequested,
|
|
|
|
node_, &QSacnNode::subscribe);
|
2021-09-06 12:54:28 -04:00
|
|
|
return subscribe;
|
|
|
|
}
|
|
|
|
|
|
|
|
return QStyledItemDelegate::createEditor(parent, option, index);
|
|
|
|
}
|