BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
ProjectionsEditor.h
Go to the documentation of this file.
1 // ************************************************************************************************
2 //
3 // BornAgain: simulate and fit reflection and scattering
4 //
5 //! @file GUI/coregui/Views/JobWidgets/ProjectionsEditor.h
6 //! @brief Defines class ProjectionsEditor
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 
15 #ifndef BORNAGAIN_GUI_COREGUI_VIEWS_JOBWIDGETS_PROJECTIONSEDITOR_H
16 #define BORNAGAIN_GUI_COREGUI_VIEWS_JOBWIDGETS_PROJECTIONSEDITOR_H
17 
18 #include <QMainWindow>
19 
20 class SessionModel;
21 class QModelIndex;
22 class IntensityDataItem;
23 class ProjectionsToolBar;
25 class ProjectionsActions;
28 class ProjectionsWidget;
29 class QItemSelectionModel;
30 
31 //! Editor to draw projections on top of intensity plot. Part of
32 
33 class ProjectionsEditor : public QMainWindow {
34  Q_OBJECT
35 
36 public:
37  ProjectionsEditor(QWidget* parent = nullptr);
38 
39  void setContext(SessionModel* model, const QModelIndex& shapeContainerIndex,
40  IntensityDataItem* intensityItem);
41 
42  void resetContext();
43 
44  QList<QAction*> topToolBarActions();
45 
46 private:
47  void setup_connections();
48 
50  ProjectionsToolBar* m_toolBar; //! main tool bar with bottoms at the right
51  ProjectionsEditorCanvas* m_projectionsCanvas; //! canvas with color map at the top
52  ProjectionsWidget* m_projectionsWidget; //! bottom widget to draw projections plot
53  ProjectionsPropertyPanel* m_propertyPanel; //! pannel at the right with properties
54  QItemSelectionModel* m_selectionModel;
55 };
56 
57 #endif // BORNAGAIN_GUI_COREGUI_VIEWS_JOBWIDGETS_PROJECTIONSEDITOR_H
Provides various actions for ProjectionsEditor.
Holds a graphics scene to draw projections on top of ColorMap.
Editor to draw projections on top of intensity plot. Part of.
ProjectionsEditor(QWidget *parent=nullptr)
QList< QAction * > topToolBarActions()
ProjectionsEditorCanvas * m_projectionsCanvas
main tool bar with bottoms at the right
void setContext(SessionModel *model, const QModelIndex &shapeContainerIndex, IntensityDataItem *intensityItem)
ProjectionsToolBar * m_toolBar
QItemSelectionModel * m_selectionModel
pannel at the right with properties
ProjectionsEditorActions * m_editorActions
ProjectionsPropertyPanel * m_propertyPanel
bottom widget to draw projections plot
ProjectionsWidget * m_projectionsWidget
canvas with color map at the top
Toolbar with projections buttons (horizontal projections, vertical projections, select,...
Holds tabs of vertical and horizontal projections, located at the bottom of ProjectionsEditor.