Skip to content
Snippets Groups Projects
Commit 151dc39c authored by Pospelov, Gennady's avatar Pospelov, Gennady
Browse files

Attempt to make cross-selection between fit items

parent 052ba03a
No related branches found
No related tags found
No related merge requests found
......@@ -105,6 +105,38 @@ void FitParametersWidget::onTuningWidgetContextMenu(const QPoint &point)
setActionsEnabled(true);
}
void FitParametersWidget::onTuningWidgetSelectionChanged(const QItemSelection &selection)
{
}
void FitParametersWidget::onFitParametersSelectionChanged(const QItemSelection &selection)
{
qDebug() << "onFitParametersSelectionChanged ->";
if (selection.indexes().isEmpty())
return;
QModelIndex index = selection.indexes().last();
qDebug() << "XXX index" << selection.indexes() << index;
QModelIndex newSelection = QModelIndex();
if (index.isValid() && index.parent().isValid()) {
SessionItem *val = m_fitParameterModel->itemForIndex(index);
// QString link = val->getItemValue(FitParameterLinkItem::P_LINK).toString();
qDebug() << "XXX val" << val->modelType() << val->displayName() << val->value();
// QStandardItem *t = m_selectorModel->getItemFromPath(link);
// newSelection = m_selectorModel->indexFromItem(t);
}
// connectSelectorView(false);
// m_selectorTreeView->selectionModel()
// ->select(newSelection, QItemSelectionModel::ClearAndSelect);
// if (newSelection.isValid()) {
// newSelection = newSelection.sibling(newSelection.row(), 1);
// m_selectorTreeView->selectionModel()
// ->select(newSelection, QItemSelectionModel::Select);
// }
// connectSelectorView();
}
void FitParametersWidget::onCreateFitParAction()
{
foreach(ParameterItem *item, getSelectedParameters()) {
......@@ -127,7 +159,6 @@ void FitParametersWidget::onRemoveFromFitParAction()
//! Add all selected parameters to fitParameter with given index
void FitParametersWidget::onAddToFitParAction(int ipar)
{
qDebug() << "AAAAAAAAAAAa" << ipar;
QStringList fitParNames = m_fitParameterModel->getFitParameterNames();
foreach(ParameterItem *item, getSelectedParameters()) {
m_fitParameterModel->addToFitParameter(item, fitParNames.at(ipar));
......@@ -212,6 +243,7 @@ void FitParametersWidget::init_job_item()
m_fitParameterModel.reset(new FitParameterModel(parsContainerItem));
m_treeView->setModel(m_fitParameterModel.get());
connectFitParametersSelection(true);
m_fitParameterModel->createFitParameter();
m_fitParameterModel->createFitParameter();
......@@ -220,6 +252,7 @@ void FitParametersWidget::init_job_item()
// m_treeView->setModel(parsContainerItem->model());
// m_treeView->setRootIndex(parsContainerItem->index());
// spanParameters();
}
......@@ -276,3 +309,32 @@ QVector<ParameterItem *> FitParametersWidget::getSelectedParameters()
}
return result;
}
void FitParametersWidget::connectTuningWidgetSelection(bool active)
{
Q_ASSERT(m_tuningWidget);
if (active) {
connect(m_tuningWidget->selectionModel(),
SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
this, SLOT(onTuningWidgetSelectionChanged(QItemSelection)), Qt::UniqueConnection);
} else {
disconnect(m_tuningWidget->selectionModel(),
SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
this, SLOT(onTuningWidgetSelectionChanged(QItemSelection)));
}
}
void FitParametersWidget::connectFitParametersSelection(bool active) {
if (active) {
connect(m_treeView->selectionModel(),
SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
this, SLOT(onFitParametersSelectionChanged(QItemSelection)), Qt::UniqueConnection);
} else {
disconnect(m_treeView->selectionModel(),
SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
this, SLOT(onFitParametersSelectionChanged(QItemSelection)));
}
}
......@@ -29,6 +29,7 @@ class QAction;
class QMenu;
class FitParameterModel;
class ParameterItem;
class QItemSelection;
//! The FitParametersWidget class contains a tree view to set fit parameters (fix/release,
//! starting value, min/max bounds). It occupies buttom right corner of JobView.
......@@ -45,6 +46,8 @@ public:
public slots:
void onTuningWidgetContextMenu(const QPoint &point);
void onTuningWidgetSelectionChanged(const QItemSelection&selection);
void onFitParametersSelectionChanged(const QItemSelection &selection);
private slots:
void onCreateFitParAction();
......@@ -57,11 +60,10 @@ private:
void stop_tracking_job_item();
void init_job_item();
void spanParameters();
bool isCreateFitParameterPossible();
void setActionsEnabled(bool value);
void connectTuningWidgetSelection(bool active);
void connectFitParametersSelection(bool active);
QVector<ParameterItem *> getSelectedParameters();
......
......@@ -179,7 +179,7 @@ void ModelTuningWidget::updateParameterModel()
void ModelTuningWidget::onCustomContextMenuRequested(const QPoint &point)
{
emit itemContextMenuRequest(m_treeView->mapToGlobal(point));
emit itemContextMenuRequest(m_treeView->mapToGlobal(point+ QPoint(2, 22)));
}
void ModelTuningWidget::restoreModelsOfCurrentJobItem()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment