QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
HealthAndArmingCheckReport.h
Go to the documentation of this file.
1#pragma once
2
4
5#include <QtCore/QObject>
6#include <QtCore/QString>
7
9
10class HealthAndArmingCheckProblem : public QObject
11{
12 Q_OBJECT
13public:
14 HealthAndArmingCheckProblem(const QString& message, const QString& description, const QString& severity)
15 : _message(message), _description(description), _severity(severity) {}
16
17 Q_PROPERTY(QString message READ message CONSTANT)
18 Q_PROPERTY(QString description READ description CONSTANT)
19 Q_PROPERTY(QString severity READ severity CONSTANT)
20 Q_PROPERTY(bool expanded READ expanded WRITE setExpanded NOTIFY expandedChanged)
21
22 const QString& message() const { return _message; }
23 const QString& description() const { return _description; }
24 const QString& severity() const { return _severity; }
25
26 bool expanded() const { return _expanded; }
27 void setExpanded(bool expanded) { _expanded = expanded; emit expandedChanged(); }
28
29signals:
31private:
32 const QString _message;
33 const QString _description;
34 const QString _severity;
35 bool _expanded{false};
36};
37
38
39class HealthAndArmingCheckReport : public QObject
40{
41 Q_OBJECT
42 Q_MOC_INCLUDE("QmlObjectListModel.h")
43public:
44
45 Q_PROPERTY(bool supported READ supported NOTIFY updated)
46 Q_PROPERTY(bool canArm READ canArm NOTIFY updated)
47 Q_PROPERTY(bool canTakeoff READ canTakeoff NOTIFY updated)
48 Q_PROPERTY(bool canStartMission READ canStartMission NOTIFY updated)
49 Q_PROPERTY(bool hasWarningsOrErrors READ hasWarningsOrErrors NOTIFY updated)
50 Q_PROPERTY(QString gpsState READ gpsState NOTIFY updated)
52
53 HealthAndArmingCheckReport(QObject *parent = nullptr);
55
56 bool supported() const { return _supported; }
57 bool canArm() const { return _canArm; }
58 bool canTakeoff() const { return _canTakeoff; }
59 bool canStartMission() const { return _canStartMission; }
60 bool hasWarningsOrErrors() const { return _hasWarningsOrErrors; }
61
62 const QString& gpsState() const { return _gpsState; }
63
64 QmlObjectListModel* problemsForCurrentMode() { return _problemsForCurrentMode; }
65
66 void update(uint8_t compid, const events::HealthAndArmingChecks::Results& results, int flightModeGroup);
67
68 void setModeGroups(int takeoffModeGroup, int missionModeGroup);
69
70signals:
71 void updated();
72
73private:
74 bool _supported{false};
75 bool _canArm{true};
76 bool _canTakeoff{true};
77 bool _canStartMission{true};
78 bool _hasWarningsOrErrors{false};
79 QString _gpsState{};
80
81 int _takeoffModeGroup{-1};
82 int _missionModeGroup{-1};
83
84 QmlObjectListModel* _problemsForCurrentMode = nullptr;
85};
QString message READ message CONSTANT(QString description READ description CONSTANT) 1(QString severity READ severity CONSTANT) 1(bool expanded READ expanded WRITE setExpanded NOTIFY expandedChanged) const QString &message() const
HealthAndArmingCheckProblem(const QString &message, const QString &description, const QString &severity)
QmlObjectListModel * problemsForCurrentMode()
void setModeGroups(int takeoffModeGroup, int missionModeGroup)
void update(uint8_t compid, const events::HealthAndArmingChecks::Results &results, int flightModeGroup)