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
rosbag_fancy::MessageQueue
Definition: message_queue.h:23
rosbag_fancy::PlaybackUI::m_timer
ros::SteadyTimer m_timer
Definition: ui.h:70
rosbag_fancy::PlaybackUI::m_topicManager
TopicManager & m_topicManager
Definition: ui.h:63
rosbag_fancy::PlaybackUI::printLine
void printLine(unsigned int &lineCounter, const Args &... args)
Definition: ui.cpp:366
rosbag_fancy::UI::m_topicManager
TopicManager & m_topicManager
Definition: ui.h:32
rosbag_fancy::UI::m_term
Terminal m_term
Definition: ui.h:36
rosbag_fancy::PlaybackUI::exitRequested
boost::signals2::signal< void()> exitRequested
Definition: ui.h:57
rosbag_fancy::UI::m_timer
ros::SteadyTimer m_timer
Definition: ui.h:38
rosbag_fancy::PlaybackUI::m_startTime
ros::Time m_startTime
Definition: ui.h:65
rosbag_fancy
Definition: bag_reader.cpp:240
message_queue.h
rosbag_fancy::PlaybackUI::m_lastSeekBwd
ros::SteadyTime m_lastSeekBwd
Definition: ui.h:76
rosbag_fancy::PlaybackUI::seekBackwardRequested
boost::signals2::signal< void()> seekBackwardRequested
Definition: ui.h:55
rosbag_fancy::PlaybackUI::setPositionInBag
void setPositionInBag(const ros::Time &stamp)
Definition: ui.cpp:565
rosbag_fancy::PlaybackUI::PlaybackUI
PlaybackUI(TopicManager &topics, const ros::Time &startTime, const ros::Time &endTime)
Definition: ui.cpp:346
rosbag_fancy::PlaybackUI::m_lastSeekFwd
ros::SteadyTime m_lastSeekFwd
Definition: ui.h:75
topic_manager.h
rosbag_fancy::PlaybackUI::handleInput
void handleInput()
Definition: ui.cpp:575
rosbag_fancy::PlaybackUI::m_term
Terminal m_term
Definition: ui.h:68
steady_timer.h
rosbag_fancy::PlaybackUI::m_positionInBag
ros::Time m_positionInBag
Definition: ui.h:73
ros::SteadyTimer
rosbag_fancy::UI::draw
void draw()
Definition: ui.cpp:185
rosbag_fancy::Terminal
Encapsulates terminal control.
Definition: terminal.h:21
ros::SteadyTime
rosbag_fancy::PlaybackUI::seekForwardRequested
boost::signals2::signal< void()> seekForwardRequested
Definition: ui.h:54
rosbag_fancy::PlaybackUI::m_paused
bool m_paused
Definition: ui.h:78
rosbag_fancy::PlaybackUI::m_lastDrawTime
ros::WallTime m_lastDrawTime
Definition: ui.h:71
rosbag_fancy::PlaybackUI::m_endTime
ros::Time m_endTime
Definition: ui.h:66
rosbag_fancy::PlaybackUI::setPaused
void setPaused(bool paused)
Definition: ui.cpp:570
rosbag_fancy::PlaybackUI::draw
void draw()
Definition: ui.cpp:374
ros::WallTime
rosbag_fancy::UI::printLine
void printLine(unsigned int &lineCounter, const Args &... args)
Definition: ui.cpp:177
rosbag_fancy::BagWriter
Definition: bag_writer.h:23
rosbag_fancy::PlaybackUI
Definition: ui.h:42
rosbag_fancy::UI::m_bagWriter
BagWriter & m_bagWriter
Definition: ui.h:34
ros::Time
rosbag_fancy::UI::UI
UI(TopicManager &config, MessageQueue &queue, BagWriter &writer)
Definition: ui.cpp:157
rosbag_fancy::UI::m_queue
MessageQueue & m_queue
Definition: ui.h:33
args
rosbag_fancy::PlaybackUI::pauseRequested
boost::signals2::signal< void()> pauseRequested
Definition: ui.h:56
terminal.h
rosbag_fancy::TopicManager
Definition: topic_manager.h:101
rosbag_fancy::UI
Definition: ui.h:21
rosbag_fancy::UI::m_lastDrawTime
ros::WallTime m_lastDrawTime
Definition: ui.h:39


rosbag_fancy
Author(s):
autogenerated on Tue Feb 20 2024 03:20:59