Files
GUI/src/utilities/ScanProcessSequence.h

47 lines
1.0 KiB
C
Raw Normal View History

2024-05-24 13:49:54 +08:00
#ifndef SCANPROCESSSEQUENCE_H
#define SCANPROCESSSEQUENCE_H
#include <QObject>
#include <QStack>
2024-05-24 13:49:54 +08:00
enum ScanPosition
{
Left = 0, Right
};
class AccessionInformation;
2024-05-24 13:49:54 +08:00
class ScanProcessSequence : public QObject
{
Q_OBJECT
public:
static ScanProcessSequence* getInstance();
void pushAccession(AccessionInformation* aAccession, ScanPosition aPosition);
2024-05-24 13:49:54 +08:00
ScanPosition popPosition();
ScanPosition topPosition();
QPair<AccessionInformation*,ScanPosition> topAccession();
2024-05-24 13:49:54 +08:00
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();
2024-05-24 13:49:54 +08:00
private slots:
void updateAutoLocatePosition(int aX, int aY, int aZ);
private:
ScanProcessSequence(QObject* aParent = nullptr);
QStack<QPair<AccessionInformation*, ScanPosition>> mScanProtocol;
2024-05-24 13:49:54 +08:00
};
#endif // SCANPROCESSSEQUENCE_H