BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
ColorMapSceneAdaptor.cpp
Go to the documentation of this file.
1 // ************************************************************************************************
2 //
3 // BornAgain: simulate and fit reflection and scattering
4 //
5 //! @file GUI/coregui/Views/MaskWidgets/ColorMapSceneAdaptor.cpp
6 //! @brief Implements class ColorMapSceneAdaptor
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 
17 
19 
20 qreal ColorMapSceneAdaptor::toSceneX(qreal mask_x) const
21 {
22  return m_plot ? m_plot->xAxisCoordToPixel(mask_x) : mask_x;
23 }
24 
25 qreal ColorMapSceneAdaptor::toSceneY(qreal mask_y) const
26 {
27  return m_plot ? m_plot->yAxisCoordToPixel(mask_y) : mask_y;
28 }
29 
30 qreal ColorMapSceneAdaptor::fromSceneX(qreal scene_x) const
31 {
32  return m_plot ? m_plot->pixelToXaxisCoord(scene_x) : scene_x;
33 }
34 
35 qreal ColorMapSceneAdaptor::fromSceneY(qreal scene_y) const
36 {
37  return m_plot ? m_plot->pixelToYaxisCoord(scene_y) : scene_y;
38 }
39 
41 {
42  m_plot = plot;
43  if (m_plot)
44  m_plot->installEventFilter(this);
45 }
46 
47 bool ColorMapSceneAdaptor::eventFilter(QObject* object, QEvent* event)
48 {
49  Q_UNUSED(object);
50  if (event->type() == QEvent::Resize || event->type() == QEvent::UpdateRequest) {
52  emit update_request();
53  return false;
54  }
55  return true;
56 }
57 
59 {
60  return m_viewport_rectangle;
61 }
Defines class ColorMapSceneAdaptor.
Defines class ColorMap.
void setColorMapPlot(ColorMap *plot)
qreal fromSceneX(qreal scene_x) const
convert scene x-coordinate to native mask coordinate
qreal fromSceneY(qreal scene_y) const
convert scene y-coordinate to native mask coordinate
const QRectF & viewportRectangle() const
returns ColorMapPlot axes rectangle (at current zoom level) in scene coordinates
qreal toSceneX(qreal mask_x) const
convert native mask x-coordinate to scene coordinate
bool eventFilter(QObject *object, QEvent *event)
qreal toSceneY(qreal mask_y) const
convert native mask y-coordinate to scene coordinate
The ColorMap class presents 2D intensity data from IntensityDataItem as color map.
Definition: ColorMap.h:36
QRectF viewportRectangleInWidgetCoordinates()
returns rectangle representing current axes zoom state in widget coordinates
Definition: ColorMap.cpp:51
QRectF m_viewport_rectangle
Definition: ISceneAdaptor.h:45
void update_request()
double yAxisCoordToPixel(double axis_coordinate) const
double pixelToYaxisCoord(double pixel) const
double pixelToXaxisCoord(double pixel) const
transform widget coordinates to axes coordinates
double xAxisCoordToPixel(double axis_coordinate) const
transform axes coordinates to CustomPlot widget coordinates