1
0
Fork 0
OpenLCP/platform/qt/dmxwidget/widgetmodel.h

45 lines
1.1 KiB
C++

#pragma once
#include "dmxwidget.h"
#include <QAbstractItemModel>
class WidgetModel : public QAbstractItemModel
{
Q_OBJECT
public:
explicit WidgetModel(QObject *parent = nullptr);
virtual ~WidgetModel();
// Header:
QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
// Basic functionality:
QModelIndex index(int row, int column,
const QModelIndex &parent = QModelIndex()) const override;
QModelIndex parent(const QModelIndex &index) const override;
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
int columnCount(const QModelIndex &parent = QModelIndex()) const override;
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
/// @brief The Column enum
enum Column {
PortName,
Manufacturer,
Description,
SerialNumber,
FirmwareVersion,
OperatingMode,
};
Q_ENUM(Column)
public slots:
void rescanPorts();
private:
QList<std::shared_ptr<DmxWidget>> widgets_;
};