62 lines
1.8 KiB
C++
62 lines
1.8 KiB
C++
#ifndef DISPLAY_H
|
|
#define DISPLAY_H
|
|
|
|
#include <QDialog>
|
|
#include <QVector>
|
|
#include <QRadioButton>
|
|
#include <QButtonGroup>
|
|
#include <QTextStream>
|
|
#include <QFile>
|
|
#include <QCheckBox>
|
|
|
|
namespace Ui {
|
|
class display;
|
|
}
|
|
|
|
class BPMDisplay : public QDialog
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit BPMDisplay(QWidget *parent = 0);
|
|
~BPMDisplay();
|
|
|
|
|
|
void plot(const QVector<unsigned short> &data);
|
|
void plot();
|
|
void setTitle(QString title);
|
|
|
|
QVector<unsigned short> buffer;
|
|
|
|
public slots:
|
|
void showEvent(QShowEvent *event);
|
|
void onButtonClicked(QAbstractButton *button);
|
|
void onSaveBackgroundClicked();
|
|
void onLoadBackgroundClicked();
|
|
void onCheckBoxStateChanged(int state);
|
|
void onSaveCalibrationClicked();
|
|
void onLoadCalibrationClicked();
|
|
void onCalibrationCheckBoxChanged(int state);
|
|
void onExpertModeStateChanged(int state);
|
|
|
|
protected:
|
|
int nrPoints = 0;
|
|
QVector<double> dataX;
|
|
QVector<double> dataY;
|
|
private:
|
|
Ui::display *ui;
|
|
QRadioButton *radioButtonFixedScale; // Pointer to the Fixed Scale radio button
|
|
QRadioButton *radioButtonAutoscale; // Pointer to the Autoscale radio button
|
|
QButtonGroup *buttonGroup;
|
|
QMap<QString, QVector<unsigned short>> backgroundDataMap; // Map to store background data for each plane
|
|
bool subtractBackground = false; // Flag to track if background subtraction is enabled
|
|
|
|
QMap<QString, QVector<unsigned short>> calibrationDataMap; // Map to store calibration data for each plane
|
|
bool applyCalibration = false; // Flag to track if calibration should be applied
|
|
QVector<unsigned short> calibrationData; // Stores the loaded calibration data
|
|
QCheckBox *checkBoxExpertMode; // Expert Mode checkbox
|
|
bool expertModeEnabled = false; // Flag to track if expert mode is enabled
|
|
};
|
|
|
|
#endif // DISPLAY_H
|