BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
OffSpecularInstrumentEditor.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/OffSpecularInstrumentEditor.cpp
6 //! @brief Implements class OffSpecularInstrumentEditor
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 
23 #include <QVBoxLayout>
24 
26  : SessionItemWidget(parent)
27  , m_columnResizer(new ColumnResizer(this))
28  , m_beamEditor(new OffSpecularBeamEditor(m_columnResizer))
29  , m_detectorEditor(new GISASDetectorEditor)
30  // temporary switched off to avoid memory leakage
31  //, m_environmentEditor(new EnvironmentEditor(m_columnResizer))
32  //, m_polarizationAnalysisEditor(new PolarizationAnalysisEditor(m_columnResizer))
33  , m_environmentEditor(nullptr)
34  , m_polarizationAnalysisEditor(nullptr)
35 {
36  auto mainLayout = new QVBoxLayout;
37 
38  mainLayout->addWidget(StyleUtils::createDetailsWidget(m_beamEditor, "Beam parameters"));
39  mainLayout->addWidget(StyleUtils::createDetailsWidget(m_detectorEditor, "Detector parameters"));
40  mainLayout->addStretch();
41 
42  setLayout(mainLayout);
43 }
44 
46 {
49  // m_environmentEditor->setItem(instrumentItem());
50  // m_polarizationAnalysisEditor->setItem(instrumentItem());
51 }
52 
54 {
55  auto result = dynamic_cast<OffSpecularInstrumentItem*>(currentItem());
56  ASSERT(result);
57  return result;
58 }
#define ASSERT(condition)
Definition: Assert.h:31
Defines class ColumnResizer.
Defines class EnvironmentEditor.
Defines class GISASDetectorEditor.
Defines InstrumentItems classes.
Defines class OffSpecularBeamEditor.
Defines class OffSpecularInstrumentEditor.
Defines class PolarizationAnalysisEditor.
DefinesStyleUtils namespace.
The ColumnResizer class provides vertically aligned widgets from diferent layouts.
Definition: ColumnResizer.h:37
GISAS detector editor.
GISAS beam editor. Operates on GISASInstrumentItem.
OffSpecularInstrumentEditor(QWidget *parent=nullptr)
OffSpecularInstrumentItem * instrumentItem()
The SessionItemWidget class is a base for all widgets representing the content of SessionItem.
SessionItem * currentItem()
virtual void setItem(SessionItem *item)
QWidget * createDetailsWidget(QWidget *content, const QString &name, bool expanded=true)
Creates details widget holding user content inside.
Definition: StyleUtils.cpp:96