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/QLoggingCategory>
4#include <QtCore/QObject>
5#include <QtQmlIntegration/QtQmlIntegration>
6
7Q_DECLARE_LOGGING_CATEGORY(RCToParamDialogControllerLog)
8
9class Fact;
10class FactMetaData;
11
12class RCToParamDialogController : public QObject
13{
14 Q_OBJECT
15 QML_ELEMENT
16 Q_MOC_INCLUDE("Fact.h")
17 Q_PROPERTY(Fact *tuningFact READ tuningFact WRITE setTuningFact NOTIFY tuningFactChanged)
18 Q_PROPERTY(Fact *scale READ scale CONSTANT)
19 Q_PROPERTY(Fact *center READ center CONSTANT)
20 Q_PROPERTY(Fact *min READ min CONSTANT)
21 Q_PROPERTY(Fact *max READ max CONSTANT)
22 Q_PROPERTY(bool ready MEMBER _ready NOTIFY readyChanged) // true: editing can begin, false: still waiting for param update from vehicle
23
24public:
25 explicit RCToParamDialogController(QObject *parent = nullptr);
27
28 Fact *tuningFact() { return _tuningFact; }
29 Fact *scale() { return _scaleFact; }
30 Fact *center() { return _centerFact; }
31 Fact *min() { return _minFact; }
32 Fact *max() { return _maxFact; }
33 void setTuningFact(Fact *tuningFact);
34
35signals:
37 void readyChanged(bool ready);
38
39private slots:
40 void _parameterUpdated();
41
42private:
43 Fact *_tuningFact = nullptr;
44 Fact *_scaleFact = nullptr;
45 Fact *_centerFact = nullptr;
46 Fact *_minFact = nullptr;
47 Fact *_maxFact = nullptr;
48 bool _ready = false;
49
50 static QMap<QString, FactMetaData*> _metaDataMap;
51
52 static constexpr const char *_scaleFactName = "Scale";
53 static constexpr const char *_centerFactName = "CenterValue";
54 static constexpr const char *_minFactName = "MinValue";
55 static constexpr const char *_maxFactName = "MaxValue";
56};
Q_DECLARE_LOGGING_CATEGORY(AndroidSerialLog)
A Fact is used to hold a single value within the system.
Definition Fact.h:19
void tuningFactChanged(Fact *fact)
void readyChanged(bool ready)