BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
FitSessionWidget Class Reference

Contains all fit settings for given JobItem (fit parameters, minimizer settings). More...

Inheritance diagram for FitSessionWidget:
[legend]
Collaboration diagram for FitSessionWidget:
[legend]

Public Member Functions

 FitSessionWidget (QWidget *parent=nullptr)
 
QSize minimumSizeHint () const
 
void setItem (JobItem *jobItem)
 
void setModelTuningWidget (ParameterTuningWidget *tuningWidget)
 
void setSessionController (FitSessionController *sessionController)
 
QSize sizeHint () const
 

Private Slots

void onFittingError (const QString &text)
 

Private Attributes

RunFitControlWidgetm_controlWidget
 
FitParameterWidgetm_fitParametersWidget
 
FitResultsWidgetm_fitResultsWidget
 
MinimizerSettingsWidgetm_minimizerSettingsWidget
 
FitSessionControllerm_sessionController
 
QTabWidget * m_tabWidget
 

Detailed Description

Contains all fit settings for given JobItem (fit parameters, minimizer settings).

Controlled by FitActivityPanel.

Definition at line 34 of file FitSessionWidget.h.

Constructor & Destructor Documentation

◆ FitSessionWidget()

FitSessionWidget::FitSessionWidget ( QWidget *  parent = nullptr)

Definition at line 26 of file FitSessionWidget.cpp.

27  : QWidget(parent)
28  , m_tabWidget(new QTabWidget)
32  // , m_fitResultsWidget(new FitResultsWidget)
33  , m_fitResultsWidget(nullptr) // temporary replacement to fix a memory leak
34  , m_sessionController(nullptr)
35 {
36  auto layout = new QVBoxLayout;
37  layout->setContentsMargins(0, 0, 0, 0);
38  layout->setMargin(0);
39  layout->setSpacing(0);
40 
41  m_tabWidget->addTab(m_fitParametersWidget, "Fit Parameters");
42  m_tabWidget->addTab(m_minimizerSettingsWidget, "Minimizer");
43  // m_tabWidget->addTab(m_fitResultsWidget, "Fit Results");
44 
45  layout->addWidget(m_tabWidget);
46  layout->addWidget(m_controlWidget);
47 
48  setLayout(layout);
49 }
The FitParametersWidget class contains a tree view to set fit parameters (fix/release,...
FitSessionController * m_sessionController
MinimizerSettingsWidget * m_minimizerSettingsWidget
QTabWidget * m_tabWidget
RunFitControlWidget * m_controlWidget
FitParameterWidget * m_fitParametersWidget
FitResultsWidget * m_fitResultsWidget
The MinimizerSettingsWidget contains editor for all minnimizer settings and related fit options.
The RunFitControlWidget contains elements to start/stop fitting and to provide minimal diagnostic.

References m_controlWidget, m_fitParametersWidget, m_minimizerSettingsWidget, and m_tabWidget.

Member Function Documentation

◆ minimumSizeHint()

QSize FitSessionWidget::minimumSizeHint ( ) const

Definition at line 92 of file FitSessionWidget.cpp.

93 {
94  return QSize(25, 25);
95 }

◆ onFittingError

void FitSessionWidget::onFittingError ( const QString &  text)
privateslot

Definition at line 97 of file FitSessionWidget.cpp.

98 {
100 }
void onFittingError(const QString &what)

References m_controlWidget, and RunFitControlWidget::onFittingError().

Referenced by setSessionController().

Here is the call graph for this function:

◆ setItem()

void FitSessionWidget::setItem ( JobItem jobItem)

Definition at line 51 of file FitSessionWidget.cpp.

52 {
53  ASSERT(jobItem);
56  m_controlWidget->setItem(jobItem);
57 }
#define ASSERT(condition)
Definition: Assert.h:31
void setItem(JobItem *jobItem)
virtual void setItem(SessionItem *item)

References ASSERT, m_controlWidget, m_fitParametersWidget, m_minimizerSettingsWidget, MinimizerSettingsWidget::setItem(), and SessionItemWidget::setItem().

Here is the call graph for this function:

◆ setModelTuningWidget()

void FitSessionWidget::setModelTuningWidget ( ParameterTuningWidget tuningWidget)

Definition at line 59 of file FitSessionWidget.cpp.

60 {
62  ASSERT(tuningWidget);
64 }
void setParameterTuningWidget(ParameterTuningWidget *tuningWidget)
Sets ParameterTuningWidget to be able to provide it with context menu and steer it behaviour in the c...

References ASSERT, m_fitParametersWidget, and FitParameterWidget::setParameterTuningWidget().

Referenced by FitActivityPanel::setItem().

Here is the call graph for this function:

◆ setSessionController()

void FitSessionWidget::setSessionController ( FitSessionController sessionController)

Definition at line 66 of file FitSessionWidget.cpp.

67 {
68  if (m_sessionController) {
69  disconnect(m_sessionController, 0, this, 0);
70  disconnect(m_controlWidget, 0, m_sessionController, 0);
71  }
72 
73  m_sessionController = sessionController;
74 
75  if (m_sessionController) {
78  connect(m_sessionController, &QObject::destroyed,
79  [this] { m_sessionController = nullptr; });
84  }
85 }
void fittingError(const QString &message)
void onFittingError(const QString &text)

References FitSessionController::fittingError(), m_controlWidget, m_sessionController, onFittingError(), FitSessionController::onStartFittingRequest(), FitSessionController::onStopFittingRequest(), RunFitControlWidget::startFittingPushed(), and RunFitControlWidget::stopFittingPushed().

Referenced by FitActivityPanel::setItem().

Here is the call graph for this function:

◆ sizeHint()

QSize FitSessionWidget::sizeHint ( ) const

Definition at line 87 of file FitSessionWidget.cpp.

88 {
90 }
const unsigned int FIT_SUITE_WIDGET_HEIGHT
const unsigned int REALTIME_WIDGET_WIDTH_HINT

References Constants::FIT_SUITE_WIDGET_HEIGHT, and Constants::REALTIME_WIDGET_WIDTH_HINT.

Member Data Documentation

◆ m_controlWidget

RunFitControlWidget* FitSessionWidget::m_controlWidget
private

Definition at line 52 of file FitSessionWidget.h.

Referenced by FitSessionWidget(), onFittingError(), setItem(), and setSessionController().

◆ m_fitParametersWidget

FitParameterWidget* FitSessionWidget::m_fitParametersWidget
private

Definition at line 53 of file FitSessionWidget.h.

Referenced by FitSessionWidget(), setItem(), and setModelTuningWidget().

◆ m_fitResultsWidget

FitResultsWidget* FitSessionWidget::m_fitResultsWidget
private

Definition at line 55 of file FitSessionWidget.h.

◆ m_minimizerSettingsWidget

MinimizerSettingsWidget* FitSessionWidget::m_minimizerSettingsWidget
private

Definition at line 54 of file FitSessionWidget.h.

Referenced by FitSessionWidget(), and setItem().

◆ m_sessionController

FitSessionController* FitSessionWidget::m_sessionController
private

Definition at line 56 of file FitSessionWidget.h.

Referenced by setSessionController().

◆ m_tabWidget

QTabWidget* FitSessionWidget::m_tabWidget
private

Definition at line 51 of file FitSessionWidget.h.

Referenced by FitSessionWidget().


The documentation for this class was generated from the following files: