ddt 1.4.0
 
Loading...
Searching...
No Matches
ddtViewer.hpp
Go to the documentation of this file.
1
10
11#ifndef DDT_DATAVISUALISATION_DDTVIEWER_DDTVIEWER_H
12#define DDT_DATAVISUALISATION_DDTVIEWER_DDTVIEWER_H
13
14#include <QMainWindow>
15#include <QSettings>
16
17#include "ddt/ddtLogger.hpp"
20
24
25#include "ui_ddtviewerform.h"
26
27
28namespace Ui {
29
30class DdtViewerForm;
31}
32
37class DdtViewer : public QMainWindow {
38 Q_OBJECT
39
40 public:
46 explicit DdtViewer(const char* exec_path, QWidget* parent = nullptr);
47
53 virtual ~DdtViewer();
54
58 ddt::CommandLineParserResult ParseCommandLine(int argc, char* argv[]);
59
63 void Init();
64
70 void LastSegment(void);
71
83 void connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member);
84 void connect(const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method);
85 void connect(const QObject *sender, const char *signal, const char *member);
86
97 template <typename Func1, typename Func2>
98 void connect(const typename QtPrivate::FunctionPointer<Func1>::Object *sender, Func1 signal, const QObject *context, Func2 slot);
99
100 protected:
105
109 std::unique_ptr<ddt::DdtRemoteControl> remote_control;
110
111 private:
112 Ui::DdtViewerForm ui;
113 QSettings main_settings;
114 QMap<QString, DdtDialog*> dialog_map;
115
116 QString startup_filename;
117 QString startup_localbroker_uri;
118 QString startup_remotebroker_uri;
119 QString startup_data_stream;
120 QString startup_server_uri;
121 QString startup_image_scale;
122 bool startup_no_wait_new_data = false;
123 bool startup_timestamp = false;
124 QString startup_overlay_file;
125
126 bool debug_log_enabled = false;
127
128 boost::signals2::connection connection;
129
130 public slots:
135 void HandleArguments();
136
142
143 private:
147 void ConnectWidgets();
148
149 void ConnectWidgetDataStream();
150 void ConnectWidgetFlipRotate();
151 void ConnectWidgetPanning();
152 void ConnectWidgetMagnification();
153 void ConnectWidgetScaleButton();
154 void ConnectWidgetImageScale();
155 void ConnectWidgetCursorInfo();
156 void ConnectWidgetCutValues();
157 void ConnectWidgetColourmap();
158 void ConnectWidgetImageWidget();
159 void ConnectWidgetCubeNavigation();
160
161 // Create instances of all supported dialogs
162 void CreateDialogs();
163
164 // Create main menu display on MainWindow top area
165 void CreateMenuBar();
166
170 void ConnectRemoteControl();
171
179 void ProcessRemoteCommand(const std::string& image_widget_name,
180 const std::string& command_name,
181 const std::vector<std::string>& command_arguments);
182
183 protected:
189 void closeEvent(QCloseEvent* event) override;
190
191 signals:
196 void AttachDataFile(QString filename);
197
202 void AttachDataStream(QString data_stream);
203
208
214 void PopulatePublisherListCombo(QString startup_localbroker_uri, QString startup_remotebroker_uri);
215
220 void SetDataStream(QString startup_data_stream);
221
226 void SetImageScale(const QString startup_image_scale);
227
233 void SetNoWaitNewData(const bool startup_no_wait_new_data);
234
239 void LoadOverlayFile(const QString startup_overlay_file);
240};
241
252template <typename Func1, typename Func2>
253void DdtViewer::connect(const typename QtPrivate::FunctionPointer<Func1>::Object *sender, Func1 signal, const QObject *context, Func2 slot) {
254 QObject::connect(sender, signal, context, slot, Qt::QueuedConnection);
255}
256
257#endif // DDT_DATAVISUALISATION_DDTVIEWER_DDTVIEWER_H
void HandleArguments()
HandleArguments Slot to handle commandline arguments after initialisation of the GUI.
Definition ddtViewer.cpp:437
ddt::DdtLogger logger
Definition ddtViewer.hpp:104
std::unique_ptr< ddt::DdtRemoteControl > remote_control
Definition ddtViewer.hpp:109
void SetImageScale(const QString startup_image_scale)
virtual ~DdtViewer()
Definition ddtViewer.cpp:27
void ResetDockWidgetsLayout()
ResetDockWidgetsLayout Slot to handle the reconfiguration of dock widgets layout to default state.
Definition ddtViewer.cpp:467
void closeEvent(QCloseEvent *event) override
closeEvent Close event which is triggered when the main window shell be closed.
Definition ddtViewer.cpp:427
DdtViewer(const char *exec_path, QWidget *parent=nullptr)
Definition ddtViewer.cpp:21
void SetNoWaitNewData(const bool startup_no_wait_new_data)
void PopulatePublisherListCombo(QString startup_localbroker_uri, QString startup_remotebroker_uri)
ddt::CommandLineParserResult ParseCommandLine(int argc, char *argv[])
Definition ddtViewer.cpp:33
void connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member)
connect Group of overloaded functions that use the QObject::connect method with the Qt::QueuedConnect...
Definition ddtViewer.cpp:479
void LoadOverlayFile(const QString startup_overlay_file)
void LastSegment(void)
Definition ddtViewer.cpp:421
void DetachStream()
void Init()
Definition ddtViewer.cpp:58
void AttachDataStream(QString data_stream)
void AttachDataFile(QString filename)
void SetDataStream(QString startup_data_stream)
Definition ddtLogger.hpp:43
Class for parsing command line arguments. The commandline parser shall parse the required arguments f...
DDT Dialogs. Factory class for the DDT dialogs. Factory class for the DDT dialogs.
DDT Dialog IDs. ID values for all used dialogs. IDs for the used dialogs.
DDT Dialogs. Base class for the DDT dialogs. Base class for the DDT dialogs.
Class to wrap the usage of log4cplus as logging utility. This file provides a wrapper class for the u...
DDT Remote Control. Remote control interface for the DDT GUIs. Library class for the remote control i...
Definition ddtTestViewer.hpp:22
CommandLineParserResult
Definition commandLineParser.hpp:29