BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
sldeditor.cpp
Go to the documentation of this file.
1 // ************************************************************************************************
2 //
3 // BornAgain: simulate and fit reflection and scattering
4 //
5 //! @file gui2/sldeditor/sldeditor.cpp
6 //! @brief Implements class CLASS?
7 //!
8 //! @homepage http://www.bornagainproject.org
9 //! @license GNU General Public License v3 or higher (see COPYING)
10 //! @copyright Forschungszentrum Jülich GmbH 2020
11 //! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS)
12 //
13 // ************************************************************************************************
14 
23 #include <QVBoxLayout>
24 
25 namespace gui2 {
26 
27 //! The constructor
28 SLDEditor::SLDEditor(QWidget* parent)
29  : QWidget(parent)
30  , m_editorActions(new SLDEditorActions(this))
31  , m_viewWidget(new SLDViewWidget(this))
32  , m_toolBar(new SLDEditorToolBar(m_editorActions))
33 {
34  setWindowTitle("SLD editor");
35  auto layout = new QVBoxLayout;
36  layout->addWidget(m_toolBar);
37  layout->addWidget(m_viewWidget);
38  setLayout(layout);
39  layout->setContentsMargins(0, 0, 0, 0);
40  layout->setSpacing(0);
41 
42  connect(dynamic_cast<SLDEditorToolBar*>(m_toolBar), &SLDEditorToolBar::resetViewport, [this]() {
43  GraphicsScene* scene_item = dynamic_cast<GraphicsScene*>(m_viewWidget->scene());
44  if (!scene_item)
45  return;
46  scene_item->graphCanvas()->setViewportToContent();
47  });
48 }
49 
50 //! The destructor
51 SLDEditor::~SLDEditor() = default;
52 
54 {
55  m_viewWidget->setModels(models);
57 }
58 
59 QSize SLDEditor::sizeHint() const
60 {
61  return StyleUtils::DockSizeHint();
62 }
63 
65 {
67 }
68 
69 } // namespace gui2
Defines class CLASS?
void setViewportToContent(double left, double top, double right, double bottom)
Main class to holds all models of GUI session.
SLDElementModel * sldViewModel()
Custom graphics scene to show QCustomPlot with additional elements on top.
Definition: graphicsscene.h:34
ModelView::GraphCanvas * graphCanvas() const
Set te graph canvas item.
Handles user actions applied to SLDEditor.
void setModel(SLDElementModel *model)
Material editor toolbar.
SLDViewWidget * m_viewWidget
Definition: sldeditor.h:42
QSize sizeHint() const override
Definition: sldeditor.cpp:59
~SLDEditor()
The destructor.
SLDEditorActions * m_editorActions
Definition: sldeditor.h:41
SLDEditorToolBar * m_toolBar
Definition: sldeditor.h:43
QSize minimumSizeHint() const override
Definition: sldeditor.cpp:64
void setModels(ApplicationModels *models)
Definition: sldeditor.cpp:53
SLDEditor(QWidget *parent=nullptr)
The constructor.
Definition: sldeditor.cpp:28
The segment QGraphicsViewItem on the Graphicsscene.
Definition: sldviewwidget.h:28
void setModels(ApplicationModels *models)
Defines class CLASS?
Defines class CLASS?
Defines class CLASS?
DAREFLCORE_EXPORT QSize DockMinimumSizeHint()
Hint on minimum size of docks on main reflectometry window.
Definition: styleutils.cpp:34
DAREFLCORE_EXPORT QSize DockSizeHint()
Hint on size of docks on main reflectometry window.
Definition: styleutils.cpp:29
Based on Qt example "codeeditor" Copyright (C) 2016 The Qt Company Ltd.
Definition: app_constants.h:20
Defines class CLASS?
Defines class CLASS?
Defines class CLASS?
Defines class CLASS?