Files
GUI/src/utilities/ScanProcessSequence.h

47 lines
1.0 KiB
C++

#ifndef SCANPROCESSSEQUENCE_H
#define SCANPROCESSSEQUENCE_H
#include <QObject>
#include <QStack>
enum ScanPosition
{
Left = 0, Right
};
class AccessionInformation;
class ScanProcessSequence : public QObject
{
Q_OBJECT
public:
static ScanProcessSequence* getInstance();
void pushAccession(AccessionInformation* aAccession, ScanPosition aPosition);
ScanPosition popPosition();
ScanPosition topPosition();
QPair<AccessionInformation*,ScanPosition> topAccession();
int getScanPositionSize();
void clear();
signals:
void startAutoLocate();
void stopAutoLocate();
void quitAutoLocate();
void startFullScan();
void fullScanDataExport();
void autoLocateXYUpdated(int aX, int aY);
void autoLocateZUpdated(int aZ);
void ScanProcessSequenceFinished();
private slots:
void updateAutoLocatePosition(int aX, int aY, int aZ);
private:
ScanProcessSequence(QObject* aParent = nullptr);
QStack<QPair<AccessionInformation*, ScanPosition>> mScanProtocol;
};
#endif // SCANPROCESSSEQUENCE_H