47 lines
1.0 KiB
C++
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
|