-
Notifications
You must be signed in to change notification settings - Fork 6
/
VehicleComponent.h
44 lines (32 loc) · 1.28 KB
/
VehicleComponent.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#ifndef VEHICLECOMPONENT_H
#define VEHICLECOMPONENT_H
#include <QObject>
#include <QStringList>
#include <QVariant>
class PX4AutopilotPlugin;
class VehicleComponent : public QObject
{
Q_OBJECT
public:
VehicleComponent(PX4AutopilotPlugin* autopilot, QObject *parent = 0);
~VehicleComponent();
virtual QString name(void) const = 0;
virtual QString iconResource(void) const = 0;
virtual bool requiresSetup(void) const = 0;
virtual QStringList setupComplete(void) const = 0;
/// @return true: Setup panel can be shown while vehicle is armed
//virtual bool allowSetupWhileArmed(void) const;
/// @brief Returns an list of parameter names for which a change should cause the setupCompleteChanged
/// signal to be emitted. Last element is signalled by NULL.
virtual QStringList setupCompleteChangedTriggerList(void) const = 0;
/// Should be called after the component is created (but not in constructor) to setup the
/// signals which are used to track parameter changes which affect setupComplete state.
void setupTriggerSignals(void);
signals:
//void setupCompleteChanged(bool setupComplete);
public slots:
void _triggerUpdated(QVariant value);
protected:
PX4AutopilotPlugin* _autopilot;
};
#endif // VEHICLECOMPONENT_H