QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
AirframeComponentController.h
Go to the documentation of this file.
1#pragma once
2
3#include <QtCore/QObject>
4#include <QtCore/QVariant>
5#include <QtQmlIntegration/QtQmlIntegration>
6
8
11{
12 Q_OBJECT
13 QML_ELEMENT
14
15public:
18
19 Q_PROPERTY(bool showCustomConfigPanel MEMBER _showCustomConfigPanel NOTIFY showCustomConfigPanelChanged)
20
21 Q_PROPERTY(QVariantList airframeTypes MEMBER _airframeTypes CONSTANT)
22
23 Q_PROPERTY(QString currentAirframeType MEMBER _currentAirframeType CONSTANT)
24 Q_PROPERTY(QString currentVehicleName MEMBER _currentVehicleName CONSTANT)
25 Q_PROPERTY(int currentVehicleIndex MEMBER _currentVehicleIndex CONSTANT)
26
27 Q_PROPERTY(int autostartId MEMBER _autostartId NOTIFY autostartIdChanged)
28
29 Q_INVOKABLE void changeAutostart(void);
30
32 void setCurrentAirframeIndex(int newIndex);
33
34signals:
35 void autostartIdChanged(int newAutostartId);
37
38private slots:
39 void _waitParamWriteSignal(QVariant value);
40 void _rebootAfterStackUnwind(void);
41
42private:
43 static bool _typesRegistered;
44
45 QVariantList _airframeTypes;
46 QString _currentAirframeType;
47 QString _currentVehicleName;
48 int _currentVehicleIndex;
49 int _autostartId;
50 bool _showCustomConfigPanel;
51 int _waitParamWriteSignalCount;
52};
53
54class Airframe : public QObject
55{
56 Q_OBJECT
57 QML_ELEMENT
58 QML_UNCREATABLE("")
59
60public:
61 Airframe(const QString& name, int autostartId, QObject* parent = nullptr);
62 ~Airframe();
63
64 Q_PROPERTY(QString text MEMBER _name CONSTANT)
65 Q_PROPERTY(int autostartId MEMBER _autostartId CONSTANT)
66
67private:
68 QString _name;
70};
71
72class AirframeType : public QObject
73{
74 Q_OBJECT
75 QML_ELEMENT
76 QML_UNCREATABLE("")
77
78public:
79 AirframeType(const QString& name, const QString& imageResource, QObject* parent = nullptr);
81
82 Q_PROPERTY(QString name MEMBER _name CONSTANT)
83 Q_PROPERTY(QString imageResource MEMBER _imageResource CONSTANT)
84 Q_PROPERTY(QVariantList airframes MEMBER _airframes CONSTANT)
85
86 void addAirframe(const QString& name, int autostartId);
87
88private:
89 QString _name;
90 QString _imageResource;
91 QVariantList _airframes;
92};
MVC Controller for AirframeComponent.qml.
void showCustomConfigPanelChanged(bool show)
bool showCustomConfigPanel MEMBER _showCustomConfigPanel NOTIFY showCustomConfigPanelChanged(QVariantList airframeTypes MEMBER _airframeTypes CONSTANT) 1(QString currentAirframeType MEMBER _currentAirframeType CONSTANT) 1(QString currentVehicleName MEMBER _currentVehicleName CONSTANT) 1(int currentVehicleIndex MEMBER _currentVehicleIndex CONSTANT) 1(int autostartId MEMBER _autostartId NOTIFY autostartIdChanged) 1 void changeAutostart(void)
void autostartIdChanged(int newAutostartId)
void setCurrentAirframeIndex(int newIndex)
QString name MEMBER _name CONSTANT(QString imageResource MEMBER _imageResource CONSTANT) 1(QVariantList airframes MEMBER _airframes CONSTANT) void addAirframe(const QString &name
QString name MEMBER _name int autostartId
QString text MEMBER _name CONSTANT(int autostartId MEMBER _autostartId CONSTANT) private int _autostartId
Used for handling missing Facts from C++ code.