1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
// ****************************************************************************
// Project: GUYMAGER
// ****************************************************************************
// Programmer: Guy Voncken
// Police Grand-Ducale
// Service de Police Judiciaire
// Section Nouvelles Technologies
// ****************************************************************************
// Module: Provides all information for displaying the DeviceList on
// screen
// ****************************************************************************
#ifndef __DEVICELISTMODEL_H__
#define __DEVICELISTMODEL_H__
#include <QObject>
#include <QList>
#include <QAbstractTableModel>
#include "device.h"
class t_DeviceListModel: public QAbstractTableModel
{
Q_OBJECT
public:
t_DeviceListModel ();
t_DeviceListModel (t_pDeviceList pDeviceList);
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 SlotRefresh (void);
// void SlotUpdate (void);
private:
enum
{
DATATYPE_QSTRING,
DATATYPE_INT32,
DATATYPE_INT64,
DATATYPE_DEVICE_STATE,
DATATYPE_ACQUIRE_STATE,
};
typedef QVariant (* t_pGetDataFn) (t_pDevice pDevice);
typedef struct
{
QString Name; // The column name as displayed in the table header
t_pGetDataFn pGetDataFn;
int DisplayType; // One of the display type as defined in t_ItemDelegate
int Alignment; // Use Qt::AlignLeft, Qt::AlignRight, ...
int MinWidth; // Set to 0 for default width
} t_ColAssoc;
QList<t_ColAssoc> ColAssocList;
t_pDeviceList poDeviceList;
};
#endif
|