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

Specular beam editor. Operates on SpecularInstrumentItem. More...

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

Public Member Functions

 SpecularBeamEditor (ColumnResizer *columnResizer, 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

SpecularInstrumentIteminstrumentItem ()
 
void onDialogRequest (SessionItem *item, const QString &name)
 

Private Attributes

ColumnResizerm_columnResizer
 
ComponentEditorm_footprint_editor
 
QGridLayout * m_gridLayout
 
ComponentEditorm_inclinationEditor
 
ComponentEditorm_intensityEditor
 
SessionItemControllerm_itemController
 
ComponentEditorm_wavelengthEditor
 

Detailed Description

Specular beam editor. Operates on SpecularInstrumentItem.

Definition at line 28 of file SpecularBeamEditor.h.

Constructor & Destructor Documentation

◆ SpecularBeamEditor()

SpecularBeamEditor::SpecularBeamEditor ( ColumnResizer columnResizer,
QWidget *  parent = nullptr 
)
explicit

Definition at line 32 of file SpecularBeamEditor.cpp.

33  : SessionItemWidget(parent)
34  , m_columnResizer(columnResizer)
39  , m_gridLayout(new QGridLayout)
40 {
41  m_gridLayout->addWidget(m_intensityEditor, 0, 0);
42  m_gridLayout->addWidget(m_wavelengthEditor, 1, 0);
43  m_gridLayout->addWidget(m_inclinationEditor, 1, 1);
44  m_gridLayout->addWidget(LayoutUtils::placeHolder(), 1, 2);
45  m_gridLayout->addWidget(m_footprint_editor, 2, 0);
46 
47  auto mainLayout = new QVBoxLayout;
48  mainLayout->addLayout(m_gridLayout);
49  mainLayout->addStretch();
50  setLayout(mainLayout);
51 
56 
60 }
void addWidgetsFromGridLayout(QGridLayout *, int column)
Component editor for SessionItem.
void dialogRequest(SessionItem *item, const QString &names)
SessionItemWidget(QWidget *parent=0)
ColumnResizer * m_columnResizer
ComponentEditor * m_footprint_editor
ComponentEditor * m_wavelengthEditor
ComponentEditor * m_intensityEditor
QGridLayout * m_gridLayout
void onDialogRequest(SessionItem *item, const QString &name)
ComponentEditor * m_inclinationEditor
QWidget * placeHolder()
Returns empty widget to occupy place in layout.

References ColumnResizer::addWidgetsFromGridLayout(), ComponentEditor::dialogRequest(), m_columnResizer, m_footprint_editor, m_gridLayout, m_inclinationEditor, m_intensityEditor, m_wavelengthEditor, onDialogRequest(), and LayoutUtils::placeHolder().

Here is the call graph for this function:

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(), FitFlowWidget::fitSuiteItem(), DistributionEditor::groupItem(), DepthProbeInstrumentEditor::instrumentItem(), EnvironmentEditor::instrumentItem(), GISASBeamEditor::instrumentItem(), GISASDetectorEditor::instrumentItem(), GISASInstrumentEditor::instrumentItem(), OffSpecularBeamEditor::instrumentItem(), OffSpecularInstrumentEditor::instrumentItem(), PolarizationAnalysisEditor::instrumentItem(), 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:

◆ 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:

◆ instrumentItem()

SpecularInstrumentItem * SpecularBeamEditor::instrumentItem ( )
private

Definition at line 89 of file SpecularBeamEditor.cpp.

90 {
91  auto result = dynamic_cast<SpecularInstrumentItem*>(currentItem());
92  ASSERT(result);
93  return result;
94 }
#define ASSERT(condition)
Definition: Assert.h:31

References ASSERT, and SessionItemWidget::currentItem().

Referenced by subscribeToItem().

Here is the call graph for this function:

◆ onDialogRequest()

void SpecularBeamEditor::onDialogRequest ( SessionItem item,
const QString &  name 
)
private

Definition at line 96 of file SpecularBeamEditor.cpp.

97 {
98  if (!item)
99  return;
100 
101  auto dialog = new DistributionDialog(this);
102  dialog->setItem(item);
103  dialog->setNameOfEditor(name);
104  dialog->show();
105 }
The dialog which shows an editor to change parameters of DistributionItem.
QString const & name(EShape k)
Definition: particles.cpp:21

References RealSpace::Particles::name().

Referenced by SpecularBeamEditor().

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 SpecularBeamEditor::subscribeToItem ( )
protectedvirtual

Reimplemented from SessionItemWidget.

Definition at line 62 of file SpecularBeamEditor.cpp.

63 {
64  const auto beam_item = instrumentItem()->beamItem();
65  ASSERT(beam_item);
66 
68 
69  auto wavelengthItem = beam_item->getItem(SpecularBeamItem::P_WAVELENGTH);
71 
72  auto inclinationItem = beam_item->getItem(SpecularBeamItem::P_INCLINATION_ANGLE);
74  inclinationItem->getItem(SpecularBeamInclinationItem::P_DISTRIBUTION));
76  inclinationItem->getItem(SpecularBeamInclinationItem::P_ALPHA_AXIS));
77 
79 }
static const QString P_DISTRIBUTION
static const QString P_WAVELENGTH
Definition: BeamItems.h:29
static const QString P_INCLINATION_ANGLE
Definition: BeamItems.h:30
static const QString P_INTENSITY
Definition: BeamItems.h:28
void addItem(SessionItem *item)
void setItem(SessionItem *item)
SpecularInstrumentItem * instrumentItem()
static const QString P_FOOPTPRINT
Definition: BeamItems.h:56
SpecularBeamItem * beamItem() const override

References ComponentEditor::addItem(), ASSERT, SpecularInstrumentItem::beamItem(), instrumentItem(), m_footprint_editor, m_inclinationEditor, m_intensityEditor, m_wavelengthEditor, SpecularBeamInclinationItem::P_ALPHA_AXIS, BeamDistributionItem::P_DISTRIBUTION, SpecularBeamItem::P_FOOPTPRINT, BeamItem::P_INCLINATION_ANGLE, BeamItem::P_INTENSITY, BeamItem::P_WAVELENGTH, and ComponentEditor::setItem().

Here is the call graph for this function:

◆ unsubscribeFromItem()

void SpecularBeamEditor::unsubscribeFromItem ( )
protectedvirtual

Reimplemented from SessionItemWidget.

Definition at line 81 of file SpecularBeamEditor.cpp.

References ComponentEditor::clearEditor(), m_footprint_editor, m_inclinationEditor, m_intensityEditor, and m_wavelengthEditor.

Here is the call graph for this function:

Member Data Documentation

◆ m_columnResizer

ColumnResizer* SpecularBeamEditor::m_columnResizer
private

Definition at line 42 of file SpecularBeamEditor.h.

Referenced by SpecularBeamEditor().

◆ m_footprint_editor

ComponentEditor* SpecularBeamEditor::m_footprint_editor
private

Definition at line 46 of file SpecularBeamEditor.h.

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

◆ m_gridLayout

QGridLayout* SpecularBeamEditor::m_gridLayout
private

Definition at line 47 of file SpecularBeamEditor.h.

Referenced by SpecularBeamEditor().

◆ m_inclinationEditor

ComponentEditor* SpecularBeamEditor::m_inclinationEditor
private

Definition at line 45 of file SpecularBeamEditor.h.

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

◆ m_intensityEditor

ComponentEditor* SpecularBeamEditor::m_intensityEditor
private

Definition at line 43 of file SpecularBeamEditor.h.

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

◆ m_itemController

◆ m_wavelengthEditor

ComponentEditor* SpecularBeamEditor::m_wavelengthEditor
private

Definition at line 44 of file SpecularBeamEditor.h.

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


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