3#include <QtCore/QMutexLocker>
4#include <QtCore/QObject>
5#include <QtCore/QRecursiveMutex>
6#include <QtCore/QString>
7#include <QtCore/QVariant>
8#include <QtQmlIntegration/QtQmlIntegration>
20 Q_MOC_INCLUDE(
"FactValueSliderListModel.h")
36 Q_PROPERTY(QVariant max READ
cookedMax CONSTANT)
39 Q_PROPERTY(QVariant min READ
cookedMin CONSTANT)
46 Q_PROPERTY(QString
name READ
name CONSTANT)
67 explicit Fact(QObject *parent =
nullptr);
69 explicit Fact(
const Fact &other, QObject *parent =
nullptr);
105 QString
group()
const;
122 QString
label()
const;
180 void setEnumInfo(
const QStringList &strings,
const QVariantList &values);
215 void _checkForRebootMessaging();
Provides a list model of values for incrementing/decrementing the value of a Fact.
A Fact is used to hold a single value within the system.
bool _sendValueChangedSignals
QStringList bitmaskStrings() const
int valueIndex(const QString &value) const
Q_INVOKABLE FactValueSliderListModel * valueSliderModel()
void setName(const QString &name)
Generally you should not change the name of a fact. But if you know what you are doing,...
QString enumOrValueString()
void setMetaData(FactMetaData *metaData, bool setDefaultFromMetaData=false)
QStringList selectedBitmaskStrings() const
Provide a list of selected strings based on the fact value with the bitmaskString/bitmaskValues map.
QString cookedUnits() const
bool qgcRebootRequired() const
QString longDescription() const
bool _deferredValueChangeSignal
QVariant cookedValue() const
void sendValueChangedSignalsChanged(bool sendValueChangedSignals)
bool typeIsString() const
QString shortDescription() const
void containerSetRawValue(const QVariant &value)
Value coming from Vehicle. This does NOT send a _containerRawValueChanged signal.
void clearDeferredValueChangeSignal()
QVariantList enumValues() const
QString cookedMaxString() const
FactMetaData * metaData()
QVariant rawDefaultValue() const
bool valueEqualsDefault() const
FactMetaData::ValueType_t _type
double rawIncrement() const
bool maxIsDefaultForType() const
QString cookedMinString() const
QString cookedUserMinString() const
void setEnumInfo(const QStringList &strings, const QVariantList &values)
Generally this is done during parsing. But if you know what you are doing, you can.
void sendDeferredValueChangedSignal()
QVariant cookedUserMax() const
QString invalidValueString() const
void rawValueChanged(const QVariant &value)
QRecursiveMutex _rawValueMutex
QString cookedUserMaxString() const
static constexpr const char * kMissingMetadata
void bitmaskValuesChanged()
FactMetaData::ValueType_t type() const
void setSendValueChangedSignals(bool sendValueChangedSignals)
QVariant cookedUserMin() const
QString cookedDefaultValueString() const
const Fact & operator=(const Fact &other)
QVariant cookedMin() const
double cookedIncrement() const
void setRawValue(const QVariant &value)
QString rawValueString() const
void setEnumIndex(int index)
bool sendValueChangedSignals() const
bool defaultValueAvailable() const
QVariant rawUserMax() const
bool volatileValue() const
void forceSetRawValue(const QVariant &value)
Sets and sends new value to vehicle even if value is the same.
void bitmaskStringsChanged()
int decimalPlaces() const
QStringList enumStrings() const
QString cookedValueString() const
void containerRawValueChanged(const QVariant &value)
This signal is meant for use by Fact container implementations. Used to send changed values to vehicl...
QString rawValueStringFullPrecision() const
Returns the values as a string with full 18 digit precision if float/double.
QVariantList bitmaskValues() const
bool deferredValueChangeSignal() const
QVariant cookedMax() const
Q_INVOKABLE QString validate(const QString &cookedValue, bool convertOnly)
void setEnumStringValue(const QString &value)
Q_INVOKABLE QVariant clamp(const QString &cookedValue)
Convert and clamp value.
QString _variantToString(const QVariant &variant, int decimalPlaces) const
FactValueSliderListModel * _valueSliderModel
QVariant cookedDefaultValue() const
bool minIsDefaultForType() const
void _sendValueChangedSignal(const QVariant &value)
void setCookedValue(const QVariant &value)
QVariant rawUserMin() const
QString enumStringValue()
void vehicleUpdated(const QVariant &value)
Signalled when the param write ack comes back from the vehicle.
bool vehicleRebootRequired() const
QVariant rawValue() const
Value after translation.
void valueChanged(const QVariant &value)
This signal is only meant for use by the QT property system. It should not be connected to by client ...