status light fixed and stop btn fixed

This commit is contained in:
aljazbrodar. 2025-12-11 07:38:13 +01:00
parent 87b9c1dc62
commit 55a126dcca
10 changed files with 197 additions and 129 deletions

View file

@ -4,28 +4,25 @@
#include <QObject>
class Machine;
class QTimer;
class Executor : public QObject
{
Q_OBJECT
private:
bool running = false;
bool ended = false;
Machine* machine;
public:
Executor();
Executor(Machine* m);
bool hasEnded();
explicit Executor(Machine* m = nullptr);
~Executor() override;
bool hasEnded() const;
void resetProgram();
public slots:
// Zažene oz. nadaljuje samodejno izvajanje.
void start();
// Zaustavi samodejno izvajanje.
void stop();
// Pove, ali je samodejno izvajanje trenutno v teku.
bool isRunning();
// Izvede en ukaz.
void step();
@ -34,6 +31,17 @@ signals:
void signalEnded();
void signalStarted();
void signalStopped();
private slots:
void runStep(); // povezan s QTimer::timeout
private:
Machine* machine = nullptr;
QTimer* timer = nullptr;
bool running = false;
bool ended = false;
bool stepping = false; // prepreči reentrant step
int intervalMs = 500; // privzeta frekvenca izvajanja v ms
};
#endif // EXECUTOR_H