#ifndef ANIMHANDLER_H #define ANIMHANDLER_H #include <QThread> #include <QDebug> #include <QFile> #include "animation.h" #include "spisender.h" class AnimHandler: public QThread { Q_OBJECT void run() override; private: uint32_t progress = 0; bool exitThread = false; enum Mode {STOP=0, RUN, PAUSE}; enum Mode mode = STOP; enum Mode lastmode = mode; Animation anim; SpiSender spisender; public: AnimHandler(); void openFile(const QString filepath); public slots: void start(); void pause(); void stop(); void enableExit(); signals: void onPaused(); void onStarted(); void onStoped(); void progressUpdate(uint32_t progress); void resultReady(const QString &result); }; class Alma: public QObject { Q_OBJECT AnimHandler* animhandler; public: Alma() { animhandler = new AnimHandler; connect(this, &Alma::exit, animhandler, &AnimHandler::enableExit); animhandler->start(); emit exit(); } ~Alma() { } signals: void exit(); }; #endif // ANIMHANDLER_H