topic_model.h
Go to the documentation of this file.
1 // Qt table model for rosbag_fancy messages
2 // Author: Christian Lenz <lenz@ais.uni-bonn.de>
3 
4 #ifndef TOPIC_MODEL_H
5 #define TOPIC_MODEL_H
6 
7 #include <QAbstractTableModel>
8 
9 #include <rosbag_fancy_msgs/Status.h>
10 
11 class QTimer;
12 
13 namespace rqt_rosbag_fancy
14 {
15 
16 class TopicModel : public QAbstractTableModel
17 {
18 Q_OBJECT
19 public:
20  enum class Column
21  {
22  Activity,
23  Name,
24  Publisher,
25  Messages,
26  Rate,
27  Bytes,
28  Bandwidth,
29 
31  };
32 
33  explicit TopicModel(QObject* parent = 0);
34  virtual ~TopicModel();
35 
36  int columnCount(const QModelIndex& parent) const override;
37  int rowCount(const QModelIndex& parent) const override;
38 
39  QVariant data(const QModelIndex& index, int role) const override;
40  QVariant headerData(int section, Qt::Orientation orientation, int role) const override;
41 
42 public Q_SLOTS:
43  void setState(const rosbag_fancy_msgs::StatusConstPtr& status);
44 
45 private Q_SLOTS:
46  void clear();
47 
48 private:
49  rosbag_fancy_msgs::StatusConstPtr m_status;
50  bool m_valid = false;
51  QTimer* m_timer;
52 
53  QString rateToString(double rate) const;
54  QString memoryToString(uint64_t memory) const;
55 
56  std::vector<unsigned int> m_lastMsgCount;
57 };
58 
59 }
60 
61 #endif
void setState(const rosbag_fancy_msgs::StatusConstPtr &status)
int columnCount(const QModelIndex &parent) const override
Definition: topic_model.cpp:37
TopicModel(QObject *parent=0)
Definition: topic_model.cpp:13
int rowCount(const QModelIndex &parent) const override
Definition: topic_model.cpp:45
QString memoryToString(uint64_t memory) const
QString rateToString(double rate) const
std::vector< unsigned int > m_lastMsgCount
Definition: topic_model.h:56
QVariant data(const QModelIndex &index, int role) const override
Definition: topic_model.cpp:56
QVariant headerData(int section, Qt::Orientation orientation, int role) const override
rosbag_fancy_msgs::StatusConstPtr m_status
Definition: topic_model.h:49


rqt_rosbag_fancy
Author(s): Christian Lenz
autogenerated on Fri Dec 9 2022 04:00:12