QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
MachineEventTransition.h
Go to the documentation of this file.
1#pragma once
2
5
6#include <QtCore/QString>
7#include <functional>
8
13{
14 Q_OBJECT
15 Q_DISABLE_COPY(MachineEventTransition)
16
17public:
18 using Guard = std::function<bool(const QGCStateMachineEvent*)>;
19
23 MachineEventTransition(const QString& eventName, QAbstractState* target);
24
29 MachineEventTransition(const QString& eventName, QAbstractState* target, Guard guard);
30
31 QString eventName() const { return _eventName; }
32
34 QVariant eventData() const { return _lastEventData; }
35
36protected:
37 bool eventTest(QEvent* event) override;
38 void onTransition(QEvent* event) override;
39
40private:
41 QString _eventName;
42 Guard _guard;
43 QVariant _lastEventData;
44};
QVariant eventData() const
Access the event data from the last matched event.
bool eventTest(QEvent *event) override
std::function< bool(const QGCStateMachineEvent *)> Guard
void onTransition(QEvent *event) override
Base class for custom transitions that need access to QGCStateMachine and Vehicle.
Custom event for QGCStateMachine delayed/scheduled events.