ifw  0.0.1-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
cmdLogModel.h
Go to the documentation of this file.
1 
2 #ifndef CMD_LOG_MODEL_H
3 #define CMD_LOG_MODEL_H
4 
5 #include <QAbstractTableModel>
6 #include <QList>
7 #include <QDebug>
8 
9 #define QE_LOG_INFO_MEMBERS 4
10 
11 struct LogInfo
12 {
13  QString time;
14  QString type;
15  QString command;
16  QString text;
17 };
18 
19 inline QDataStream &operator<<(QDataStream &stream, const LogInfo &logInfo)
20 {
21  return stream << logInfo.time
22  << logInfo.type
23  << logInfo.command
24  << logInfo.text;
25 }
26 
27 inline QDataStream &operator>>(QDataStream &stream, LogInfo &logInfo)
28 {
29  return stream
30  >> logInfo.time
31  >> logInfo.type
32  >> logInfo.command
33  >> logInfo.text;
34 }
35 
36 class CmdLogModel : public QAbstractTableModel
37 {
38  Q_OBJECT
39 
40 public:
41  CmdLogModel(QObject *parent = 0);
42  CmdLogModel(QList<LogInfo> logInfos, QObject *parent = 0);
43 
44  int rowCount(const QModelIndex &parent) const override;
45  int rowCount() const ;
46  int columnCount(const QModelIndex &parent) const override;
47  QVariant data(const QModelIndex &index, int role) const override;
48  QVariant headerData(int section, Qt::Orientation orientation, int role) const override;
49  Qt::ItemFlags flags(const QModelIndex &index) const override;
50  bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override;
51  bool insertRows(int position, int rows, const QModelIndex &index = QModelIndex()) override;
52  bool removeRows(int position, int rows, const QModelIndex &index = QModelIndex()) override;
53  QList<LogInfo> getLogInfos() const;
54 
55 private:
56  QList<LogInfo> m_log_info;
57 };
58 
59 #endif // CmdLogModel_H
double value
Definition: easylogging++.h:814
optional bool index
Definition: topics.proto:34
QString command
Definition: cmdLogModel.h:15
QDataStream & operator>>(QDataStream &stream, LogInfo &logInfo)
Definition: cmdLogModel.h:27
QString type
Definition: cmdLogModel.h:14
QVariant data(const QModelIndex &index, int role) const override
Definition: cmdLogModel.cpp:31
QVariant headerData(int section, Qt::Orientation orientation, int role) const override
Definition: cmdLogModel.cpp:55
QString time
Definition: cmdLogModel.h:13
Definition: cmdLogModel.h:36
QString text
Definition: cmdLogModel.h:16
QList< LogInfo > getLogInfos() const
Definition: cmdLogModel.cpp:134
CmdLogModel(QObject *parent=0)
Definition: cmdLogModel.cpp:8
bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override
Definition: cmdLogModel.cpp:101
int columnCount(const QModelIndex &parent) const override
Definition: cmdLogModel.cpp:26
bool insertRows(int position, int rows, const QModelIndex &index=QModelIndex()) override
Definition: cmdLogModel.cpp:79
QDebug operator<<(QDebug d, const QCPVector2D &vec)
Definition: qcustomplot.h:444
bool removeRows(int position, int rows, const QModelIndex &index=QModelIndex()) override
Definition: cmdLogModel.cpp:90
int rowCount() const
Definition: cmdLogModel.cpp:22
Definition: cmdLogModel.h:11
Qt::ItemFlags flags(const QModelIndex &index) const override
Definition: cmdLogModel.cpp:127