ui.h
Go to the documentation of this file.
1 // Terminal UI
2 // Author: Max Schwarz <max.schwarz@uni-bonn.de>
3 
4 #ifndef ROSBAG_FANCY_UI_H
5 #define ROSBAG_FANCY_UI_H
6 
7 #include "terminal.h"
8 #include "topic_manager.h"
9 #include "message_queue.h"
10 
11 #include <ros/steady_timer.h>
12 
13 #include <boost/signals2.hpp>
14 
15 namespace rosbag_fancy
16 {
17 
18 class BagWriter;
19 class BagReader;
20 
21 class UI
22 {
23 public:
24  UI(TopicManager& config, MessageQueue& queue, BagWriter& writer);
25 
26  void draw();
27 
28 private:
29  template<class... Args>
30  void printLine(unsigned int& lineCounter, const Args& ... args);
31 
35 
37 
40 };
41 
43 {
44 public:
45  explicit PlaybackUI(TopicManager& topics, const ros::Time& startTime, const ros::Time& endTime);
46 
47  void setPositionInBag(const ros::Time& stamp);
48  void setPaused(bool paused);
49 
50  void draw();
51 
52  void handleInput();
53 
54  boost::signals2::signal<void()> seekForwardRequested;
55  boost::signals2::signal<void()> seekBackwardRequested;
56  boost::signals2::signal<void()> pauseRequested;
57  boost::signals2::signal<void()> exitRequested;
58 
59 private:
60  template<class... Args>
61  void printLine(unsigned int& lineCounter, const Args& ... args);
62 
64 
67 
69 
72 
74 
77 
78  bool m_paused = false;
79 };
80 
81 }
82 
83 #endif
ros::Time m_endTime
Definition: ui.h:66
ros::SteadyTimer m_timer
Definition: ui.h:38
ros::WallTime m_lastDrawTime
Definition: ui.h:39
Terminal m_term
Definition: ui.h:36
ros::Time m_startTime
Definition: ui.h:65
UI(TopicManager &config, MessageQueue &queue, BagWriter &writer)
Definition: ui.cpp:157
TopicManager & m_topicManager
Definition: ui.h:32
ros::SteadyTime m_lastSeekFwd
Definition: ui.h:75
MessageQueue & m_queue
Definition: ui.h:33
ros::SteadyTimer m_timer
Definition: ui.h:70
ros::SteadyTime m_lastSeekBwd
Definition: ui.h:76
BagWriter & m_bagWriter
Definition: ui.h:34
ros::WallTime m_lastDrawTime
Definition: ui.h:71
TopicManager & m_topicManager
Definition: ui.h:63
boost::signals2::signal< void()> pauseRequested
Definition: ui.h:56
void printLine(unsigned int &lineCounter, const Args &... args)
Definition: ui.cpp:177
boost::signals2::signal< void()> exitRequested
Definition: ui.h:57
boost::signals2::signal< void()> seekForwardRequested
Definition: ui.h:54
void draw()
Definition: ui.cpp:185
boost::signals2::signal< void()> seekBackwardRequested
Definition: ui.h:55
ros::Time m_positionInBag
Definition: ui.h:73
Terminal m_term
Definition: ui.h:68
Encapsulates terminal control.
Definition: terminal.h:21


rosbag_fancy
Author(s):
autogenerated on Fri Dec 9 2022 04:00:10