#ifndef _PORT_STATS_MODEL_H #define _PORT_STATS_MODEL_H #include <QAbstractTableModel> #include <QStringList> typedef enum { e_STAT_FRAMES_RCVD = 0, e_STAT_FRAMES_SENT, e_STAT_FRAME_SEND_RATE, e_STAT_FRAME_RECV_RATE, e_STAT_BYTES_RCVD, e_STAT_BYTES_SENT, e_STAT_BYTE_SEND_RATE, e_STAT_BYTE_RECV_RATE, e_STAT_MAX } PortStat; static QStringList PortStatName = (QStringList() << "Frames Received" << "Frames Sent" << "Frame Send Rate (fps)" << "Frame Receive Rate (fps)" << "Bytes Received" << "Bytes Sent" << "Byte Send Rate (Bps)" << "Byte Receive Rate (Bps)" ); class PortGroupList; class PortStatsModel : public QAbstractTableModel { Q_OBJECT PortGroupList *pgl; public: PortStatsModel(PortGroupList *p, QObject *parent = 0); int rowCount(const QModelIndex &parent = QModelIndex()) const; int columnCount(const QModelIndex &parent = QModelIndex()) const; QVariant data(const QModelIndex &index, int role) const; QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; public slots: void when_portListChanged(); void on_portStatsUpdate(int port, void*stats); private: // numPorts stores the num of ports per portgroup // in the same order as the portgroups are index in the pgl // Also it stores them as cumulative totals QList<quint16> numPorts; }; #endif