BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
SpecularDataWidget.cpp
Go to the documentation of this file.
1 // ************************************************************************************************
2 //
3 // BornAgain: simulate and fit reflection and scattering
4 //
5 //! @file GUI/coregui/Views/SpecularDataWidgets/SpecularDataWidget.cpp
6 //! @brief Implements class SpecularDataWidget
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 <QBoxLayout>
23 #include <QMenu>
24 
26  : SessionItemWidget(parent)
27  , m_intensity_canvas(new SpecularDataCanvas)
28  , m_property_widget(new IntensityDataPropertyWidget)
29 {
30  setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
31 
32  auto hlayout = new QHBoxLayout;
33  hlayout->setMargin(0);
34  hlayout->setSpacing(0);
35  hlayout->addWidget(m_intensity_canvas);
36  hlayout->addWidget(m_property_widget);
37 
38  auto mainLayout = new QVBoxLayout;
39  mainLayout->setMargin(0);
40  mainLayout->setSpacing(0);
41  mainLayout->addLayout(hlayout);
42 
43  setLayout(mainLayout);
44 
45  connect(m_intensity_canvas, &SpecularDataCanvas::customContextMenuRequested, this,
47 
48  m_property_widget->setVisible(false);
49 }
50 
52 {
56 }
57 
59 {
61 }
62 
64 {
65  QMenu menu;
66  for (auto action : actionList())
67  menu.addAction(action);
68  menu.exec(point);
69 }
70 
72 {
74 }
Defines namespace DataItemUtils.
Defines class GUIHelpers functions.
Defines class IntensityDataPropertyWidget.
Defines class JobItem.
Defines class SpecularDataCanvas.
Defines class SpecularDataItem.
Defines class SpecularDataWidget.
The IntensityDataPropertyWidget shows ComponentEditor for given IntensityDataItem.
The SessionItemWidget class is a base for all widgets representing the content of SessionItem.
SessionItem * currentItem()
virtual void setItem(SessionItem *item)
void setItem(SessionItem *intensityItem) override
QList< QAction * > actionList() override
SpecularDataWidget(QWidget *parent=nullptr)
IntensityDataPropertyWidget * m_property_widget
void setItem(SessionItem *jobItem)
void onContextMenuRequest(const QPoint &point)
SpecularDataItem * specularDataItem()
SpecularDataCanvas * m_intensity_canvas
QList< QAction * > actionList()
SpecularDataItem * specularDataItem(SessionItem *parent)
Returns SpecularDataItem contained as a child in givent parent.