QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
RCToParamDialogController.h
Go to the documentation of this file.
1#pragma once
2
3#include <QtCore/QObject>
4#include <QtQmlIntegration/QtQmlIntegration>
5
6class Fact;
7class FactMetaData;
8
9class RCToParamDialogController : public QObject
10{
11 Q_OBJECT
12 QML_ELEMENT
13 Q_MOC_INCLUDE("Fact.h")
14 Q_PROPERTY(Fact *tuningFact READ tuningFact WRITE setTuningFact NOTIFY tuningFactChanged)
15 Q_PROPERTY(Fact *scale READ scale CONSTANT)
16 Q_PROPERTY(Fact *center READ center CONSTANT)
17 Q_PROPERTY(Fact *min READ min CONSTANT)
18 Q_PROPERTY(Fact *max READ max CONSTANT)
19 Q_PROPERTY(bool ready MEMBER _ready NOTIFY readyChanged) // true: editing can begin, false: still waiting for param update from vehicle
20
21public:
22 explicit RCToParamDialogController(QObject *parent = nullptr);
24
25 Fact *tuningFact() { return _tuningFact; }
26 Fact *scale() { return _scaleFact; }
27 Fact *center() { return _centerFact; }
28 Fact *min() { return _minFact; }
29 Fact *max() { return _maxFact; }
31
32signals:
34 void readyChanged(bool ready);
35
36private slots:
37 void _parameterUpdated();
38
39private:
40 Fact *_tuningFact = nullptr;
41 Fact *_scaleFact = nullptr;
42 Fact *_centerFact = nullptr;
43 Fact *_minFact = nullptr;
44 Fact *_maxFact = nullptr;
45 bool _ready = false;
46
47 static QMap<QString, FactMetaData*> _metaDataMap;
48
49 static constexpr const char *_scaleFactName = "Scale";
50 static constexpr const char *_centerFactName = "CenterValue";
51 static constexpr const char *_minFactName = "MinValue";
52 static constexpr const char *_maxFactName = "MaxValue";
53};
Holds the meta data associated with a Fact.
A Fact is used to hold a single value within the system.
Definition Fact.h:17
void tuningFactChanged(Fact *fact)
void readyChanged(bool ready)