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

FitParameterModel now re-emits signals when source model has rows inserted/removed

parent 46e56b74
No related branches found
No related tags found
No related merge requests found
......@@ -191,14 +191,34 @@ void FitParameterAbsModel::onSourceDataChanged(const QModelIndex &topLeft, const
void FitParameterAbsModel::onSourceRowsInserted(const QModelIndex &parent, int first, int last)
{
Q_UNUSED(parent);
Q_UNUSED(first);
Q_UNUSED(last);
// qDebug() << "FitParameterAbsModel::onSourceRowsInserted" << parent << first << last;
// JobModel *sourceModel = qobject_cast<JobModel *>(sender());
// Q_ASSERT(sourceModel);
// Q_UNUSED(parent);
// Q_UNUSED(first);
// Q_UNUSED(last);
qDebug() << "FitParameterAbsModel::onSourceRowsInserted" << parent << first << last;
JobModel *sourceModel = qobject_cast<JobModel *>(sender());
Q_ASSERT(sourceModel);
if(SessionItem *sourceItem = sourceModel->itemForIndex(parent)) {
if(sourceItem->modelType() == Constants::FitParameterContainerType) {
beginInsertRows(QModelIndex(), first, first);
endInsertRows();
}
// if(SessionItem *sourceItem = sourceModel->itemForIndex(parent))
}
}
void FitParameterAbsModel::onSourceBeginRemoveRows(const QModelIndex &parent, int first, int last)
{
qDebug() << "FitParameterAbsModel::onSourceBeginRemoveRows" << parent << first << last;
JobModel *sourceModel = qobject_cast<JobModel *>(sender());
Q_ASSERT(sourceModel);
if(SessionItem *sourceItem = sourceModel->itemForIndex(parent)) {
qDebug() << sourceItem->modelType();
beginRemoveRows(QModelIndex(), first, first);
endRemoveRows();
}
}
......@@ -210,6 +230,8 @@ void FitParameterAbsModel::connectModel(QAbstractItemModel *sourceModel, bool is
this, SLOT(onSourceDataChanged(QModelIndex,QModelIndex,QVector<int>)));
connect(sourceModel, SIGNAL(rowsInserted(QModelIndex,int,int)),
this, SLOT(onSourceRowsInserted(QModelIndex,int,int)));
connect(sourceModel, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)),
this, SLOT(onSourceBeginRemoveRows(QModelIndex,int,int)));
}
......@@ -218,6 +240,8 @@ void FitParameterAbsModel::connectModel(QAbstractItemModel *sourceModel, bool is
this, SLOT(onSourceDataChanged(QModelIndex,QModelIndex,QVector<int>)));
disconnect(sourceModel, SIGNAL(rowsInserted(QModelIndex,int,int)),
this, SLOT(onSourceRowsInserted(QModelIndex,int,int)));
disconnect(sourceModel, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)),
this, SLOT(onSourceBeginRemoveRows(QModelIndex,int,int)));
}
}
......
......@@ -52,6 +52,7 @@ public:
private slots:
void onSourceDataChanged(const QModelIndex & topLeft, const QModelIndex & bottomRight, const QVector<int> & roles);
void onSourceRowsInserted(const QModelIndex & parent, int first, int last);
void onSourceBeginRemoveRows(const QModelIndex & parent, int first, int last);
private:
void connectModel(QAbstractItemModel *sourceModel, bool isConnect = true);
......
......@@ -172,7 +172,7 @@ void FitParametersWidget::onCreateFitParAction()
if(!FitModelHelper::getFitParameterItem(m_jobItem->fitParameterContainerItem(), item)) {
FitModelHelper::createFitParameter(m_jobItem->fitParameterContainerItem(), item);
// m_fitParameterModel->createFitParameter(item);
emit m_fitParameterModel->layoutChanged();
// emit m_fitParameterModel->layoutChanged();
}
}
spanParameters();
......@@ -186,7 +186,7 @@ void FitParametersWidget::onRemoveFromFitParAction()
if(FitModelHelper::getFitParameterItem(m_jobItem->fitParameterContainerItem(), item)) {
FitModelHelper::removeFromFitParameters(m_jobItem->fitParameterContainerItem(), item);
// m_fitParameterModel->removeFromFitParameters(item);
emit m_fitParameterModel->layoutChanged();
// emit m_fitParameterModel->layoutChanged();
}
}
}
......@@ -195,11 +195,11 @@ void FitParametersWidget::onRemoveFromFitParAction()
void FitParametersWidget::onRemoveFitParAction()
{
FitParameterContainerItem *container = m_jobItem->fitParameterContainerItem();
m_treeView->setModel(0);
// m_treeView->setModel(0);
foreach(FitParameterItem *item, getSelectedFitParameters()) {
container->model()->removeRow(item->index().row(), item->index().parent());
}
emit m_fitParameterModel->layoutChanged();
// emit m_fitParameterModel->layoutChanged();
}
//! Add all selected parameters to fitParameter with given index
......@@ -209,7 +209,7 @@ void FitParametersWidget::onAddToFitParAction(int ipar)
foreach(ParameterItem *item, getSelectedParameters()) {
//m_fitParameterModel->addToFitParameter(item, fitParNames.at(ipar));
FitModelHelper::addToFitParameter(m_jobItem->fitParameterContainerItem(), item, fitParNames.at(ipar));
emit m_fitParameterModel->layoutChanged();
// emit m_fitParameterModel->layoutChanged();
}
spanParameters();
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment