BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
colormapcanvas.h
Go to the documentation of this file.
1 // ************************************************************************************************
2 //
3 // qt-mvvm: Model-view-view-model framework for large GUI applications
4 //
5 //! @file mvvm/view/mvvm/plotting/colormapcanvas.h
6 //! @brief Defines 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 Gennady Pospelov et al, Scientific Computing Group at MLZ (see CITATION, AUTHORS)
12 //
13 // ************************************************************************************************
14 
15 #ifndef BORNAGAIN_MVVM_VIEW_MVVM_PLOTTING_COLORMAPCANVAS_H
16 #define BORNAGAIN_MVVM_VIEW_MVVM_PLOTTING_COLORMAPCANVAS_H
17 
18 #include "mvvm/view_export.h"
19 #include <QWidget>
20 #include <memory>
21 
22 namespace ModelView {
23 
24 class ColorMapViewportItem;
25 class SceneAdapterInterface;
26 
27 //! Widget to show 2D data as color map.
28 //! Contains embedded QCustomPlot widget, shows content of ColorMapViewportItem.
29 
30 class MVVM_VIEW_EXPORT ColorMapCanvas : public QWidget {
31  Q_OBJECT
32 
33 public:
34  explicit ColorMapCanvas(QWidget* parent = nullptr);
35  ~ColorMapCanvas() override;
36 
37  void setItem(ColorMapViewportItem* viewport_item);
38 
39  std::unique_ptr<SceneAdapterInterface> createSceneAdapter() const;
40 
41 private:
42  struct ColorMapCanvasImpl;
43  std::unique_ptr<ColorMapCanvasImpl> p_impl;
44 };
45 
46 } // namespace ModelView
47 
48 #endif // BORNAGAIN_MVVM_VIEW_MVVM_PLOTTING_COLORMAPCANVAS_H
Widget to show 2D data as color map.
std::unique_ptr< ColorMapCanvasImpl > p_impl
Container with viewport and collection of ColorMapItem's to plot.
materialitems.h Collection of materials to populate MaterialModel.