Chromophant/mainwindow.h
2025-09-24 20:28:18 +02:00

50 lines
1.2 KiB
C++

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QSettings>
#include "shimlccontroller.h"
#include "systemconfiguration.h"
#include "connectionconfiguration.h"
#include "zoomablechart.h"
#include "zoomablechartview.h"
#include "viewdebugstatus.h"
#include "QtWaitingSpinner/waitingspinnerwidget.h"
#include <QLineSeries>
QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
QSettings settings{"Greyhash", "QtChroma"};
Ui::MainWindow *ui;
ShimLCController ctrl{this};
SystemConfiguration systemConfigWindow{&ctrl, this};
ConnectionConfiguration connConf{&settings, &ctrl, this};
ViewDebugStatus vdebug{};
ZoomableChart* mainChart = nullptr;
WaitingSpinnerWidget* spinner = nullptr;
QLineSeries* series = new QLineSeries;
float graph_bounds[2] = {1e12,-1e12};
QTimer statusTimer = QTimer(this);
private slots:
void updateConnectionState(QAbstractSocket::SocketState state);
void reconnect();
void updateAvDevices();
void updateStatus();
void updateSeries();
};
#endif // MAINWINDOW_H