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

The FitFlowWidget class is intended for showing chi2 .vs interation count dependency. More...

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

Public Member Functions

 FitFlowWidget (QWidget *parent=nullptr)
 
virtual QList< QAction * > actionList ()
 
SessionItemcurrentItem ()
 
const SessionItemcurrentItem () const
 
virtual void setItem (SessionItem *item)
 

Protected Member Functions

virtual void hideEvent (QHideEvent *)
 
virtual void showEvent (QShowEvent *)
 
void subscribeToItem ()
 
void unsubscribeFromItem ()
 

Private Member Functions

FitSuiteItemfitSuiteItem ()
 

Private Attributes

HistogramPlotm_histPlot
 
SessionItemControllerm_itemController
 
QVector< double > m_x
 
QVector< double > m_y
 

Detailed Description

The FitFlowWidget class is intended for showing chi2 .vs interation count dependency.

The main goal is to fill vacant place in FitComparisonWidget.

Definition at line 26 of file FitFlowWidget.h.

Constructor & Destructor Documentation

◆ FitFlowWidget()

FitFlowWidget::FitFlowWidget ( QWidget *  parent = nullptr)
explicit

Definition at line 20 of file FitFlowWidget.cpp.

22 {
23  setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
24 
25  auto layout = new QVBoxLayout;
26  layout->setContentsMargins(0, 0, 0, 0);
27  layout->addWidget(m_histPlot);
28 
29  setStyleSheet("background-color:white;");
30  setLayout(layout);
31 }
HistogramPlot * m_histPlot
Definition: FitFlowWidget.h:38
SessionItemWidget(QWidget *parent=0)

References m_histPlot.

Member Function Documentation

◆ actionList()

QList< QAction * > SessionItemWidget::actionList ( )
virtualinherited

◆ currentItem() [1/2]

SessionItem * SessionItemWidget::currentItem ( )
inherited

Definition at line 41 of file SessionItemWidget.cpp.

42 {
43  return const_cast<SessionItem*>(static_cast<const SessionItemWidget*>(this)->currentItem());
44 }
The SessionItemWidget class is a base for all widgets representing the content of SessionItem.
SessionItem * currentItem()

Referenced by RectangularDetectorEditor::detectorItem(), SphericalDetectorEditor::detectorItem(), fitSuiteItem(), DistributionEditor::groupItem(), DepthProbeInstrumentEditor::instrumentItem(), EnvironmentEditor::instrumentItem(), GISASBeamEditor::instrumentItem(), GISASDetectorEditor::instrumentItem(), GISASInstrumentEditor::instrumentItem(), OffSpecularBeamEditor::instrumentItem(), OffSpecularInstrumentEditor::instrumentItem(), PolarizationAnalysisEditor::instrumentItem(), SpecularBeamEditor::instrumentItem(), SpecularInstrumentEditor::instrumentItem(), RealDataMaskWidget::intensityDataItem(), IntensityDataCanvas::intensityDataItem(), IntensityDataProjectionsWidget::intensityDataItem(), IntensityDataWidget::intensityDataItem(), ProjectionsPlot::intensityItem(), ColorMap::intensityItem(), DetectorPresenter::itemPresentation(), InstrumentPresenter::itemPresentation(), JobResultsPresenter::itemPresentation(), FitComparisonWidget::jobItem(), FitComparisonWidget1D::jobItem(), FitParameterWidget::jobItem(), RunFitControlWidget::jobItem(), JobPropertiesWidget::jobItem(), ParameterTuningWidget::jobItem(), SpecularDataImportWidget::realDataItem(), ItemComboWidget::setPresentation(), JobResultsPresenter::setPresentation(), SpecularDataCanvas::specularDataItem(), SpecularDataImportWidget::specularDataItem(), SpecularDataWidget::specularDataItem(), SpecularPlot::specularItem(), ItemComboWidget::subscribeToItem(), DistributionEditor::subscribeToItem(), GISASDetectorEditor::subscribeToItem(), PolarizationAnalysisEditor::subscribeToItem(), IntensityDataPropertyWidget::subscribeToItem(), JobPropertiesWidget::subscribeToItem(), ProjectionsPropertyPanel::subscribeToItem(), ProjectionsPlot::unsubscribeFromChildren(), and Plot1D::viewItem().

◆ currentItem() [2/2]

const SessionItem * SessionItemWidget::currentItem ( ) const
inherited

Definition at line 46 of file SessionItemWidget.cpp.

47 {
48  return m_itemController->currentItem();
49 }
SessionItemController * m_itemController

References SessionItemController::currentItem(), and SessionItemWidget::m_itemController.

Here is the call graph for this function:

◆ fitSuiteItem()

FitSuiteItem * FitFlowWidget::fitSuiteItem ( )
private

Definition at line 55 of file FitFlowWidget.cpp.

56 {
57  return dynamic_cast<FitSuiteItem*>(currentItem());
58 }

References SessionItemWidget::currentItem().

Referenced by subscribeToItem().

Here is the call graph for this function:

◆ hideEvent()

void SessionItemWidget::hideEvent ( QHideEvent *  )
protectedvirtualinherited

Definition at line 56 of file SessionItemWidget.cpp.

57 {
59 }
void unsubscribe()
Fully unsubscribes the parent from listening item's signals.

References SessionItemWidget::m_itemController, and SessionItemController::unsubscribe().

Here is the call graph for this function:

◆ setItem()

void SessionItemWidget::setItem ( SessionItem item)
virtualinherited

Reimplemented in SpecularPlotCanvas, SpecularDataImportWidget, SpecularDataWidget, IntensityDataWidget, SpecularDataCanvas, ProjectionsWidget, IntensityDataCanvas, ColorMapCanvas, and Plot1DCanvas.

Definition at line 28 of file SessionItemWidget.cpp.

29 {
31 
32  if (isVisible())
34 }
void setItem(SessionItem *item)
void subscribe()
Subscribe parent to item's signals.

References SessionItemWidget::m_itemController, SessionItemController::setItem(), and SessionItemController::subscribe().

Referenced by IntensityDataWidget::onFFTAction(), JobSelectorWidget::onSelectionChanged(), ProjectionsEditor::resetContext(), ProjectionsEditor::setContext(), MaskGraphicsProxy::setIntensityItem(), FitSessionWidget::setItem(), Plot1DCanvas::setItem(), InstrumentEditorWidget::setItem(), ColorMapCanvas::setItem(), IntensityDataCanvas::setItem(), ProjectionsWidget::setItem(), SpecularDataCanvas::setItem(), DistributionDialog::setItem(), IntensityDataWidget::setItem(), SpecularDataWidget::setItem(), SpecularDataImportWidget::setItem(), SpecularPlotCanvas::setItem(), ItemComboWidget::setPresentation(), GISASInstrumentEditor::subscribeToItem(), OffSpecularInstrumentEditor::subscribeToItem(), SpecularInstrumentEditor::subscribeToItem(), FitComparisonWidget::subscribeToItem(), FitComparisonWidget1D::subscribeToItem(), and GISASDetectorEditor::updateDetectorPresenter().

Here is the call graph for this function:

◆ showEvent()

void SessionItemWidget::showEvent ( QShowEvent *  )
protectedvirtualinherited

Definition at line 51 of file SessionItemWidget.cpp.

52 {
54 }

References SessionItemWidget::m_itemController, and SessionItemController::subscribe().

Here is the call graph for this function:

◆ subscribeToItem()

void FitFlowWidget::subscribeToItem ( )
protectedvirtual

Reimplemented from SessionItemWidget.

Definition at line 33 of file FitFlowWidget.cpp.

34 {
36  [this](const QString& name) {
39  double chi = fitSuiteItem()->getItemValue(FitSuiteItem::P_CHI2).toDouble();
40  if (iter == 1)
42  m_histPlot->addData(static_cast<double>(iter), chi);
43  }
44  },
45  this);
46 }
FitSuiteItem * fitSuiteItem()
static const QString P_CHI2
Definition: FitSuiteItem.h:28
static const QString P_ITERATION_COUNT
Definition: FitSuiteItem.h:27
void addData(double x, double y)
void setOnPropertyChange(std::function< void(QString)> f, const void *caller=0)
Definition: ModelMapper.cpp:35
QVariant getItemValue(const QString &tag) const
Directly access value of item under given tag.
ModelMapper * mapper()
Returns the current model mapper of this item. Creates new one if necessary.
QString const & name(EShape k)
Definition: particles.cpp:21

References HistogramPlot::addData(), HistogramPlot::clearData(), fitSuiteItem(), SessionItem::getItemValue(), m_histPlot, SessionItem::mapper(), RealSpace::Particles::name(), FitSuiteItem::P_CHI2, FitSuiteItem::P_ITERATION_COUNT, and ModelMapper::setOnPropertyChange().

Here is the call graph for this function:

◆ unsubscribeFromItem()

void FitFlowWidget::unsubscribeFromItem ( )
protectedvirtual

Reimplemented from SessionItemWidget.

Definition at line 48 of file FitFlowWidget.cpp.

49 {
51  m_x.clear();
52  m_y.clear();
53 }
QVector< double > m_x
Definition: FitFlowWidget.h:39
QVector< double > m_y
Definition: FitFlowWidget.h:40

References HistogramPlot::clearData(), m_histPlot, m_x, and m_y.

Here is the call graph for this function:

Member Data Documentation

◆ m_histPlot

HistogramPlot* FitFlowWidget::m_histPlot
private

Definition at line 38 of file FitFlowWidget.h.

Referenced by FitFlowWidget(), subscribeToItem(), and unsubscribeFromItem().

◆ m_itemController

◆ m_x

QVector<double> FitFlowWidget::m_x
private

Definition at line 39 of file FitFlowWidget.h.

Referenced by unsubscribeFromItem().

◆ m_y

QVector<double> FitFlowWidget::m_y
private

Definition at line 40 of file FitFlowWidget.h.

Referenced by unsubscribeFromItem().


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