BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
ImportDataView.cpp
Go to the documentation of this file.
1 // ************************************************************************************************
2 //
3 // BornAgain: simulate and fit reflection and scattering
4 //
5 //! @file GUI/coregui/Views/ImportDataView.cpp
6 //! @brief Implements class ImportDataView
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 
21 #include <QSplitter>
22 #include <QVBoxLayout>
23 
24 namespace {
25 const bool reuse_widget = true;
26 }
27 
29  : QWidget(mainWindow)
30  , m_selectorWidget(new RealDataSelectorWidget)
31  , m_stackedWidget(new ItemStackPresenter<RealDataPresenter>(reuse_widget))
32  , m_realDataModel(mainWindow->realDataModel())
33 {
34  auto mainLayout = new QVBoxLayout;
35  mainLayout->setMargin(0);
36  mainLayout->setSpacing(0);
37  mainLayout->setContentsMargins(0, 0, 0, 0);
38 
39  m_stackedWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
40  m_selectorWidget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding);
41  m_stackedWidget->setSizeHint(QSize(1024, 1024));
42 
43  auto splitter = new QSplitter;
44  splitter->addWidget(m_selectorWidget);
45  splitter->addWidget(m_stackedWidget);
46  splitter->setCollapsible(0, false);
47  splitter->setCollapsible(1, false);
48 
49  splitter->setSizes(QList<int>() << Constants::ITEM_SELECTOR_WIDGET_WIDTH
51 
52  mainLayout->addWidget(splitter);
53 
54  setLayout(mainLayout);
55 
57 
58  m_selectorWidget->setModel(mainWindow->realDataModel());
59  m_stackedWidget->setModel(mainWindow->realDataModel());
60 }
61 
63 {
64  m_stackedWidget->setItem(item);
65 }
66 
68 {
71 }
Defines class MainWindow.
Defines class ImportDataView.
Defines class ItemSelectorWidget.
Defines class RealDataModel.
Defines class RealDataSelectorWidget.
RealDataSelectorWidget * m_selectorWidget
ItemStackPresenter< RealDataPresenter > * m_stackedWidget
ImportDataView(class MainWindow *mainWindow)
void onSelectionChanged(SessionItem *item)
The ItemStackPresenter templated class extends ItemStackWidget so it could operate with SesionItem ed...
void setItem(U *item, bool *isNew=0)
Shows the widget for given item (and hides previous one).
void setModel(SessionModel *model)
void setSizeHint(const QSize &size_hint)
RealDataModel * realDataModel()
Definition: mainwindow.cpp:149
Presents imported data (RealDataItem) using stack of different widgets and combo box in the right top...
The RealDataSelectorWidget represents left panel of ImportDataView.
void setModel(RealDataModel *realDataModel)
void selectionChanged(SessionItem *)
Defines namespace Constants.
const unsigned int ITEM_SELECTOR_WIDGET_WIDTH