From a705367c1014a04bbdaee07bc39d2f50d907559b Mon Sep 17 00:00:00 2001 From: lm Date: Fri, 18 Jun 2010 17:46:44 +0200 Subject: [PATCH] Verified parameter interface, sends now only changed parameters back to MAV, auto-grouping supported --- src/ui/QGCParamWidget.cc | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/ui/QGCParamWidget.cc b/src/ui/QGCParamWidget.cc index 079ad7c53..58c9617bd 100644 --- a/src/ui/QGCParamWidget.cc +++ b/src/ui/QGCParamWidget.cc @@ -82,6 +82,7 @@ QGCParamWidget::QGCParamWidget(UASInterface* uas, QWidget *parent) : headerItems.append("Value"); tree->setHeaderLabels(headerItems); tree->setColumnCount(2); + tree->setExpandsOnDoubleClick(true); // Connect signals/slots connect(this, SIGNAL(parameterChanged(int,QString,float)), mav, SLOT(setParameter(int,QString,float))); @@ -222,9 +223,10 @@ void QGCParamWidget::addParameter(int uas, int component, QString parameterName, //tree->expandAll(); } // Reset background color - parameterItem->setBackground(0, QBrush(Qt::NoBrush)); - parameterItem->setBackground(1, QBrush(Qt::NoBrush)); - tree->update(); + parameterItem->setBackground(0, QBrush(QColor(0, 0, 0))); + parameterItem->setBackground(1, Qt::NoBrush); + //tree->update(); + if (changedValues.contains(component)) changedValues.value(component)->remove(parameterName); } /** @@ -265,9 +267,10 @@ void QGCParamWidget::parameterItemChanged(QTreeWidgetItem* current, int column) if (ok) { qDebug() << "PARAM CHANGED: COMP:" << key << "KEY:" << str << "VALUE:" << value; + if (map->contains(str)) map->remove(str); map->insert(str, value); - current->setBackground(0, QBrush(QColor(QGC::colorGreen))); - current->setBackground(1, QBrush(QColor(QGC::colorGreen))); + //current->setBackground(0, QBrush(QColor(QGC::colorGreen))); + //current->setBackground(1, QBrush(QColor(QGC::colorGreen))); } } } @@ -282,6 +285,7 @@ void QGCParamWidget::parameterItemChanged(QTreeWidgetItem* current, int column) void QGCParamWidget::setParameter(int component, QString parameterName, float value) { emit parameterChanged(component, parameterName, value); + qDebug() << "SENT PARAM" << parameterName << value; } /** @@ -300,7 +304,7 @@ void QGCParamWidget::setParameters() QMap::iterator j; for (j = comp->begin(); j != comp->end(); ++j) { - emit parameterChanged(compid, j.key(), j.value()); + setParameter(compid, j.key(), j.value()); } } } -- 2.22.0