Files
RoboGlue_QT/init/roboglue_init.h
2019-10-21 11:37:31 +02:00

62 lines
1.5 KiB
C++

#ifndef ROBOGLUE_INIT_H
#define ROBOGLUE_INIT_H
#include <QMainWindow>
#include <QThread>
#include <QSettings>
#include <spdlog/logger.h>
#include <spdlog/sinks/stdout_sinks.h>
#include <shared/roboglue_shared.h>
#include <gui/roboglue_gui.h>
#include <com/roboglue_com.h>
#include <track/roboglue_track.h>
#include <main/roboglue_main.h>
namespace Ui {
class RoboGlue_INIT;
}
class RoboGlue_INIT : public QMainWindow
{
Q_OBJECT
public:
explicit RoboGlue_INIT(QWidget *parent = nullptr, const char* settingsFile = nullptr);
virtual ~RoboGlue_INIT();
private:
shared_ptr<spdlog::logger> inilog;
Ui::RoboGlue_INIT *ui;
QSettings *settings;
RoboGlue_SHARED *sharedmem;
RoboGlue_COM *robot = nullptr;
RoboGlue_GUI *gui = nullptr;
RoboGlue_MAIN *main = nullptr;
RoboGlue_TRACK *track = nullptr;
private slots:
// modules heartbeat slots
void on_robotHeartBeat();
void on_guiHeartBeat();
void on_mainHeartBeat();
void on_trackHeartBeat();
// button slots
void on_btn_comStart_clicked();
void on_btn_guiStart_clicked();
void on_btn_comStop_clicked();
void on_btn_guistop_clicked();
void on_btn_mainStart_clicked();
void on_btn_trackStart_clicked();
void on_btn_mainStop_clicked();
void on_btn_trackStop_clicked();
// checkbox slots
void on_chk_comAuto_clicked(bool checked);
void on_chk_guiAuto_clicked(bool checked);
void on_chk_trackAuto_clicked(bool checked);
void on_chk_mainAuto_clicked(bool checked);
};
#endif // ROBOGLUE_INIT_H