62 lines
2.0 KiB
62 lines
2.0 KiB
#include "QGCPendingParamWidget.h" |
|
|
|
#include "UASManager.h" |
|
#include "UASParameterCommsMgr.h" |
|
|
|
|
|
QGCPendingParamWidget::QGCPendingParamWidget(QObject *parent) : |
|
QGCParamWidget(UASManager::instance()->getActiveUAS(),(QWidget*)parent) |
|
{ |
|
} |
|
|
|
|
|
void QGCPendingParamWidget::init() |
|
{ |
|
//we override a lot of the super's init methods |
|
layoutWidget(); |
|
connectSignalsAndSlots(); |
|
|
|
//don't request update params here...assume that everything we need is in the data model |
|
} |
|
|
|
void QGCPendingParamWidget::connectSignalsAndSlots() |
|
{ |
|
// Listing for pending list update |
|
connect(paramDataModel, SIGNAL(pendingParamUpdate(int , const QString&, QVariant , bool )), |
|
this, SLOT(handlePendingParamUpdate(int , const QString& , QVariant, bool ))); |
|
|
|
// Listen to communications status messages so we can display them |
|
connect(paramCommsMgr, SIGNAL(parameterStatusMsgUpdated(QString,int)), |
|
this, SLOT(handleParamStatusMsgUpdate(QString , int ))); |
|
} |
|
|
|
void QGCPendingParamWidget::handlePendingParamUpdate(int compId, const QString& paramName, QVariant value, bool isPending) |
|
{ |
|
// qDebug() << "handlePendingParamUpdate:" << paramName << "with updatingParamNameLock:" << updatingParamNameLock; |
|
|
|
if (updatingParamNameLock == paramName) { |
|
//qDebug() << "ignoring bounce from " << paramName; |
|
return; |
|
} |
|
else { |
|
updatingParamNameLock = paramName; |
|
} |
|
|
|
QTreeWidgetItem* paramItem = updateParameterDisplay(compId,paramName,value); |
|
|
|
if (isPending) { |
|
QTreeWidgetItem* paramItem = updateParameterDisplay(compId,paramName,value); |
|
paramItem->setFlags(paramItem->flags() & ~Qt::ItemIsEditable); //disallow editing |
|
paramItem->setBackground(0, QBrush(QColor(QGC::colorOrange))); |
|
paramItem->setBackground(1, QBrush(QColor(QGC::colorOrange))); |
|
tree->expandAll(); |
|
} |
|
else { |
|
//we don't display non-pending items |
|
paramItem->parent()->removeChild(paramItem); |
|
} |
|
|
|
updatingParamNameLock.clear(); |
|
|
|
} |
|
|
|
|