rosout_publisher.h
Go to the documentation of this file.
1 #ifndef ROSOUT_PUBLISHER_ROS_H
2 #define ROSOUT_PUBLISHER_ROS_H
3 
4 #include <QObject>
5 #include <QtPlugin>
6 #include <QMainWindow>
7 #include <map>
8 #include <ros/ros.h>
10 #include <rosgraph_msgs/Log.h>
11 #include "logwidget.hpp"
12 
13 using namespace PJ;
14 
15 class RosoutWindow : public QMainWindow
16 {
17  Q_OBJECT
18 public:
19  RosoutWindow() : QMainWindow()
20  {
21  }
22  ~RosoutWindow() override = default;
23 
24  void closeEvent(QCloseEvent*) override
25  {
26  emit closed();
27  }
28 signals:
29  void closed();
30 };
31 
33 {
34  Q_OBJECT
35  Q_PLUGIN_METADATA(IID "facontidavide.PlotJuggler3.StatePublisher")
36  Q_INTERFACES(PJ::StatePublisher)
37 
38 public:
40 
41  virtual void updateState(double current_time) override;
42  virtual const char* name() const override
43  {
44  return "ROS /rosout Visualization";
45  }
46  virtual ~RosoutPublisher();
47 
48  virtual bool enabled() const override
49  {
50  return _enabled;
51  }
52 
53  virtual void play(double interval) override
54  {
55  // TODO
56  }
57 
58 public slots:
59  virtual void setEnabled(bool enabled) override;
60 
61 private slots:
62 
63  void onWindowClosed();
64 
65 private:
66  bool _enabled;
67  int64_t _minimum_time_usec, _maximum_time_usec;
68 
71 
72  std::vector<const PlotDataAny*> findRosoutTimeseries();
73  void syncWithTableModel(const std::vector<const PlotDataAny*>& logs_timeseries);
74 
76 signals:
77  void timeRangeChanged(TimePoint time_min, TimePoint time_max);
78 };
79 
80 #endif // ROSOUT_PUBLISHER_ROS_H
TimePoint
std::chrono::high_resolution_clock::time_point TimePoint
Definition: logs_table_model.hpp:17
RosoutPublisher::play
virtual void play(double interval) override
Definition: rosout_publisher.h:53
ros.h
RosoutPublisher::_enabled
bool _enabled
Definition: rosout_publisher.h:66
RosoutPublisher::_log_widget
rqt_console_plus::LogWidget * _log_widget
Definition: rosout_publisher.h:70
RosoutPublisher::_tablemodel
LogsTableModel * _tablemodel
Definition: rosout_publisher.h:69
LogsTableModel
Definition: logs_table_model.hpp:20
RosoutWindow::RosoutWindow
RosoutWindow()
Definition: rosout_publisher.h:19
RosoutWindow::closeEvent
void closeEvent(QCloseEvent *) override
Definition: rosout_publisher.h:24
RosoutPublisher::_minimum_time_usec
int64_t _minimum_time_usec
Definition: rosout_publisher.h:67
RosoutWindow
Definition: rosout_publisher.h:15
statepublisher_base.h
RosoutPublisher
Definition: rosout_publisher.h:32
logwidget.hpp
rqt_console_plus::LogWidget
Definition: logwidget.hpp:32
RosoutPublisher::name
virtual const char * name() const override
Definition: rosout_publisher.h:42
PJ
PJ::StatePublisher
RosoutPublisher::enabled
virtual bool enabled() const override
Definition: rosout_publisher.h:48
RosoutPublisher::_log_window
RosoutWindow * _log_window
Definition: rosout_publisher.h:75


plotjuggler_ros
Author(s): Davide Faconti
autogenerated on Sat May 24 2025 02:24:01