From c1ed602e42889b885adbd64e9a3b96cdc398837f Mon Sep 17 00:00:00 2001 From: tstellanova Date: Wed, 7 Aug 2013 18:28:58 -0700 Subject: [PATCH] fixing signals / slots --- src/uas/QGCUASParamManager.cc | 12 ++++++------ src/uas/QGCUASParamManager.h | 2 +- src/uas/UASParameterDataModel.cc | 11 +++++++---- src/uas/UASParameterDataModel.h | 3 ++- src/ui/QGCParamWidget.cc | 3 +-- src/ui/QGCParamWidget.h | 2 +- src/ui/uas/UASListWidget.cc | 2 +- 7 files changed, 19 insertions(+), 16 deletions(-) diff --git a/src/uas/QGCUASParamManager.cc b/src/uas/QGCUASParamManager.cc index 186bfac74..450fe7970 100644 --- a/src/uas/QGCUASParamManager.cc +++ b/src/uas/QGCUASParamManager.cc @@ -18,9 +18,9 @@ QGCUASParamManager::QGCUASParamManager(UASInterface* uas, QWidget *parent) : loadParamMetaInfoCSV(); - // Connect retransmission guard - connect(this, SIGNAL(parameterUpdateRequested(int,QString)), - this, SLOT(requestParameterUpdate(int,QString))); +// // Connect retransmission guard +// connect(this, SIGNAL(parameterUpdateRequested(int,QString)), +// this, SLOT(requestParameterUpdate(int,QString))); // //TODO connect in paramCommsMgr instead // connect(this, SIGNAL(parameterUpdateRequestedById(int,int)), @@ -28,10 +28,10 @@ QGCUASParamManager::QGCUASParamManager(UASInterface* uas, QWidget *parent) : // New parameters from UAS - void parameterUpdated(int compId, int paramId, QString paramName, QVariant value); + void parameterUpdated(int compId, QString paramName, QVariant value); - connect(paramDataModel, SIGNAL(parameterUpdated(int, int, QString , QVariant )), - this, SLOT(handleParameterUpdate(int,int,int,QString,QVariant))); + connect(paramDataModel, SIGNAL(parameterUpdated(int, QString , QVariant )), + this, SLOT(handleParameterUpdate(int,QString,QVariant))); // connect(uas, SIGNAL(parameterChanged(int,int,int,int,QString,QVariant)), // this, SLOT(receivedParameterUpdate(int,int,int,int,QString,QVariant))); diff --git a/src/uas/QGCUASParamManager.h b/src/uas/QGCUASParamManager.h index 3c1fb7e78..4cb6d446c 100644 --- a/src/uas/QGCUASParamManager.h +++ b/src/uas/QGCUASParamManager.h @@ -52,7 +52,7 @@ public slots: /** @brief Request a single parameter by name from the MAV */ virtual void requestParameterUpdate(int component, const QString& parameter); - virtual void handleParameterUpdate(int component, int paramCount, int paramId, const QString& parameterName, QVariant value) = 0; + virtual void handleParameterUpdate(int component, int paramId, const QString& parameterName, QVariant value) = 0; virtual void handleParameterListUpToDate() = 0; diff --git a/src/uas/UASParameterDataModel.cc b/src/uas/UASParameterDataModel.cc index 0a5f9d972..9815ce777 100644 --- a/src/uas/UASParameterDataModel.cc +++ b/src/uas/UASParameterDataModel.cc @@ -114,12 +114,12 @@ void UASParameterDataModel::addComponent(int compId) } -void UASParameterDataModel::handleParameterUpdate(int componentId, QString& key, QVariant& value) +void UASParameterDataModel::handleParameterUpdate(int compId, QString& key, QVariant& value) { //verify that the value requested by the user matches the set value //if it doesn't match, leave the pending parameter in the pending list! - if (pendingParameters.contains(componentId)) { - QMap *pendingParams = pendingParameters.value(componentId); + if (pendingParameters.contains(compId)) { + QMap *pendingParams = pendingParameters.value(compId); if ((NULL != pendingParams) && pendingParams->contains(key)) { QVariant reqVal = pendingParams->value(key); if (reqVal == value) { @@ -131,7 +131,10 @@ void UASParameterDataModel::handleParameterUpdate(int componentId, QString& key, } } - setOnboardParameter(componentId,key, value); + setOnboardParameter(compId,key,value); + + emit parameterUpdated(compId,key,value); + } bool UASParameterDataModel::getOnboardParameterValue(int componentId, const QString& key, QVariant& value) const diff --git a/src/uas/UASParameterDataModel.h b/src/uas/UASParameterDataModel.h index 240d37507..352fb0eea 100644 --- a/src/uas/UASParameterDataModel.h +++ b/src/uas/UASParameterDataModel.h @@ -87,7 +87,8 @@ public: signals: - void parameterUpdated(int compId, int paramId, QString paramName, QVariant value); + /** @brief We've received an update of a parameter's value */ + void parameterUpdated(int compId, QString paramName, QVariant value); public slots: diff --git a/src/ui/QGCParamWidget.cc b/src/ui/QGCParamWidget.cc index 09ee9c970..5b4b13723 100644 --- a/src/ui/QGCParamWidget.cc +++ b/src/ui/QGCParamWidget.cc @@ -331,9 +331,8 @@ void QGCParamWidget::addComponentItem( int compId, QString compName) //} -void QGCParamWidget::handleParameterUpdate(int componentId, int paramCount, int paramId, const QString& paramName, QVariant value) +void QGCParamWidget::handleParameterUpdate(int componentId, int paramId, const QString& paramName, QVariant value) { - Q_UNUSED(paramCount); Q_UNUSED(paramId); updateParameterDisplay(componentId, paramName, value); } diff --git a/src/ui/QGCParamWidget.h b/src/ui/QGCParamWidget.h index 3d2f7779e..49ae50740 100644 --- a/src/ui/QGCParamWidget.h +++ b/src/ui/QGCParamWidget.h @@ -67,7 +67,7 @@ public slots: /** @brief Add a parameter to the list with retransmission / safety checks */ // void receivedParameterUpdate(int uas, int component, int paramCount, int paramId, QString parameterName, QVariant value); - virtual void handleParameterUpdate(int component, int paramCount, int paramId, const QString& parameterName, QVariant value); + virtual void handleParameterUpdate(int component, int paramId, const QString& parameterName, QVariant value); virtual void handleParameterListUpToDate(); virtual void handleParamStatusMsgUpdate(QString msg, int level); diff --git a/src/ui/uas/UASListWidget.cc b/src/ui/uas/UASListWidget.cc index d1cdde02e..2b000d376 100644 --- a/src/ui/uas/UASListWidget.cc +++ b/src/ui/uas/UASListWidget.cc @@ -149,7 +149,7 @@ void UASListWidget::addUAS(UASInterface* uas) QList* x = uas->getLinks(); if (x->size()) { - LinkInterface* li = x->at(0); + LinkInterface* li = x->first(); // Find an existing QGroupBox for this LinkInterface or create a // new one. -- 2.22.0