1
0
Fork 0

give the delegate the node for connecting signals

This commit is contained in:
Kevin Matz 2021-09-06 13:44:03 -04:00
parent 745d62f4a1
commit 5693689267
3 changed files with 29 additions and 1 deletions

View File

@ -16,7 +16,7 @@ MultiverseView::MultiverseView(QWidget *parent, QSacnNode *node)
ui->setupUi(this);
ui->multiverseView->setModel(new MultiverseModel(this, node));
ui->multiverseView->setItemDelegate(new UniverseViewDelegate());
ui->multiverseView->setItemDelegate(new UniverseViewDelegate(this, node));
ui->multiverseView->expandAll();
}

View File

@ -5,6 +5,25 @@
#include "universeviewdelegate.h"
/**
* @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
*/
QWidget * UniverseViewDelegate::createEditor(QWidget *parent,
const QStyleOptionViewItem &option,
const QModelIndex &index) const
@ -25,6 +44,8 @@ QWidget * UniverseViewDelegate::createEditor(QWidget *parent,
auto disc = data.value<sACN::EXTENDED::DISCOVERY::discoveredUniverse*>();
auto subscribe = new AddUniverseDialog(parent, disc->universe,
tr("Subscribe to Universe"));
connect(subscribe, &AddUniverseDialog::additionRequested,
node_, &QSacnNode::subscribe);
return subscribe;
}

View File

@ -1,5 +1,6 @@
#pragma once
#include "qsacnnode.h"
#include <QStyledItemDelegate>
class UniverseViewDelegate
@ -8,7 +9,13 @@ class UniverseViewDelegate
Q_OBJECT
public:
explicit UniverseViewDelegate(QObject *parent = nullptr,
QSacnNode *node = nullptr);
QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,
const QModelIndex &index) const override;
private:
QSacnNode * node_;
};