ifw-fcf  5.0.0
cmdLogModel.h
Go to the documentation of this file.
1 
9 #ifndef CMD_LOG_MODEL_H
10 #define CMD_LOG_MODEL_H
11 
12 #include <QAbstractTableModel>
13 #include <QList>
14 #include <QDebug>
15 
16 #define QE_LOG_INFO_MEMBERS 4
17 
18 struct LogInfo
19 {
20  QString time;
21  QString type;
22  QString command;
23  QString text;
24 };
25 
26 inline QDataStream &operator<<(QDataStream &stream, const LogInfo &logInfo)
27 {
28  return stream << logInfo.time
29  << logInfo.type
30  << logInfo.command
31  << logInfo.text;
32 }
33 
34 inline QDataStream &operator>>(QDataStream &stream, LogInfo &logInfo)
35 {
36  return stream
37  >> logInfo.time
38  >> logInfo.type
39  >> logInfo.command
40  >> logInfo.text;
41 }
42 
43 class CmdLogModel : public QAbstractTableModel
44 {
45  Q_OBJECT
46 
47 public:
48  explicit CmdLogModel(QObject *parent = 0);
49  explicit CmdLogModel(QList<LogInfo> logInfos, QObject *parent = 0);
50 
51  int rowCount(const QModelIndex &parent) const override;
52  int rowCount() const;
53  int columnCount(const QModelIndex &parent) const override;
54  QVariant data(const QModelIndex &index, int role) const override;
55  QVariant headerData(int section, Qt::Orientation orientation, int role) const override;
56  Qt::ItemFlags flags(const QModelIndex &index) const override;
57  bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override;
58  bool insertRows(int position, int rows, const QModelIndex &index = QModelIndex()) override;
59  bool removeRows(int position, int rows, const QModelIndex &index = QModelIndex()) override;
60  QList<LogInfo> getLogInfos() const;
61 
62 private:
63  QList<LogInfo> m_log_info;
64 };
65 
66 #endif // CmdLogModel_H
Definition: cmdLogModel.h:44
Qt::ItemFlags flags(const QModelIndex &index) const override
Definition: cmdLogModel.cpp:134
bool removeRows(int position, int rows, const QModelIndex &index=QModelIndex()) override
Definition: cmdLogModel.cpp:97
int rowCount() const
Definition: cmdLogModel.cpp:29
QVariant headerData(int section, Qt::Orientation orientation, int role) const override
Definition: cmdLogModel.cpp:62
CmdLogModel(QObject *parent=0)
Definition: cmdLogModel.cpp:15
bool insertRows(int position, int rows, const QModelIndex &index=QModelIndex()) override
Definition: cmdLogModel.cpp:86
bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override
Definition: cmdLogModel.cpp:108
int columnCount(const QModelIndex &parent) const override
Definition: cmdLogModel.cpp:33
QVariant data(const QModelIndex &index, int role) const override
Definition: cmdLogModel.cpp:38
QList< LogInfo > getLogInfos() const
Definition: cmdLogModel.cpp:141
QDataStream & operator>>(QDataStream &stream, LogInfo &logInfo)
Definition: cmdLogModel.h:34
QDataStream & operator<<(QDataStream &stream, const LogInfo &logInfo)
Definition: cmdLogModel.h:26
Definition: cmdLogModel.h:19
QString text
Definition: cmdLogModel.h:23
QString time
Definition: cmdLogModel.h:20
QString command
Definition: cmdLogModel.h:22
QString type
Definition: cmdLogModel.h:21