9#include <QtQml/QQmlEngine>
20 _vehicle = MultiVehicleManager::instance()->offlineEditingVehicle();
23 _missingParametersTimer.setInterval(500);
24 _missingParametersTimer.setSingleShot(
true);
25 (void) connect(&_missingParametersTimer, &QTimer::timeout,
this, &FactPanelController::_checkForMissingParameters);
28FactPanelController::~FactPanelController()
39 qgcApp()->reportMissingParameter(componentId, name);
40 qCWarning(FactPanelControllerLog) <<
"Missing parameter:" << componentId << name;
45 bool noMissingFacts =
true;
47 for (
const QString &name : names) {
50 noMissingFacts =
false;
54 return noMissingFacts;
57Fact *FactPanelController::getParameterFact(
int componentId,
const QString &name,
bool reportMissing)
const
61 QQmlEngine::setObjectOwnership(fact, QQmlEngine::CppOwnership);
72bool FactPanelController::parameterExists(
int componentId,
const QString &name)
const
77void FactPanelController::getMissingParameters(
const QStringList &rgNames)
79 for (
const QString &name: rgNames) {
80 _missingParameterWaitList.append(name);
84 _missingParametersTimer.start();
87void FactPanelController::_checkForMissingParameters()
89 const QStringList waitList = _missingParameterWaitList;
90 for (
const QString &name: waitList) {
92 (void) _missingParameterWaitList.removeOne(name);
96 if (_missingParameterWaitList.isEmpty()) {
99 _missingParametersTimer.start();
#define QGC_LOGGING_CATEGORY(name, categoryStr)
Used for handling missing Facts from C++ code.
bool _allParametersExists(int componentId, const QStringList &names) const
void _reportMissingParameter(int componentId, const QString &name) const
Report a missing parameter.
void missingParametersAvailable()
A Fact is used to hold a single value within the system.
bool parameterExists(int componentId, const QString ¶mName) const
Fact * getParameter(int componentId, const QString ¶mName)
static constexpr int defaultComponentId
void refreshParameter(int componentId, const QString ¶mName)
Request a refresh on the specific parameter.
int defaultComponentId() const
ParameterManager * parameterManager()