ifw-fcf  2.0.0
mainwindow.h
Go to the documentation of this file.
1 
9 #ifndef DEVMGR_GUI_REDIS_MAINWINDOW_HPP_
10 #define DEVMGR_GUI_REDIS_MAINWINDOW_HPP_
11 
12 #include <any>
13 #include <QMainWindow>
14 #include <QTimer>
15 #include <QMap>
16 #include <QPair>
20 #include <Fcfif.hpp>
21 #include <Stdif.hpp>
22 
23 
24 #include <mal/Cii.hpp>
25 #include <mal/Mal.hpp>
26 #include <mal/utility/LoadMal.hpp>
27 #include <mal/rr/qos/ReplyTime.hpp>
28 
29 
30 #include <yaml-cpp/yaml.h>
31 
32 #include <rad/dbAdapterRedis.hpp>
33 
34 #include <QCloseEvent>
35 
36 class QGroupBox;
37 class QLabel;
38 class QTextEdit;
39 class QLineEdit;
40 class QPushButton;
41 class QCheckBox;
42 class QComboBox;
43 class QListWidget;
44 
45 class QThread;
46 class QString;
47 //class QMap;
48 
49 
50 namespace Ui {
51  class MainWindow;
52 }
53 
54 class MainWindow : public QMainWindow {
55  Q_OBJECT
56 
57 public:
58  MainWindow(QWidget *parent,
59  boost::asio::io_service& ios,
60  const QString uri);
61  virtual ~MainWindow();
62 
63  void closeEvent(QCloseEvent *event);
64 
65 private:
66  void ConfigureMenus();
67  void ConfigureHeaderGroup();
68  void ConfigureControlGroup();
69  void CreateDeviceGroup();
70 
71 
72 private slots:
73  void Update();
74  void UpdateData(const QString& topic,
75  const std::any& data);
76 
77  void OnFileSave();
78  void OnFileLoad();
79 
80  void OnFcsInit();
81  void OnFcsEnable();
82  void OnFcsDisable();
83  void OnFcsRecover();
84  void OnFcsReset();
85 
86 
87  void OnFcsExit();
88 
89  void OnDevicesSelectAll();
90  void OnDevicesDeselectAll();
91  void OnDevicesReset();
92  void OnDevicesInit();
93  void OnDevicesEnable();
94  void OnDevicesDisable();
95  void OnDevicesSimulate();
96  void OnDevicesStopSim();
97  void OnDevicesIgnore();
98  void OnDevicesStopIgn();
99 
100  // Handle button functionality
101  void HandleSetupButton();
102  void HandleDeviceSetup(QString name);
103  void HandleStopButton();
104 
105  void AddLogEntry(const QString& type,
106  const QString& cmd,
107  const QString& text);
108 
109 private:
110 
111  QTimer* m_timer_1s;
112  QLabel* m_wdg_state;
113  QLabel* m_wdg_substate;
114  QLabel* m_wdg_name;
115  QList<AbstractDevice*> m_dev_list;
116  YAML::Node m_config_node;
117  fcf::devmgr::common::Config m_config_file;
118  rad::DbAdapterRedis m_oldb;
119  Ui::MainWindow* m_ui;
120  QThread* m_subscribe_thread;
121  SubscribeCmdWorker* m_subscribe_worker;
122  QMap<QString, QPair<int, QString>> m_widget_map;
123  boost::asio::io_service& m_ios;
124  std::shared_ptr<::stdif::StdCmdsSync> m_mal_std;
125  std::shared_ptr<::fcfif::AppCmdsSync> m_mal_client;
126  elt::mal::Mal::Properties m_mal_properties;
127  elt::mal::Uri m_mal_uri;
128  elt::mal::Uri m_mal_uri2;
129 
130 };
131 
132 #endif // MAINWINDOW_H
config.hpp
Config class header file.
MainWindow::~MainWindow
virtual ~MainWindow()
Definition: mainwindow.cpp:137
Ui
Definition: mainwindow.h:50
MainWindow
Definition: mainwindow.h:54
SubscribeCmdWorker
Definition: subscribeCmdWorker.h:30
fcf::devmgr::common::Config
Definition: config.hpp:54
pymotgui.type
type
Definition: pymotgui.py:20
abstractDevice.h
WDGLIB AbstractDevice class declaration file.
subscribeCmdWorker.h
MSGLIB SubscribeCmdWorker class declaration file.
MainWindow::closeEvent
void closeEvent(QCloseEvent *event)
Definition: mainwindow.cpp:449
MainWindow::MainWindow
MainWindow(QWidget *parent, boost::asio::io_service &ios, const QString uri)
Definition: mainwindow.cpp:59