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

missed files

parent 9fa89f6a
No related branches found
No related tags found
No related merge requests found
......@@ -174,6 +174,15 @@ bool JobItem::isFailed() const
return combo_property.getValue() == Constants::STATUS_FAILED;
}
bool JobItem::isValidForFitting()
{
if(getItem(T_REALDATA)) {
return true;
} else {
return false;
}
}
void JobItem::setBeginTime(const QString &begin_time)
{
setItemValue(P_BEGIN_TIME, begin_time);
......
......@@ -66,6 +66,7 @@ public:
bool isCompleted() const;
bool isCanceled() const;
bool isFailed() const;
bool isValidForFitting();
void setBeginTime(const QString &begin_time);
......
......@@ -32,7 +32,11 @@ class BA_CORE_API_ ItemStackPresenter : public ItemStackWidget
{
public:
virtual void setItem(SessionItem *item) {
if(!item) return;
if(!item && m_stackedWidget->currentWidget()) {
m_stackedWidget->currentWidget()->hide();
return;
}
T *widget = m_itemToWidget[item];
......@@ -45,6 +49,10 @@ public:
m_stackedWidget->setCurrentWidget(widget);
}
T *currentWidget() {
return dynamic_cast<T *>(m_stackedWidget->currentWidget());
}
protected:
void removeWidgetForItem(SessionItem *item) {
Q_ASSERT(item);
......
......@@ -27,7 +27,8 @@
FitActivityPanel::FitActivityPanel(JobModel *jobModel, QWidget *parent)
: JobPresenter(jobModel, parent)
, m_stack(new QStackedWidget(this))
, m_stackedWidget(new ItemStackPresenter<FitSuiteWidget>)
// , m_stack(new QStackedWidget(this))
, m_controlWidget(new RunFitControlWidget(this))
, m_realTimeWidget(0)
{
......@@ -38,14 +39,13 @@ FitActivityPanel::FitActivityPanel(JobModel *jobModel, QWidget *parent)
mainLayout->setMargin(0);
mainLayout->setSpacing(0);
mainLayout->addWidget(m_stack);
mainLayout->addWidget(m_stackedWidget);
mainLayout->addWidget(m_controlWidget);
setLayout(mainLayout);
connect(m_controlWidget, SIGNAL(startFitting()), this, SLOT(onStartFitting()));
connect(m_controlWidget, SIGNAL(stopFitting()), this, SLOT(onStopFitting()));
}
void FitActivityPanel::setRealTimeWidget(JobRealTimeWidget *realTimeWidget)
......@@ -71,34 +71,16 @@ void FitActivityPanel::setItem(JobItem *item)
if(!isVisible()) return;
FitSuiteWidget *widget = m_jobItemToFitWidget[item];
if( !widget && isValidJobItem(item)) {
widget = new FitSuiteWidget(m_jobModel);
widget->setItem(item);
m_stackedWidget->setItem(item);
if(FitSuiteWidget *widget = m_stackedWidget->currentWidget()) {
widget->setModelTuningWidget(m_realTimeWidget->getTuningWidgetForItem(item));
connect(widget, SIGNAL(fittingStarted()), m_controlWidget, SLOT(onFittingStarted()));
connect(widget, SIGNAL(fittingFinished()), m_controlWidget, SLOT(onFittingFinished()));
connect(widget, SIGNAL(fittingError(QString)), m_controlWidget, SLOT(onFittingError(QString)));
m_stack->addWidget(widget);
m_jobItemToFitWidget[item] = widget;
} else {
if( m_stack->currentWidget()) {
m_stack->currentWidget()->hide();
}
connect(widget, SIGNAL(fittingStarted()), m_controlWidget,
SLOT(onFittingStarted()), Qt::UniqueConnection);
connect(widget, SIGNAL(fittingFinished()), m_controlWidget,
SLOT(onFittingFinished()), Qt::UniqueConnection);
connect(widget, SIGNAL(fittingError(QString)), m_controlWidget,
SLOT(onFittingError(QString)), Qt::UniqueConnection);
}
if(widget) {
if(widget->isHidden()) {
widget->show();
}
m_stack->setCurrentWidget(widget);
}
}
void FitActivityPanel::onJobItemDelete(JobItem *item)
......@@ -121,14 +103,14 @@ void FitActivityPanel::updateCurrentItem()
void FitActivityPanel::onStartFitting()
{
if(FitSuiteWidget *widget = getCurrentFitSuiteWidget()) {
if(FitSuiteWidget *widget = currentFitSuiteWidget()) {
widget->startFitting();
}
}
void FitActivityPanel::onStopFitting()
{
if(FitSuiteWidget *widget = getCurrentFitSuiteWidget()) {
if(FitSuiteWidget *widget = currentFitSuiteWidget()) {
widget->stopFitting();
}
}
......@@ -140,9 +122,7 @@ bool FitActivityPanel::isValidJobItem(JobItem *item)
// return (item->isCompleted() || item->isCanceled()) && item->getMultiLayerItem() && item->getInstrumentItem();
}
FitSuiteWidget *FitActivityPanel::getCurrentFitSuiteWidget()
FitSuiteWidget *FitActivityPanel::currentFitSuiteWidget()
{
FitSuiteWidget *result = dynamic_cast<FitSuiteWidget *>(m_stack->currentWidget());
if(result && result->isHidden()) result = 0;
return result;
return m_stackedWidget->currentWidget();
}
......@@ -18,6 +18,7 @@
#define FITACTIVITYPANEL_H
#include "JobPresenter.h"
#include "ItemStackPresenter.h"
#include <QMap>
class JobModel;
......@@ -53,11 +54,10 @@ private slots:
private:
bool isValidJobItem(JobItem *item);
FitSuiteWidget *getCurrentFitSuiteWidget();
FitSuiteWidget *currentFitSuiteWidget();
QStackedWidget *m_stack;
ItemStackPresenter<FitSuiteWidget> *m_stackedWidget;
RunFitControlWidget *m_controlWidget;
QMap<JobItem *, FitSuiteWidget *> m_jobItemToFitWidget;
JobRealTimeWidget *m_realTimeWidget;
};
......
......@@ -34,13 +34,12 @@
#include <QMessageBox>
#include <QDebug>
FitSuiteWidget::FitSuiteWidget(JobModel *jobModel, QWidget *parent)
FitSuiteWidget::FitSuiteWidget(QWidget *parent)
: QWidget(parent)
, m_tabWidget(new QTabWidget)
, m_fitParametersWidget(new FitParameterWidget(this))
, m_minimizerSettingsWidget(new MinimizerSettingsWidget(this))
, m_fitResultsWidget(new FitResultsWidget(this))
, m_jobModel(jobModel)
, m_currentItem(0)
, m_manager(new RunFitManager(parent))
, m_observer(new GUIFitObserver())
......@@ -62,8 +61,10 @@ FitSuiteWidget::~FitSuiteWidget()
}
void FitSuiteWidget::setItem(JobItem *jobItem)
void FitSuiteWidget::setItem(SessionItem *item)
{
JobItem *jobItem = dynamic_cast<JobItem *>(item);
Q_ASSERT(jobItem);
m_currentItem = jobItem;
m_fitParametersWidget->setItem(jobItem);
}
......
......@@ -24,6 +24,7 @@
class QTabWidget;
class JobModel;
class JobItem;
class SessionItem;
class FitParameterWidget;
class MinimizerSettingsWidget;
class FitResultsWidget;
......@@ -42,10 +43,10 @@ class BA_CORE_API_ FitSuiteWidget : public QWidget
Q_OBJECT
public:
FitSuiteWidget(JobModel *jobModel, QWidget *parent = 0);
FitSuiteWidget(QWidget *parent = 0);
~FitSuiteWidget();
void setItem(JobItem *jobItem);
void setItem(SessionItem *item);
void setModelTuningWidget(ParameterTuningWidget *tuningWidget);
signals:
......@@ -75,7 +76,6 @@ private:
FitParameterWidget *m_fitParametersWidget;
MinimizerSettingsWidget *m_minimizerSettingsWidget;
FitResultsWidget *m_fitResultsWidget;
JobModel *m_jobModel;
JobItem *m_currentItem;
RunFitManager *m_manager;
std::shared_ptr<GUIFitObserver> m_observer;
......
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