QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
InternalTransition.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
QGCSignalTransition.h
"
4
5
#include <functional>
6
10
class
InternalTransition
:
public
QGCSignalTransition
11
{
12
Q_OBJECT
13
Q_DISABLE_COPY(
InternalTransition
)
14
15
public
:
16
using
Action
= std::function<void()>;
17
22
template
<
typename
Func>
23
InternalTransition
(
const
typename
QtPrivate::FunctionPointer<Func>::Object* sender,
24
Func signalFn,
Action
action =
nullptr
)
25
:
QGCSignalTransition
(sender, signalFn)
26
, _action(std::move(action))
27
{
28
setTransitionType(QAbstractTransition::InternalTransition);
29
// Internal transitions target the source state (stay in same state)
30
}
31
32
protected
:
33
void
onTransition
(QEvent* event)
override
;
34
35
private
:
36
Action
_action;
37
};
QGCSignalTransition.h
InternalTransition
Definition
InternalTransition.h:11
InternalTransition::Action
std::function< void()> Action
Definition
InternalTransition.h:16
InternalTransition::InternalTransition
InternalTransition(const typename QtPrivate::FunctionPointer< Func >::Object *sender, Func signalFn, Action action=nullptr)
Definition
InternalTransition.h:23
InternalTransition::onTransition
void onTransition(QEvent *event) override
Definition
InternalTransition.cc:4
QGCSignalTransition
Base class for signal-based transitions that need access to QGCStateMachine and Vehicle.
Definition
QGCSignalTransition.h:11
src
Utilities
StateMachine
Transitions
InternalTransition.h
Generated by
1.9.8