9#include <QtQml/QQmlEngine>
23 _missingParametersTimer.setInterval(500);
24 _missingParametersTimer.setSingleShot(
true);
25 (void) connect(&_missingParametersTimer, &QTimer::timeout,
this, &FactPanelController::_checkForMissingParameters);
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;
61 QQmlEngine::setObjectOwnership(fact, QQmlEngine::CppOwnership);
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()
Q_INVOKABLE Fact * getParameterFact(int componentId, const QString &name, bool reportMissing=true) const
Q_INVOKABLE void getMissingParameters(const QStringList &rgNames)
virtual ~FactPanelController()
Q_INVOKABLE bool parameterExists(int componentId, const QString &name) const
A Fact is used to hold a single value within the system.
static MultiVehicleManager * instance()
Vehicle * offlineEditingVehicle() const
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()