diff --git a/GUI/coregui/Views/FitWidgets/FitParameterWidget.cpp b/GUI/coregui/Views/FitWidgets/FitParameterWidget.cpp index 6c18c98f5235331a31d8b37225c69b60c8d9a41a..7d4a8370871f09e21751d9e4ec7a89cea04457af 100644 --- a/GUI/coregui/Views/FitWidgets/FitParameterWidget.cpp +++ b/GUI/coregui/Views/FitWidgets/FitParameterWidget.cpp @@ -139,7 +139,12 @@ void FitParameterWidget::onFitParametersSelectionChanged(const QItemSelection &s return; foreach(QModelIndex index, selection.indexes()) { + m_tuningWidget->selectionModel()->clearSelection(); SessionItem *item = m_fitParameterModel->itemForIndex(index); + if(item->parent()->modelType() == Constants::FitParameterLinkType) { + QString link = item->parent()->getItemValue(FitParameterLinkItem::P_LINK).toString(); + m_tuningWidget->makeSelected(FitModelHelper::getParameterItem(m_jobItem->fitParameterContainerItem(), link)); + } qDebug() << "XXX index" << index << item->modelType(); } @@ -400,7 +405,6 @@ void FitParameterWidget::updateInfoLabel() { Q_ASSERT(m_jobItem); bool is_to_show_label = m_jobItem->fitParameterContainerItem()->isEmpty(); - qDebug() << "FitParameterWidget::updateInfoLabel()" << m_jobItem->fitParameterContainerItem()->getItems(FitParameterContainerItem::T_FIT_PARAMETERS).size() << is_to_show_label << m_treeView; m_infoLabel->setShown(is_to_show_label); } diff --git a/GUI/coregui/Views/JobWidgets/ParameterTuningWidget.cpp b/GUI/coregui/Views/JobWidgets/ParameterTuningWidget.cpp index 2ee0e98a5e2c31e53332aaf70a465aa70e8df347..87a87861f1fca629f697d62866dca4e62f49b803 100644 --- a/GUI/coregui/Views/JobWidgets/ParameterTuningWidget.cpp +++ b/GUI/coregui/Views/JobWidgets/ParameterTuningWidget.cpp @@ -201,6 +201,14 @@ void ParameterTuningWidget::restoreModelsOfCurrentJobItem() m_jobModel->getJobQueueData()->runJob(m_currentJobItem); } +void ParameterTuningWidget::makeSelected(ParameterItem *item) +{ + QModelIndex proxyIndex = m_parameterTuningModel->mapFromSource(item->index()); + if(proxyIndex.isValid()) { + selectionModel()->select(proxyIndex, QItemSelectionModel::Select); + } +} + void ParameterTuningWidget::resizeEvent(QResizeEvent *event) { Q_UNUSED(event); diff --git a/GUI/coregui/Views/JobWidgets/ParameterTuningWidget.h b/GUI/coregui/Views/JobWidgets/ParameterTuningWidget.h index f1b9e0103057bac73226cf2e8bcd17a024b77fdc..e7046052914b07145e2e5c311dd33faae9e5b8b3 100644 --- a/GUI/coregui/Views/JobWidgets/ParameterTuningWidget.h +++ b/GUI/coregui/Views/JobWidgets/ParameterTuningWidget.h @@ -42,7 +42,7 @@ public: QItemSelectionModel* selectionModel(); - QVector<ParameterItem *> getSelectedParameters(); + QVector<ParameterItem *> getSelectedParameters(); signals: void itemContextMenuRequest(const QPoint &point); @@ -52,6 +52,7 @@ public slots: void onSliderValueChanged(double value); void onLockZValueChanged(bool value); void restoreModelsOfCurrentJobItem(); + void makeSelected(ParameterItem *item); protected: void resizeEvent(QResizeEvent *event);