BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
SpecularInstrumentEditor.cpp
Go to the documentation of this file.
1 // ************************************************************************************************
2 //
3 // BornAgain: simulate and fit reflection and scattering
4 //
5 //! @file GUI/coregui/Views/InstrumentWidgets/SpecularInstrumentEditor.cpp
6 //! @brief Implements class SpecularInstrumentEditor
7 //!
8 //! @homepage http://www.bornagainproject.org
9 //! @license GNU General Public License v3 or higher (see COPYING)
10 //! @copyright Forschungszentrum Jülich GmbH 2018
11 //! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS)
12 //
13 // ************************************************************************************************
14 
22 #include <QVBoxLayout>
23 
25  : SessionItemWidget(parent)
26  , m_columnResizer(new ColumnResizer(this))
27  , m_beamEditor(new SpecularBeamEditor(m_columnResizer))
28  , m_environmentEditor(new EnvironmentEditor(m_columnResizer))
29  , m_polarizationAnalysisEditor(nullptr)
30 {
31  auto mainLayout = new QVBoxLayout;
32 
33  mainLayout->addWidget(StyleUtils::createDetailsWidget(m_beamEditor, "Beam parameters"));
34  mainLayout->addWidget(StyleUtils::createDetailsWidget(m_environmentEditor, "Environment",
35  /*expanded*/ false));
36  mainLayout->addStretch();
37 
38  setLayout(mainLayout);
39 }
40 
42 {
45  // m_polarizationAnalysisEditor->setItem(instrumentItem());
46 }
47 
49 {
50  auto result = dynamic_cast<SpecularInstrumentItem*>(currentItem());
51  ASSERT(result);
52  return result;
53 }
#define ASSERT(condition)
Definition: Assert.h:31
Defines class ColumnResizer.
Defines class EnvironmentEditor.
Defines InstrumentItems classes.
Defines class PolarizationAnalysisEditor.
Defines class SpecularBeamEditor.
Defines class SpecularInstrumentEditor.
DefinesStyleUtils namespace.
The ColumnResizer class provides vertically aligned widgets from diferent layouts.
Definition: ColumnResizer.h:37
Environment editor (i.e.
The SessionItemWidget class is a base for all widgets representing the content of SessionItem.
SessionItem * currentItem()
virtual void setItem(SessionItem *item)
Specular beam editor. Operates on SpecularInstrumentItem.
SpecularInstrumentItem * instrumentItem()
SpecularInstrumentEditor(QWidget *parent=nullptr)
EnvironmentEditor * m_environmentEditor
SpecularBeamEditor * m_beamEditor
QWidget * createDetailsWidget(QWidget *content, const QString &name, bool expanded=true)
Creates details widget holding user content inside.
Definition: StyleUtils.cpp:96