2019-06-12 14:40:04 +02:00

92 lines
1.8 KiB
C++
Executable File

#pragma once
#include "ui_form_tab_measurement.h"
class qDrawPlot;
class multiSlsDetector;
class QStandardItemModel;
class qTabMeasurement:public QWidget, private Ui::TabMeasurementObject{
Q_OBJECT
public:
qTabMeasurement(QWidget *parent, multiSlsDetector* detector, qDrawPlot* plot);
~qTabMeasurement();
bool GetStartStatus();
void ClentStartAcquisition();
int GetProgress();
void Refresh();
public slots:
void SetCurrentMeasurement(int val);
void StopAcquisition();
void UpdateFinished();
private slots:
void SetTimingMode(int val);
void SetNumMeasurements(int val);
void SetNumFrames(int val);
void SetNumTriggers(int val);
void SetNumSamples(int val);
void SetExposureTime();
void SetAcquisitionPeriod();
void SetDelay();
void SetFileWrite(bool val);
void SetFileName();
void SetRunIndex(int val);
void UpdateProgress();
void StartAcquisition();
private:
void SetupWidgetWindow();
void Initialization();
void SetupTimingMode();
void EnableWidgetsforTimingMode();
void GetTimingMode();
void GetNumMeasurements();
void GetNumFrames();
void GetNumTriggers();
void GetNumSamples();
void GetExposureTime();
void GetAcquisitionPeriod();
void CheckAcqPeriodGreaterThanExp();
void GetDelay();
void GetFileWrite();
void GetFileName();
void GetRunIndex();
void ResetProgress();
void Enable(bool enable);
int VerifyOutputDirectoryError();
signals:
void StartSignal();
void StopSignal();
void CheckPlotIntervalSignal();
private:
multiSlsDetector *myDet;
qDrawPlot *myPlot;
// enum for the timing mode
enum{
AUTO,
TRIGGER,
GATED,
BURST_TRIGGER,
NUMTIMINGMODES
};
QTimer *progressTimer;
//tool tip variables
QString acqPeriodTip;
QString errPeriodTip;
QPalette red;
bool delayImplemented;
bool sampleImplemented;
};