diff --git a/groundStation/gui/MicroCART/controlworker.cpp b/groundStation/gui/MicroCART/controlworker.cpp index 866c3656a58565c58435cfbeddb638a146169663..3201d0ef341e73bde79b7e7ccc490e1ef7a5b4ce 100644 --- a/groundStation/gui/MicroCART/controlworker.cpp +++ b/groundStation/gui/MicroCART/controlworker.cpp @@ -93,7 +93,7 @@ void ControlWorker::getParamValue(QString node, QString param) /* Set pd.param and finish the job */ pd.param = j; frontend_getparam(conn, &pd); - emit(gotParamValue(pd.value)); + emit(gotParamValue(node, param, pd.value)); } } } diff --git a/groundStation/gui/MicroCART/controlworker.h b/groundStation/gui/MicroCART/controlworker.h index c2711004794e3fca76051c13a2a73af8a0f2ca05..58939cd8d2067a625e0fd4a934f05cacb866b4d8 100644 --- a/groundStation/gui/MicroCART/controlworker.h +++ b/groundStation/gui/MicroCART/controlworker.h @@ -15,7 +15,7 @@ public: signals: void gotNodes(QStringList nodes); void gotParams(QStringList params); - void gotParamValue(float value); + void gotParamValue(QString node, QString param, float value); void gotConstantBlocks(QStringList blocks); void paramSet(QString node, QString param); diff --git a/groundStation/gui/MicroCART/mainwindow.cpp b/groundStation/gui/MicroCART/mainwindow.cpp index c7da65e6c417a94275f0ca720076a6de4708fd22..0867aa4ae92c0330eae276d961c7e882494b0af7 100644 --- a/groundStation/gui/MicroCART/mainwindow.cpp +++ b/groundStation/gui/MicroCART/mainwindow.cpp @@ -43,7 +43,7 @@ MainWindow::MainWindow(QWidget *parent) : /* Connect signals from control worker */ connect(controlWorker, SIGNAL (gotNodes(QStringList)), this, SLOT (newNodes(QStringList))); connect(controlWorker, SIGNAL (gotParams(QStringList)), this, SLOT (newParams(QStringList))); - connect(controlWorker, SIGNAL (gotParamValue(float)), this, SLOT (newParamValue(float))); + connect(controlWorker, SIGNAL (gotParamValue(QString, QString, float)), this, SLOT (newParamValue(QString, QString, float))); connect(controlWorker, SIGNAL (gotConstantBlocks(QStringList)), this, SLOT (newConstantBlocks(QStringList))); connect(controlWorker, SIGNAL (paramSet(QString, QString)), controlWorker, SLOT (getParamValue(QString, QString))); @@ -77,8 +77,6 @@ MainWindow::MainWindow(QWidget *parent) : connect(findChild<QLineEdit *>("xSetpoint"), SIGNAL (returnPressed()), this, SLOT (sendSetpoints())); connect(findChild<QLineEdit *>("ySetpoint"), SIGNAL (returnPressed()), this, SLOT (sendSetpoints())); connect(findChild<QLineEdit *>("zSetpoint"), SIGNAL (returnPressed()), this, SLOT (sendSetpoints())); - - connect(findChild<QListView *>("setpointList"), SIGNAL (doubleClicked(QModelIndex)), this, SLOT (sendSelectedSetpoint())); } MainWindow::~MainWindow() @@ -159,15 +157,15 @@ void MainWindow::newNodes(QStringList blocks) void MainWindow::newConstantBlocks(QStringList blocks) { QComboBox * xSelect = findChild<QComboBox *>("xSetpointSelect"); - xSelect->clear(); /* Hopefully this clears the list */ + xSelect->clear(); xSelect->addItems(blocks); QComboBox * ySelect = findChild<QComboBox *>("ySetpointSelect"); - ySelect->clear(); /* Hopefully this clears the list */ + ySelect->clear(); ySelect->addItems(blocks); QComboBox * zSelect = findChild<QComboBox *>("zSetpointSelect"); - zSelect->clear(); /* Hopefully this clears the list */ + zSelect->clear(); zSelect->addItems(blocks); for (ssize_t i = 0; i < blocks.size(); i++) { @@ -188,13 +186,22 @@ void MainWindow::newConstantBlocks(QStringList blocks) void MainWindow::newParams(QStringList params) { QComboBox * select = findChild<QComboBox *>("paramSelect"); - select->clear(); /* Hopefully this clears the list */ + select->clear(); select->addItems(params); } -void MainWindow::newParamValue(float val) +void MainWindow::newParamValue(QString node, QString param, float val) { findChild<QLineEdit *>("paramValue")->setText(QString::number(val)); + + /* Update the nav page setpoints if it's a setpoint paramvalue */ + if (node == findChild<QComboBox *>("xSetpointSelect")->currentText()) { + findChild<QLineEdit *>("xSetpoint")->setText(QString::number(val)); + } else if (node == findChild<QComboBox *>("ySetpointSelect")->currentText()) { + findChild<QLineEdit *>("ySetpoint")->setText(QString::number(val)); + } else if (node == findChild<QComboBox *>("zSetpointSelect")->currentText()) { + findChild<QLineEdit *>("zSetpoint")->setText(QString::number(val)); + } } void MainWindow::on_paramSelect_currentIndexChanged(const QString &arg1) diff --git a/groundStation/gui/MicroCART/mainwindow.h b/groundStation/gui/MicroCART/mainwindow.h index 3520d4b6b2aab904baf585f1c581ebf08ff6ea6f..d59e10f03f63b3cbb39b1fc17d2381a5331e645f 100644 --- a/groundStation/gui/MicroCART/mainwindow.h +++ b/groundStation/gui/MicroCART/mainwindow.h @@ -38,7 +38,7 @@ private slots: void newNodes(QStringList blocks); void newParams(QStringList params); - void newParamValue(float val); + void newParamValue(QString node, QString param, float val); void newConstantBlocks(QStringList blocks); void on_paramSelect_currentIndexChanged(const QString &arg1); diff --git a/groundStation/gui/MicroCART/mainwindow.ui b/groundStation/gui/MicroCART/mainwindow.ui index a66bc8fbc24802438108a2aab83badd3416bd50f..c22a9fccfaa2e2732c2a01f59f83d90f7b86e15f 100644 --- a/groundStation/gui/MicroCART/mainwindow.ui +++ b/groundStation/gui/MicroCART/mainwindow.ui @@ -18,7 +18,7 @@ <item> <widget class="QTabWidget" name="tabWidget"> <property name="currentIndex"> - <number>0</number> + <number>2</number> </property> <widget class="QWidget" name="backend"> <attribute name="title"> @@ -476,6 +476,26 @@ </property> </widget> </item> + <item> + <widget class="QPushButton" name="pbInsertSetpoint"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Insert</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="pbDeleteSetpoint"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Delete</string> + </property> + </widget> + </item> <item> <spacer name="verticalSpacer_3"> <property name="orientation"> @@ -498,6 +518,15 @@ <property name="editTriggers"> <set>QAbstractItemView::NoEditTriggers</set> </property> + <property name="dragEnabled"> + <bool>true</bool> + </property> + <property name="dragDropMode"> + <enum>QAbstractItemView::InternalMove</enum> + </property> + <property name="defaultDropAction"> + <enum>Qt::MoveAction</enum> + </property> </widget> </item> <item>