graph/inc/graph/server/gui/mainwindow.h

47 lines
954 B
C++

#pragma once
#include <graph/server/gui/chart/chart.h>
#include <graph/server/plugin.h>
#include <qfiledialog.h>
#include <QMainWindow>
#include <QMenuBar>
#include <QStatusBar>
#include <QToolBar>
#include <cstddef>
#include <vector>
namespace Ui {
class MainWindow;
}
namespace Graph::GUI {
class MainWindow : public QMainWindow {
Q_OBJECT
private:
explicit MainWindow(QWidget* parent = nullptr);
public:
MainWindow(MainWindow& other) = delete;
void operator=(const MainWindow&) = delete;
~MainWindow();
static MainWindow* getInstance();
static void close();
void addData(unsigned int chartIndex, const char* seriesName, const point_t* points, int count);
private slots:
void on_action_Add_triggered();
void on_action_Load_triggered();
private:
static MainWindow* instance;
Ui::MainWindow* ui;
PluginModel* pluginModel;
std::vector<ChartWidget*> charts;
QFileDialog* fileDialog;
};
} // namespace Graph::GUI