1
0
Fork 0

construct the model around the universe

This commit is contained in:
Kevin Matz 2022-12-03 20:46:10 -05:00
parent 798affa3fb
commit da484ef028
3 changed files with 9 additions and 21 deletions

View File

@ -8,12 +8,16 @@
/** /**
* @brief UniverseModel::UniverseModel * @brief UniverseModel::UniverseModel
* @param parent * @param parent
* @param universe
*/ */
UniverseModel::UniverseModel(QObject *parent) UniverseModel::UniverseModel(QObject *parent, QSacnUniverse *universe)
: QAbstractTableModel(parent) : QAbstractTableModel(parent)
, universe_(nullptr) , universe_(universe)
, data_mode_(Decimal) , data_mode_(Decimal)
{ {
if (universe_)
connect(universe_, &QSacnUniverse::dataChanged,
this, &UniverseModel::universeRefreshed);
} }
@ -206,20 +210,6 @@ void UniverseModel::setDataMode(const QString mode)
} }
/**
* @brief UniverseModel::setUniverse
* @param universe
*/
void UniverseModel::setUniverse(QSacnUniverse *universe)
{
if (universe_)
disconnect(universe_, 0, this, 0);
universe_ = universe;
connect(universe_, &QSacnUniverse::dataChanged,
this, &UniverseModel::universeRefreshed);
}
/** /**
* @brief UniverseModel::dataMode * @brief UniverseModel::dataMode
* @return * @return

View File

@ -17,7 +17,8 @@ public:
}; };
Q_ENUM(data_modes) Q_ENUM(data_modes)
explicit UniverseModel(QObject *parent = nullptr); explicit UniverseModel(QObject *parent = nullptr,
QSacnUniverse *universe = nullptr);
// Model overrides: // Model overrides:
QVariant headerData(int section, Qt::Orientation orientation, QVariant headerData(int section, Qt::Orientation orientation,
@ -31,7 +32,6 @@ public:
Qt::ItemFlags flags(const QModelIndex& index) const override; Qt::ItemFlags flags(const QModelIndex& index) const override;
// Data source: // Data source:
void setUniverse(QSacnUniverse* universe);
data_modes dataMode(); data_modes dataMode();
signals: signals:

View File

@ -17,11 +17,9 @@ UniverseInspector::UniverseInspector(QWidget *parent, QSacnUniverse *universe)
{ {
ui->setupUi(this); ui->setupUi(this);
auto model = new UniverseModel(this); auto model = new UniverseModel(this, universe);
ui->tableView->setModel(model); ui->tableView->setModel(model);
model->setUniverse(universe);
// update the status bar whenever the universe refreshes // update the status bar whenever the universe refreshes
connect(model, &UniverseModel::recievedUpdate, connect(model, &UniverseModel::recievedUpdate,
this, &UniverseInspector::updateStatus); this, &UniverseInspector::updateStatus);