ddt 1.4.0
 
Loading...
Searching...
No Matches
ddtDataStreamWidget.hpp
Go to the documentation of this file.
1
10
11#ifndef DDT_DATAVISUALISATION_DDTWIDGETS_DATASTREAMWIDGET_HPP
12#define DDT_DATAVISUALISATION_DDTWIDGETS_DATASTREAMWIDGET_HPP
13
14#include <QtUiPlugin/QDesignerExportWidget>
15#include <memory>
16
20#include "ddt/ddtLogger.hpp"
22
27class QDESIGNER_WIDGET_EXPORT DdtDataStreamWidget : public DdtWidget {
28 Q_OBJECT
29
30 public:
31 static constexpr unsigned NEW_DATA_WATCHDOG_TIMEOUT = 1000;
38 explicit DdtDataStreamWidget(QWidget* parent = nullptr);
39
44
49 void set_logger(ddt::DdtLogger* in_logger);
50
51 protected:
56
61
66
71
72 private:
73 QPushButton* button_refresh_datastreams;
74 QPushButton* button_subscriber_attach;
75 QPushButton* button_subscriber_detach;
76 QRadioButton* status_led;
77 QComboBox* combobox_publisher;
78 InactiveLineEdit* edit_status;
79
83 QCheckBox* checkbox_refresh_rate_enable;
84
88 QDoubleSpinBox* spinbox_refresh_rate_seconds;
89
93 QString stylesheet_attached;
97 QString stylesheet_detached;
101 QString stylesheet_reconnecting;
105 QString stylesheet_no_new_data;
109 QString stylesheet_error;
113 QString stylesheet_publisher_lost;
114
118 bool is_attached;
119
124 std::unique_ptr<QTimer> new_data_watchdog;
125
130 QString attached_status_text;
131
135 void Init();
136
140 void CreateWidget();
141
142 signals:
149 void AttachDataStream(QString data_stream_id);
150
155 void DetachDataStream(QString data_stream_id);
156
161 void LastBrokerConnection(QString data_stream_id);
162
172 void RefreshRateChanged(bool enabled, double interval_seconds);
173
174 public slots:
178 bool PopulatePublisherListCombo(QString localbroker_uri, QString remotebroker_uri);
179
180 protected slots:
184 void AttachDataStream();
185
189 void DetachDataStream();
190
194 void SetDataStream(QString startup_data_stream);
195
199 void CurrentStatus(QString stream_id, ConnectionStatus status);
200
204 void FlickerStatus();
205
210 void ConnectionLost();
211
215 void DisplayURIsDialog();
216
223};
224
225#endif // DDT_DATAVISUALISATION_DDTWIDGETS_DATASTREAMWIDGET_HPP
void DetachDataStream(QString data_stream_id)
void SetDataStream(QString startup_data_stream)
Definition ddtDataStreamWidget.cpp:243
void AttachDataStream(QString data_stream_id)
void EmitRefreshRateChanged()
Definition ddtDataStreamWidget.cpp:377
void LastBrokerConnection(QString data_stream_id)
virtual ~DdtDataStreamWidget()
void FlickerStatus()
Definition ddtDataStreamWidget.cpp:357
void CurrentStatus(QString stream_id, ConnectionStatus status)
Definition ddtDataStreamWidget.cpp:288
void set_logger(ddt::DdtLogger *in_logger)
Definition ddtDataStreamWidget.cpp:238
QString current_remotebroker_uri
Definition ddtDataStreamWidget.hpp:70
QString current_localbroker_uri
Definition ddtDataStreamWidget.hpp:65
ddt::DdtLogger * logger
Definition ddtDataStreamWidget.hpp:55
bool PopulatePublisherListCombo(QString localbroker_uri, QString remotebroker_uri)
Definition ddtDataStreamWidget.cpp:178
void ConnectionLost()
Definition ddtDataStreamWidget.cpp:365
void RefreshRateChanged(bool enabled, double interval_seconds)
DdtDataStreamWidget(QWidget *parent=nullptr)
Definition ddtDataStreamWidget.cpp:22
static constexpr unsigned NEW_DATA_WATCHDOG_TIMEOUT
Definition ddtDataStreamWidget.hpp:31
void DisplayURIsDialog()
Definition ddtDataStreamWidget.cpp:169
int last_index_selected
Definition ddtDataStreamWidget.hpp:60
DdtWidget(QWidget *parent=nullptr)
DdtWidget.
Definition ddtWidget.cpp:19
Definition ddtDatavisualisationUtils.hpp:18
Definition ddtLogger.hpp:43
Base class for DdtDataPublishers and DdtDataSubscribers. This is the base class for DdtDataPublishers...
DDT Utils. Definitions for the data visualisation. Utilities for the DDT Datavisualisation.
ConnectionStatus
Definition ddtDatavisualisationDefines.hpp:84
DDT Utils. Helper classes for DDT Datavisualisation. Utilities for the DDT Datavisualisation.
Class to wrap the usage of log4cplus as logging utility. This file provides a wrapper class for the u...
DDT Widgets. Base class for the DDT widgets. Base class for the DDT widgets.