status light fixed and stop btn fixed
This commit is contained in:
parent
87b9c1dc62
commit
55a126dcca
10 changed files with 197 additions and 129 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue