ddt  1.0.0
ddtViewer.hpp
Go to the documentation of this file.
1 
20 #ifndef DDT_DATAVISUALISATION_DDTVIEWER_DDTVIEWER_H
21 #define DDT_DATAVISUALISATION_DDTVIEWER_DDTVIEWER_H
22 
23 #include <QMainWindow>
24 #include <QSettings>
25 #include <QByteArray>
26 
28 #include "ddt/ddtLogger.hpp"
29 #include "ddt/ddtRemoteControl.hpp"
30 
34 
35 namespace Ui {
36 
37 class DdtViewerForm;
38 }
39 
44 class DdtViewer : public QMainWindow {
45  Q_OBJECT
46 
47  public:
52  explicit DdtViewer(QWidget* parent = nullptr);
53 
59  virtual ~DdtViewer();
60 
68  bool Init(int argc, char* argv[]);
69 
75  void LastSegment(void);
76 
77  protected:
82 
87 
88  private:
89  Ui::DdtViewerForm* ui;
90  QSettings* main_settings;
91  QMap<QString, DdtDialog*> dialog_map;
92  QMenu* applicaiton_menu_bar;
93 
94  QString startup_filename;
95  QString startup_localbroker_uri;
96  QString startup_remotebroker_uri;
97  QString startup_data_stream;
98  QString startup_server_uri;
99  QString startup_image_scale;
100  bool startup_no_wait_new_data;
101  bool startup_timestamp;
102  QString startup_overlay_file;
103 
104  bool debug_log_enabled;
105 
106  boost::signals2::connection connection;
107 
108  public slots:
113  void HandleArguments();
114 
119  void ResetDockWidgetsLayout();
120 
121  private:
125  void ConnectWidgets();
126 
127  void ConnectWidgetDataStream();
128  void ConnectWidgetFlipRotate();
129  void ConnectWidgetPanning();
130  void ConnectWidgetMagnification();
131  void ConnectWidgetScaleButton();
132  void ConnectWidgetImageScale();
133  void ConnectWidgetCursorInfo();
134  void ConnectWidgetCutValues();
135  void ConnectWidgetColourmap();
136  void ConnectWidgetImageWidget();
137  void ConnectWidgetCubeNavigation();
138 
139  // Create instances of all supported dialogs
140  void CreateDialogs();
141 
142  // Create main menu display on MainWindow top area
143  void CreateMenuBar();
144 
145  const void RegisterMetaTypes();
146 
150  void ConnectRemoteControl();
151 
159  void ProcessRemoteCommand(const std::string& image_widget_name,
160  const std::string& command_name,
161  const std::vector<std::string>& command_arguments);
162 
163  protected:
169  void closeEvent(QCloseEvent* event) override;
170 
177  bool ParseCommandline(int argc, char* argv[]);
178 
179  signals:
184  void AttachDataFile(QString filename);
185 
190  void AttachDataStream(QString data_stream);
191 
195  void DetachStream();
196 
202  void PopulatePublisherListCombo(QString startup_localbroker_uri, QString startup_remotebroker_uri);
203 
208  void SetDataStream(QString startup_data_stream);
209 
214  void SetImageScale(const QString startup_image_scale);
215 
221  void SetNoWaitNewData(const bool startup_no_wait_new_data);
222 
227  void LoadOverlayFile(const QString startup_overlay_file);
228 };
229 
230 #endif // DDT_DATAVISUALISATION_DDTVIEWER_DDTVIEWER_H
231 
The DdtViewer class Main class of the DDT Standard Viewer.
Definition: ddtViewer.hpp:44
void HandleArguments()
HandleArguments Slot to handle commandline arguments after initialisation of the GUI.
Definition: ddtViewer.cpp:501
void SetImageScale(const QString startup_image_scale)
virtual ~DdtViewer()
Definition: ddtViewer.cpp:114
void ResetDockWidgetsLayout()
ResetDockWidgetsLayout Slot to handle the reconfiguration of dock widgets layout to default state.
Definition: ddtViewer.cpp:529
DdtViewer(QWidget *parent=nullptr)
Definition: ddtViewer.cpp:30
ddt::DdtLogger * logger
Definition: ddtViewer.hpp:81
bool Init(int argc, char *argv[])
Definition: ddtViewer.cpp:36
void closeEvent(QCloseEvent *event) override
closeEvent Close event which is triggered when the main window shell be closed.
Definition: ddtViewer.cpp:489
bool ParseCommandline(int argc, char *argv[])
Definition: ddtViewer.cpp:535
void SetNoWaitNewData(const bool startup_no_wait_new_data)
ddt::DdtRemoteControl * remote_control
Definition: ddtViewer.hpp:86
void PopulatePublisherListCombo(QString startup_localbroker_uri, QString startup_remotebroker_uri)
void LoadOverlayFile(const QString startup_overlay_file)
void LastSegment(void)
Definition: ddtViewer.cpp:483
void DetachStream()
void AttachDataStream(QString data_stream)
void AttachDataFile(QString filename)
void SetDataStream(QString startup_data_stream)
Definition: ddtLogger.hpp:51
Definition: ddtRemoteControl.hpp:54
Builder for the command line parser.
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:32