1 #ifndef ScatterPlotWindow_h
2 #define ScatterPlotWindow_h
8 #include <QScopedPointer>
10 class QwtPlotSpectrogram;
15 class ScatterPlotTool;
44 Cube *xAxisCube,
int xAxisBand,
int xAxisBinCount,
45 Cube *yAxisCube,
int yAxisBand,
int yAxisBinCount,
46 QwtInterval sampleRange, QwtInterval lineRange,
Cube display widget for certain Isis MDI applications.
void mouseMoveEvent(QMouseEvent *e)
When the mosue moves, this updates the alarming information and causes repaints on the cube viewports...
bool eventFilter(QObject *o, QEvent *e)
We override events done on the plot canvas for alarming purposes.
int m_yAxisCubeBand
The band on the Y-Axis cube used for the scatter plot.
bool m_alarmViewport
Alarm onto viewport... aka alarm plot->viewport.
AlarmRangeUnits m_alarmViewportUnits
Alarm plot->viewport current units.
void setAlarmViewportUnits(AlarmRangeUnits)
This sets the units to be used for alarming plot->viewport.
void colorPlot()
This method switches the color mode of the scatter plot from black and white to color and visa versa...
void setAlarmingPlot(bool)
This enables or disables alarming viewport->plot.
bool isYCube(MdiCubeViewport *vp) const
Returns true if the viewport's cube is the cube currently being used on the y-axis.
int m_alarmPlotSamples
Alarm viewport->plot viewport sample box size.
bool alarmingPlot() const
This indicates if we are alarming from viewport to plot.
QPair< int, int > alarmPlotBoxSize() const
This is the sample/line box sizes for alarming from viewport to plot.
int m_alarmPlotLines
Alarm viewport->plot viewport line box size.
QPair< double, double > m_yCubeDnAlarmRange
The DN range of the Y-Axis Cube to be alarmed when painting.
QPair< double, double > alarmViewportDnBoxSize() const
This is the alarming box size for plot->viewport in cube units (number of samples/lines).
Alarming is a DN range around the mouse.
bool m_alarmPlot
Alarm onto plot... aka alarm viewport->plot.
int m_alarmViewportScreenHeight
Alarm plot->viewport Y (screen pixels) box size.
ScatterPlotWindow(QString title, Cube *xAxisCube, int xAxisBand, int xAxisBinCount, Cube *yAxisCube, int yAxisBand, int yAxisBinCount, QwtInterval sampleRange, QwtInterval lineRange, QWidget *parent)
Create a scatter plot window with the given data.
void setAlarmViewportDnBoxSize(double, double)
This sets the cube DN box size for alarming plot->viewport.
QPair< int, int > alarmViewportScreenBoxSize() const
This is the alarming box size for plot->viewport in screen units.
QPointer< QAction > m_colorize
The action for switching the scatter plot from B/W to color.
QwtInterval m_sampleRange
The sample range (1-based inclusive) of data used for the scatter plot.
Alarming is a visible area around the mouse.
bool isXCube(MdiCubeViewport *vp) const
Returns true if the viewport's cube is the cube currently being used on the x-axis.
virtual void paint(MdiCubeViewport *vp, QPainter *painter)
If the viewport is showing the x axis cube data or y axis cube data, and alarming is enabled...
void updateContourPen()
This sets the contour pen to an appropriate color based on the color of the plot (B/W v...
void setAlarmPlotBoxSize(int, int)
This sets the box size for alarming viewport->plot in cube samples/lines.
int m_xAxisCubeBand
The band on the X-Axis cube used for the scatter plot.
double m_alarmViewportYDnBoxSize
Alarm plot->viewport Y (Cube DN) box size.
void mouseLeaveEvent(QMouseEvent *e)
When the mouse leaves the plot canvas we disable all alarming from plot->viewport.
AlarmRangeUnits alarmViewportUnits() const
This is the active alarming units for plot->viewport.
AlarmRangeUnits
This enumeration differentiates alarming a strict cube DN box size from a screen region.
bool alarmingViewport() const
This indicates if we are alarming from plot to viewport.
double m_alarmViewportXDnBoxSize
Alarm plot->viewport X (Cube DN) box size.
void forgetCubes()
This causes the window to lose it's pointers to the input cubes.
void setAlarmViewportScreenBoxSize(int, int)
This sets the screen pixel box size for alarming plot->viewport.
Cube * m_xAxisCube
The cube associated with the X-Axis DN values.
QPair< double, double > m_xCubeDnAlarmRange
The DN range of the X-Axis Cube to be alarmed when painting.
void setMousePosition(MdiCubeViewport *vp, QPoint mouseLoc)
Saves the current mouse position in the viewport so that the plot can be alarmed around that position...
Cube * m_yAxisCube
The cube associated with the Y-Axis DN values.
void showHideContour()
This method hides or displays the contour lines on the spectrogram.
void setAlarmingViewport(bool)
This enables or disables alarming plot->viewport.
QwtInterval m_lineRange
The line range (1-based inclusive) of data used for the scatter plot.
QPointer< QAction > m_contour
The action for switching on and off contour lines.
QwtPlotSpectrogram * m_spectrogram
This is the scatter plot's Qwt plot item.
int m_alarmViewportScreenWidth
Alarm plot->viewport X (screen pixels) box size.
void configureAlarming()
Give the users an alarm config dialog to change the alarming settings.
IO Handler for Isis Cubes.