Isis 3 Programmer Reference
Isis::SpectralPlotTool Class Reference

Plot cube DN statistics against the cube band numbers. More...

#include <SpectralPlotTool.h>

Inheritance diagram for Isis::SpectralPlotTool:
Inheritance graph
Collaboration diagram for Isis::SpectralPlotTool:
Collaboration graph

Public Slots

void refreshPlot ()
 This method replots the data, with current settings and rubber band, in the plot window. More...
 
void removeWindow (QObject *)
 When a user closes a window, we want to remove that window from our combo box for selecting the active window. More...
 
void repaintViewports (CubePlotCurve *)
 This method causes the viewports corresponding with the given CubePlotCurve to be repainted with all of the area's of interest associated with the CubePlotCurve's PlotWindow. More...
 
void showPlotWindow ()
 displays the plot window More...
 
void activate (bool)
 Activates the tool. More...
 
void setCubeViewport (MdiCubeViewport *cvp)
 Sets the current viewport to the given cvp. More...
 

Signals

void clearWarningSignal ()
 
void toolActivated ()
 
void viewportChanged ()
 

Public Member Functions

 SpectralPlotTool (QWidget *parent)
 This constructs a spectral plot tool. More...
 
virtual void paintViewport (MdiCubeViewport *vp, QPainter *painter)
 This method allows each plot window to paint any information it wants onto the cube viewports. More...
 
void addTo (ViewportMainWindow *mw)
 Adds the tool to the application. More...
 
void addTo (ToolPad *toolpad)
 Adds the tool to the toolpad. More...
 
virtual void addTo (Workspace *ws)
 Adds the given workspace to the cubeviewport list. More...
 
virtual QString menuName () const
 Anytime a tool is created, you must give it a name for the menu. More...
 
virtual void addToPermanent (QToolBar *toolbar)
 
void addToActive (QToolBar *toolbar)
 
QString toolIconDir () const
 returns the path to the icon directory. More...
 
RubberBandToolrubberBandTool ()
 
void setList (ToolList *currentList)
 

Protected Types

typedef QVector< MdiCubeViewport * > CubeViewportList
 A list of cubeviewports. More...
 

Protected Slots

virtual void rubberBandComplete ()
 Called when the user has finished drawing with the rubber band. More...
 
void viewportSelected ()
 This protected slot is called when user selects a viewport. More...
 
void repaintViewports ()
 This method causes all of the viewports to be repainted. More...
 
virtual void screenPixelsChanged ()
 This is called when actions change which pixels from the cube are displayed. More...
 
virtual void mouseEnter ()
 
virtual void mouseMove (QPoint p)
 
virtual void mouseMove (QPoint p, Qt::MouseButton)
 
virtual void mouseLeave ()
 

Protected Member Functions

void addTo (QMenu *menu)
 Adds the plot tool to the menu. More...
 
QWidgetcreateToolBarWidget (QStackedWidget *parent)
 Creates the widgets for the tool bar. More...
 
virtual PlotWindowcreateWindow ()
 Creates a new plot window compatible with the curves in this tool. More...
 
virtual void detachCurves ()
 Forget about all existing plot curves. More...
 
void enableRubberBandTool ()
 This method is called when the tool is activated by the parent, or when the plot mode is changed. More...
 
QComboBoxspectralDisplayCombo () const
 Get the combo box which toggles between units of wavelength and band number. More...
 
QActiontoolPadAction (ToolPad *pad)
 This method configures the QAction for this tool. More...
 
void updateTool ()
 Updates plot tool. More...
 
PlotWindowaddWindow ()
 This creates and initializes everything about a plot window. More...
 
QList< MdiCubeViewport * > viewportsToPlot ()
 Get a list of linked viewports that should be plotting when a new plot is requested. More...
 
QList< PlotWindow * > plotWindows ()
 Get a list of all of the instantiated plot windows. More...
 
PlotWindowselectedWindow (bool createIfNeeded=true)
 Get the 'active' plot window (the window selected by the user to contain new curves). More...
 
virtual void mouseDoubleClick (QPoint p)
 
virtual void mouseButtonPress (QPoint p, Qt::MouseButton s)
 
virtual void mouseButtonRelease (QPoint p, Qt::MouseButton s)
 Resets the Warning to Nowarning when a different activity occurs on the application. More...
 
virtual void updateMeasure ()
 
virtual void scaleChanged ()
 
virtual void stretchRequested (MdiCubeViewport *, int)
 
void registerTool (MdiCubeViewport *viewport)
 Registers the tool to the viewport. More...
 
MdiCubeViewportcubeViewport () const
 Return the current cubeviewport. More...
 
CubeViewportListcubeViewportList () const
 Return the list of cubeviewports. More...
 
virtual void addConnections (MdiCubeViewport *cvp)
 Anytime a tool is created, you must add the connections for it. More...
 
virtual void removeConnections (MdiCubeViewport *cvp)
 Anytime a tool is created, you must be able to remove it's connections. More...
 
Workspaceworkspace ()
 

Static Protected Member Functions

static CubePlotCurvecreateCurve (QString name, QPen pen, PlotCurve::Units xUnits, PlotCurve::Units yUnits)
 This is a helper method for children. More...
 

Private Slots

void selectCurvesToPlot ()
 This prompts the user for which curves they want to plot. More...
 
void selectedWindowChanged ()
 This method is called when the window where new curves are placed is changed by the user. More...
 

Private Member Functions

void getSpectralStatistics (QVector< double > &labels, QVector< Statistics > &data, MdiCubeViewport *viewport)
 This method processes the spectral plot tool's selection and creates statistics for the selected pixels. More...
 
void validatePlotCurves ()
 This method sets up the names, line style, and color of the all the CubePlotCurves that will be used in this class. More...
 
void addViewportConnections ()
 Makes all the connections for the tool. More...
 
void removeViewportConnections ()
 Removes all the connections from the tool. More...
 
void enableToolBar ()
 Enables entire tool bar. More...
 
void disableToolBar ()
 Disables entire tool bar. More...
 

Private Attributes

QPointer< QComboBoxm_displayCombo
 wavelength vs band # More...
 
QPointer< RubberBandComboBoxm_rubberBandCombo
 Combo box with all rubber banding types. More...
 
QPointer< QActionm_toolPadAction
 Plot tool's action. More...
 
QPointer< QActionm_plotAvgAction
 This QAction actives/deactivates plotting the average values. More...
 
QPointer< QActionm_plotMinAction
 This QAction actives/deactivates plotting the min values. More...
 
QPointer< QActionm_plotMaxAction
 This QAction actives/deactivates plotting the max values. More...
 
QPointer< QActionm_plotStdDev1Action
 This QAction actives/deactivates plotting the avg+std dev values. More...
 
QPointer< QActionm_plotStdDev2Action
 This QAction actives/deactivates plotting the avg-std dev values. More...
 
QPointer< QActionm_plotStdErr1Action
 This QAction actives/deactivates plotting the avg+std dev values. More...
 
QPointer< QActionm_plotStdErr2Action
 This QAction actives/deactivates plotting the avg-std dev values. More...
 
QScopedPointer< QMap< MdiCubeViewport *, QPointer< CubePlotCurve > > > m_maxCurves
 Plot curves for max values. More...
 
QScopedPointer< QMap< MdiCubeViewport *, QPointer< CubePlotCurve > > > m_minCurves
 Plot curves for min values. More...
 
QScopedPointer< QMap< MdiCubeViewport *, QPointer< CubePlotCurve > > > m_avgCurves
 Plot curves for average values. More...
 
QScopedPointer< QMap< MdiCubeViewport *, QPointer< CubePlotCurve > > > m_stdDev1Curves
 Plot curves for avg. + std. dev. More...
 
QScopedPointer< QMap< MdiCubeViewport *, QPointer< CubePlotCurve > > > m_stdDev2Curves
 Plot curves for avg. - std. dev. More...
 
QScopedPointer< QMap< MdiCubeViewport *, QPointer< CubePlotCurve > > > m_stdErr1Curves
 Plot curves for avg. + std. err. More...
 
QScopedPointer< QMap< MdiCubeViewport *, QPointer< CubePlotCurve > > > m_stdErr2Curves
 Plot curves for avg. - std. err. More...
 
QPointer< QActionm_showHideBandMarkers
 Hide/show lines action. More...
 
QPointer< QComboBoxm_selectWindowCombo
 This allows the user to select the active plot window. More...
 
MdiCubeViewportm_cvp
 current cubeviewport More...
 
Workspacem_workspace
 
bool m_active
 Is the tool acitve? More...
 
QWidgetm_toolBarWidget
 The tool bar on which this tool resides. More...
 
QString m_toolIconDir
 The pathway to the icon directory. More...
 
ToolListm_toolList
 

Detailed Description

Plot cube DN statistics against the cube band numbers.

This will plot DN statistics against the cube band numbers. The statistical values plotted are the minimum, maximum, mean, mean + standard deviation and mean - standard deviation.

Author
????-??-?? Stacy Alley
History:
2008-08-18 Christopher Austin - Upgraded to geos3.0.0
History:
2008-09-05 Stacy Alley allowed spectral plotting of a single point.
History:
2009-01-29 Steven Lambright - Added RotatedRectangle to the spatial plot
History:
2010-06-26 Eric Hyer - Now uses MdiCubeViewport instead of CubeViewport. Fixed some include issues (many still remain!).
History:
2010-11-08 Eric Hyer - Spacial plot now handles linked images.
History:
2011-03-18 Sharmila Prasad - Connect the viewport's close signal
History:
2011-09-20 Steven Lambright - Now handles NULL statistical values when graphing by not displaying them. Fixes #234.
History:
2012-02-16 Steven Lambright and Jai Rideout - Added standard error of the mean curves. Fixes #713.
History:
2014-04-03 Tracie Sucharski - Reset defaults for plots to the following: SolidLine, Width=1, NoSymbols. This is a temporary fix until the defaults can be saved on a user basis. Fixes #2062.
History:
2014-07-30 Ian Humphrey - Modified getSpectralStatistics() to compute statistics more accurately. Right-to-left selections now select pixels correctly. Polygon selection now selects pixels more accurately for statistics. Added What's This help. Fixes #2071.

Definition at line 57 of file SpectralPlotTool.h.

Member Typedef Documentation

◆ CubeViewportList

typedef QVector< MdiCubeViewport * > Isis::Tool::CubeViewportList
protectedinherited

A list of cubeviewports.

Definition at line 205 of file Tool.h.

Constructor & Destructor Documentation

◆ SpectralPlotTool()

Isis::SpectralPlotTool::SpectralPlotTool ( QWidget parent)

This constructs a spectral plot tool.

The spectral plot tool graphs statistics across a spectrum (bands).

Parameters
parent

Definition at line 45 of file SpectralPlotTool.cpp.

References m_displayCombo, and viewportSelected().

Member Function Documentation

◆ activate

◆ addConnections()

virtual void Isis::Tool::addConnections ( MdiCubeViewport cvp)
inlineprotectedvirtualinherited

Anytime a tool is created, you must add the connections for it.

Parameters
cvp

Reimplemented in Isis::WindowTool, and Isis::TrackTool.

Definition at line 239 of file Tool.h.

Referenced by Isis::Tool::addViewportConnections().

◆ addTo() [1/4]

void Isis::SpectralPlotTool::addTo ( QMenu menu)
protectedvirtual

Adds the plot tool to the menu.

Parameters
menu

Reimplemented from Isis::Tool.

Definition at line 243 of file SpectralPlotTool.cpp.

References m_toolPadAction.

◆ addTo() [2/4]

void Isis::Tool::addTo ( ToolPad toolpad)
inherited

Adds the tool to the toolpad.

Parameters
toolpad

Definition at line 98 of file Tool.cpp.

References Isis::Tool::activate(), Isis::ToolPad::addAction(), Isis::Tool::m_toolPadAction, and Isis::Tool::toolPadAction().

◆ addTo() [3/4]

◆ addTo() [4/4]

void Isis::Tool::addTo ( Workspace ws)
virtualinherited

Adds the given workspace to the cubeviewport list.

Parameters
ws

Reimplemented in Isis::WindowTool, Isis::SpecialPixelTool, Isis::FileTool, and Isis::EditTool.

Definition at line 45 of file Tool.cpp.

References Isis::Tool::registerTool(), and Isis::Tool::setCubeViewport().

◆ addToActive()

void Isis::Tool::addToActive ( QToolBar toolbar)
inherited

◆ addToPermanent()

virtual void Isis::Tool::addToPermanent ( QToolBar toolbar)
inlinevirtualinherited

◆ addViewportConnections()

◆ addWindow()

PlotWindow * Isis::AbstractPlotTool::addWindow ( )
protectedinherited

This creates and initializes everything about a plot window.

This updates the window's title to be unique, adds it to the active plot window combo box, listens for the window to be removed and selects it in the active plot window combo box. Call this if you need a new plot window.

Returns
The newly initialized plot window

Definition at line 303 of file AbstractPlotTool.cpp.

References Isis::AbstractPlotTool::createWindow(), Isis::AbstractPlotTool::m_selectWindowCombo, Isis::AbstractPlotTool::removeWindow(), and Isis::AbstractPlotTool::repaintViewports().

Referenced by Isis::SpatialPlotTool::refreshPlot(), refreshPlot(), Isis::AbstractPlotTool::selectedWindow(), and Isis::AbstractPlotTool::selectedWindowChanged().

◆ createCurve()

CubePlotCurve * Isis::AbstractPlotTool::createCurve ( QString  name,
QPen  pen,
PlotCurve::Units  xUnits,
PlotCurve::Units  yUnits 
)
staticprotectedinherited

This is a helper method for children.

Given a title, a color, and units a new CubePlotCurve is created.

Parameters
nameThe title of the curve to be created
penThe color & thickness of the curve
xUnitsThe units of the x-axis associated with this curve. This must match the plot window's x axis.
yUnitsThe units of the y-axis associated with this curve. This must match the plot window's y axis.
Returns
createCurve The requested plot curve

Definition at line 233 of file AbstractPlotTool.cpp.

References Isis::PlotCurve::setColor(), and Isis::PlotCurve::setPen().

Referenced by Isis::HistogramTool::validatePlotCurves(), Isis::SpatialPlotTool::validatePlotCurves(), and validatePlotCurves().

◆ createToolBarWidget()

QWidget * Isis::SpectralPlotTool::createToolBarWidget ( QStackedWidget *  parent)
protectedvirtual

◆ createWindow()

PlotWindow * Isis::SpectralPlotTool::createWindow ( )
protectedvirtual

Creates a new plot window compatible with the curves in this tool.

Returns
a newly allocated plot window, ownership is passed to the caller.

Implements Isis::AbstractPlotTool.

Definition at line 300 of file SpectralPlotTool.cpp.

References Isis::PlotWindow::defaultWindowTitle(), and m_displayCombo.

◆ cubeViewport()

MdiCubeViewport* Isis::Tool::cubeViewport ( ) const
inlineprotectedinherited

Return the current cubeviewport.

Returns
CubeViewport*

Definition at line 197 of file Tool.h.

References Isis::Tool::m_cvp.

Referenced by Isis::TrackTool::addConnections(), Isis::WindowTool::addConnections(), Isis::StretchTool::advancedStretchChanged(), Isis::FindTool::centerLinkedViewports(), Isis::StretchTool::changeStretch(), Isis::BandTool::changeView(), Isis::BandTool::copyLinkedViewports(), Isis::StretchTool::deleteFromCube(), Isis::FileTool::discard(), Isis::Tool::enableToolBar(), Isis::FileTool::exportToList(), Isis::FileTool::exportView(), Isis::StatisticsTool::getStatistics(), Isis::FindTool::handleRecordClicked(), Isis::EditTool::LineToPoints(), Isis::StretchTool::loadStretchFromCube(), Isis::TrackTool::locateCursor(), Isis::SunShadowTool::mouseButtonPress(), Isis::EditTool::mouseButtonRelease(), Isis::ControlNetTool::mouseButtonRelease(), Isis::FeatureNomenclatureTool::mouseButtonRelease(), Isis::FindTool::mouseButtonRelease(), Isis::MatchTool::mouseButtonRelease(), Isis::QnetTool::mouseButtonRelease(), Isis::RubberBandTool::mouseButtonRelease(), Isis::StretchTool::mouseButtonRelease(), Isis::AdvancedTrackTool::mouseLeave(), Isis::SunShadowTool::mouseMove(), Isis::TrackTool::mouseMove(), Isis::RubberBandTool::mouseMove(), Isis::ScatterPlotTool::mouseMove(), Isis::FindTool::paintViewport(), Isis::RubberBandTool::paintViewport(), Isis::SunShadowTool::paintViewport(), Isis::FileTool::print(), Isis::SunShadowTool::recalculateShadowHeight(), Isis::EditTool::redoEdit(), Isis::FindTool::refresh(), Isis::HistogramTool::refreshPlot(), Isis::SpatialPlotTool::refreshPlot(), refreshPlot(), Isis::TrackTool::removeConnections(), Isis::WindowTool::removeConnections(), Isis::RubberBandTool::repaint(), Isis::WindowTool::resizeWindows(), Isis::EditTool::rubberBandComplete(), Isis::HistogramTool::rubberBandComplete(), Isis::MeasureTool::rubberBandComplete(), Isis::StretchTool::rubberBandComplete(), Isis::ZoomTool::rubberBandComplete(), Isis::FileTool::save(), Isis::FileTool::saveAs(), Isis::FileTool::saveAsCubeByOption(), Isis::FileTool::saveAsReducedCube(), Isis::FileTool::saveInfo(), Isis::StretchTool::saveStretchToCube(), Isis::BandTool::setBandBin(), Isis::BandTool::setList(), Isis::StretchTool::setStretchAcrossBands(), Isis::StretchTool::setStretchAllViewports(), Isis::StretchTool::showAdvancedDialog(), Isis::ScatterPlotTool::showNewScatterPlotConfig(), Isis::StretchTool::stretchChanged(), Isis::StretchTool::stretchGlobal(), Isis::StretchTool::stretchGlobalAllBands(), Isis::StretchTool::stretchRegional(), Isis::EditTool::undoEdit(), Isis::StretchTool::updateAdvStretchDialogforAll(), Isis::StretchTool::updateHistograms(), Isis::TrackTool::updateLabels(), Isis::MeasureTool::updateMeasure(), Isis::AdvancedTrackTool::updateRow(), Isis::AbstractPlotTool::updateTool(), Isis::BandTool::updateTool(), Isis::BlinkTool::updateTool(), Isis::EditTool::updateTool(), Isis::FileTool::updateTool(), Isis::FindTool::updateTool(), Isis::SpecialPixelTool::updateTool(), Isis::StretchTool::updateTool(), Isis::SunShadowTool::updateTool(), Isis::WindowTool::updateTool(), Isis::ZoomTool::updateTool(), Isis::AbstractPlotTool::viewportsToPlot(), Isis::EditTool::writeToCube(), Isis::ZoomTool::zoomBy(), Isis::ZoomTool::zoomFit(), Isis::ZoomTool::zoomFitHeight(), Isis::ZoomTool::zoomFitWidth(), and Isis::ZoomTool::zoomManual().

◆ cubeViewportList()

Tool::CubeViewportList * Isis::Tool::cubeViewportList ( ) const
protectedinherited

Return the list of cubeviewports.

Returns
CubeViewportList*

Definition at line 390 of file Tool.cpp.

References Isis::Workspace::cubeViewportList().

Referenced by Isis::BlinkTool::advance(), Isis::SpecialPixelTool::apply(), Isis::FindTool::centerLinkedViewports(), Isis::WindowTool::changeCursor(), Isis::FileTool::closeAll(), Isis::BandTool::copyAllViewports(), Isis::BandTool::copyLinkedViewports(), Isis::MatchTool::createPoint(), Isis::BlinkTool::eventFilter(), Isis::FeatureNomenclatureTool::featuresIdentified(), Isis::FeatureNomenclatureTool::findMissingNomenclature(), Isis::FeatureNomenclatureTool::findNomenclatureStateChanged(), Isis::FindTool::handleLinkClicked(), Isis::WindowTool::linkWindows(), Isis::RubberBandTool::mouseButtonRelease(), Isis::RubberBandTool::mouseMove(), Isis::QnetTool::openGround(), Isis::ControlNetTool::paintAllViewports(), Isis::MatchTool::paintAllViewports(), Isis::StereoTool::paintAllViewports(), Isis::QnetTool::paintAllViewports(), Isis::FindTool::refresh(), Isis::ScatterPlotTool::repaintViewports(), Isis::AbstractPlotTool::repaintViewports(), Isis::WindowTool::resizeWindows(), Isis::BlinkTool::reverse(), Isis::ZoomTool::rubberBandComplete(), Isis::MatchTool::serialNumberList(), Isis::ControlNetTool::setControlNet(), Isis::FeatureNomenclatureTool::setFontColor(), Isis::FeatureNomenclatureTool::setFontSize(), Isis::FeatureNomenclatureTool::setShowApprovedOnly(), Isis::StretchTool::setStretchAllViewports(), Isis::FeatureNomenclatureTool::setVectorType(), Isis::StretchTool::stretchGlobalAllViewports(), Isis::BlinkTool::toggleLink(), Isis::WindowTool::unlinkWindows(), Isis::MeasureTool::updateMeasure(), Isis::AdvancedTrackTool::updateRow(), Isis::BlinkTool::updateTool(), Isis::FindTool::updateTool(), Isis::WindowTool::updateTool(), Isis::AbstractPlotTool::viewportsToPlot(), Isis::ZoomTool::zoomBy(), Isis::ZoomTool::zoomFit(), Isis::ZoomTool::zoomFitHeight(), Isis::ZoomTool::zoomFitWidth(), and Isis::ZoomTool::zoomManual().

◆ detachCurves()

void Isis::SpectralPlotTool::detachCurves ( )
protectedvirtual

Forget about all existing plot curves.

Don't delete them, just forget them so that when the user requests new ones they get brand new curves.

Implements Isis::AbstractPlotTool.

Definition at line 316 of file SpectralPlotTool.cpp.

References m_avgCurves, m_maxCurves, m_minCurves, m_stdDev1Curves, m_stdDev2Curves, m_stdErr1Curves, and m_stdErr2Curves.

◆ disableToolBar()

void Isis::Tool::disableToolBar ( )
privateinherited

Disables entire tool bar.

Definition at line 285 of file Tool.cpp.

References Isis::Tool::m_toolBarWidget.

Referenced by Isis::Tool::activate(), and Isis::Tool::addToActive().

◆ enableRubberBandTool()

void Isis::SpectralPlotTool::enableRubberBandTool ( )
protectedvirtual

This method is called when the tool is activated by the parent, or when the plot mode is changed.

It's used to activate or change the rubber banding mode to be either rectangle or line, depending on the current plot type.

Reimplemented from Isis::Tool.

Definition at line 87 of file SpectralPlotTool.cpp.

References m_rubberBandCombo, and Isis::RubberBandTool::setDrawActiveViewportOnly().

◆ enableToolBar()

void Isis::Tool::enableToolBar ( )
privateinherited

Enables entire tool bar.

Definition at line 297 of file Tool.cpp.

References Isis::Tool::cubeViewport(), Isis::Tool::m_toolBarWidget, and Isis::Tool::updateTool().

Referenced by Isis::Tool::activate(), and Isis::Tool::setCubeViewport().

◆ getSpectralStatistics()

void Isis::SpectralPlotTool::getSpectralStatistics ( QVector< double > &  labels,
QVector< Statistics > &  data,
MdiCubeViewport viewport 
)
private

This method processes the spectral plot tool's selection and creates statistics for the selected pixels.

For rectangular selections, a pixel is selected for statistics if any part of the pixel intersects with the rectangle. For polygon selections, a pixel is selected for statistics only when its center is within the polygon.

Parameters
labels
data
viewport

Definition at line 569 of file SpectralPlotTool.cpp.

References Isis::Statistics::AddData(), Isis::Statistics::Average(), Isis::PlotCurve::Band, Isis::Cube::bandCount(), Isis::CubeViewport::cube(), Isis::Buffer::DoubleBuffer(), Isis::PvlContainer::findKeyword(), Isis::PvlObject::findObject(), Isis::PvlContainer::hasKeyword(), Isis::Cube::label(), m_displayCombo, Isis::Null, Isis::Cube::read(), Isis::Brick::SetBasePosition(), Isis::PvlKeyword::size(), Isis::toDouble(), Isis::toInt(), Isis::RubberBandTool::vertices(), Isis::CubeViewport::viewportToCube(), and Isis::PlotCurve::Wavelength.

Referenced by refreshPlot().

◆ menuName()

virtual QString Isis::Tool::menuName ( ) const
inlinevirtualinherited

◆ mouseButtonPress()

void Isis::Tool::mouseButtonPress ( QPoint  p,
Qt::MouseButton  s 
)
protectedvirtualinherited
Parameters
p
s

Definition at line 367 of file Tool.cpp.

Referenced by Isis::Tool::addViewportConnections(), and Isis::Tool::removeViewportConnections().

◆ mouseButtonRelease()

void Isis::Tool::mouseButtonRelease ( QPoint  p,
Qt::MouseButton  s 
)
protectedvirtualinherited

Resets the Warning to Nowarning when a different activity occurs on the application.

This is called by all the mouseButtonRelease events in all the tools.

Parameters
p
s

Reimplemented in Isis::FeatureNomenclatureTool.

Definition at line 380 of file Tool.cpp.

Referenced by Isis::Tool::addViewportConnections(), Isis::StretchTool::mouseButtonRelease(), and Isis::Tool::removeViewportConnections().

◆ mouseDoubleClick()

void Isis::Tool::mouseDoubleClick ( QPoint  p)
protectedvirtualinherited
Parameters
p

Definition at line 358 of file Tool.cpp.

Referenced by Isis::Tool::addViewportConnections(), and Isis::Tool::removeViewportConnections().

◆ mouseMove

void Isis::Tool::mouseMove ( QPoint  p)
protectedvirtualslotinherited
Parameters
p

Definition at line 352 of file Tool.cpp.

Referenced by Isis::Tool::addViewportConnections(), and Isis::Tool::removeViewportConnections().

◆ paintViewport()

void Isis::AbstractPlotTool::paintViewport ( MdiCubeViewport vp,
QPainter *  painter 
)
virtualinherited

This method allows each plot window to paint any information it wants onto the cube viewports.

For example, spatial plots can paint the originating selection in the color of the curve.

Parameters
vpThe viewport to paint onto
painterThe painter to use for painting

Reimplemented from Isis::Tool.

Reimplemented in Isis::StereoTool.

Definition at line 81 of file AbstractPlotTool.cpp.

References Isis::AbstractPlotTool::m_selectWindowCombo, and Isis::PlotWindow::paint().

Referenced by Isis::StereoTool::paintViewport().

◆ plotWindows()

QList< PlotWindow * > Isis::AbstractPlotTool::plotWindows ( )
protectedinherited

Get a list of all of the instantiated plot windows.

Returns
All of the plot windows associated with this tool

Definition at line 155 of file AbstractPlotTool.cpp.

References Isis::AbstractPlotTool::m_selectWindowCombo.

Referenced by Isis::AbstractPlotTool::updateTool().

◆ refreshPlot

◆ registerTool()

void Isis::Tool::registerTool ( MdiCubeViewport viewport)
protectedinherited

Registers the tool to the viewport.

Parameters
viewport

Definition at line 327 of file Tool.cpp.

References Isis::Tool::m_cvp, and Isis::MdiCubeViewport::registerTool().

Referenced by Isis::Tool::addTo().

◆ removeConnections()

virtual void Isis::Tool::removeConnections ( MdiCubeViewport cvp)
inlineprotectedvirtualinherited

Anytime a tool is created, you must be able to remove it's connections.

Parameters
cvp

Reimplemented in Isis::WindowTool, Isis::TrackTool, and Isis::MeasureTool.

Definition at line 247 of file Tool.h.

Referenced by Isis::Tool::removeViewportConnections().

◆ removeViewportConnections()

void Isis::Tool::removeViewportConnections ( )
privateinherited

◆ removeWindow

void Isis::AbstractPlotTool::removeWindow ( QObject window)
slotinherited

When a user closes a window, we want to remove that window from our combo box for selecting the active window.

We also repaint all of the cube viewports so that the destroyed window leaves no visible artifacts.

Parameters
windowThe plot window that is to be removed

Definition at line 203 of file AbstractPlotTool.cpp.

References Isis::AbstractPlotTool::m_selectWindowCombo, and Isis::AbstractPlotTool::repaintViewports().

Referenced by Isis::AbstractPlotTool::addWindow().

◆ repaintViewports [1/2]

void Isis::AbstractPlotTool::repaintViewports ( )
protectedslotinherited

This method causes all of the viewports to be repainted.

This is useful because it removes visible artifacts from deleted plot windows/curves.

Definition at line 362 of file AbstractPlotTool.cpp.

References Isis::Tool::cubeViewportList().

Referenced by Isis::AbstractPlotTool::addWindow(), and Isis::AbstractPlotTool::removeWindow().

◆ repaintViewports [2/2]

void Isis::AbstractPlotTool::repaintViewports ( CubePlotCurve pc)
slotinherited

This method causes the viewports corresponding with the given CubePlotCurve to be repainted with all of the area's of interest associated with the CubePlotCurve's PlotWindow.

Parameters
pcThe plot curve which needs to repaint

Definition at line 284 of file AbstractPlotTool.cpp.

References Isis::CubeViewport::cube(), Isis::Tool::cubeViewportList(), Isis::Cube::fileName(), and Isis::CubePlotCurve::sourceCube().

◆ rubberBandComplete

void Isis::SpectralPlotTool::rubberBandComplete ( )
protectedvirtualslot

Called when the user has finished drawing with the rubber band.

ChangePlot is called to plot the data within the rubber band.

Definition at line 333 of file SpectralPlotTool.cpp.

References refreshPlot(), and Isis::AbstractPlotTool::selectedWindow().

◆ screenPixelsChanged

virtual void Isis::Tool::screenPixelsChanged ( )
inlineprotectedvirtualslotinherited

This is called when actions change which pixels from the cube are displayed.

Definition at line 148 of file Tool.h.

Referenced by Isis::Tool::addViewportConnections(), Isis::Tool::removeViewportConnections(), and Isis::FeatureNomenclatureTool::viewportDone().

◆ selectCurvesToPlot

void Isis::SpectralPlotTool::selectCurvesToPlot ( )
privateslot

This prompts the user for which curves they want to plot.

This is an alternative method to just right clicking this tool's options area.

Definition at line 102 of file SpectralPlotTool.cpp.

References m_plotAvgAction, m_plotMaxAction, m_plotMinAction, m_plotStdDev1Action, m_plotStdDev2Action, m_plotStdErr1Action, and m_plotStdErr2Action.

Referenced by createToolBarWidget().

◆ selectedWindow()

PlotWindow * Isis::AbstractPlotTool::selectedWindow ( bool  createIfNeeded = true)
protectedinherited

Get the 'active' plot window (the window selected by the user to contain new curves).

This may return NULL if and only if createIfNeeded is false. Windows are created by child classes.

Parameters
createIfNeededIf this is true, and no window is selected in the active window combo box, then a window will be created and selected before this method returns.
Returns
The user-selected active plot window

Definition at line 256 of file AbstractPlotTool.cpp.

References Isis::AbstractPlotTool::addWindow(), and Isis::AbstractPlotTool::m_selectWindowCombo.

Referenced by Isis::HistogramTool::refreshPlot(), Isis::SpatialPlotTool::refreshPlot(), refreshPlot(), Isis::HistogramTool::rubberBandComplete(), Isis::SpatialPlotTool::rubberBandComplete(), rubberBandComplete(), Isis::AbstractPlotTool::selectedWindowChanged(), Isis::AbstractPlotTool::showPlotWindow(), Isis::HistogramTool::validatePlotCurves(), Isis::SpatialPlotTool::validatePlotCurves(), and validatePlotCurves().

◆ selectedWindowChanged

void Isis::AbstractPlotTool::selectedWindowChanged ( )
privateslotinherited

This method is called when the window where new curves are placed is changed by the user.

If the current selection has no window associated with it, then one is created. Otherwise, the selected window is explicitly shown and any curves associated with an old window should be forgotten (but not deleted, see detachCurves()).

Definition at line 178 of file AbstractPlotTool.cpp.

References Isis::AbstractPlotTool::addWindow(), Isis::AbstractPlotTool::detachCurves(), Isis::AbstractPlotTool::m_selectWindowCombo, Isis::AbstractPlotTool::selectedWindow(), and Isis::PlotWindow::showWindow().

Referenced by Isis::AbstractPlotTool::AbstractPlotTool(), and Isis::AbstractPlotTool::~AbstractPlotTool().

◆ setCubeViewport

void Isis::Tool::setCubeViewport ( MdiCubeViewport cvp)
slotinherited

◆ showPlotWindow

void Isis::AbstractPlotTool::showPlotWindow ( )
slotinherited

displays the plot window

Definition at line 350 of file AbstractPlotTool.cpp.

References Isis::AbstractPlotTool::selectedWindow(), and Isis::PlotWindow::showWindow().

◆ spectralDisplayCombo()

QComboBox * Isis::SpectralPlotTool::spectralDisplayCombo ( ) const
protected

Get the combo box which toggles between units of wavelength and band number.

Returns
A combo box for switching plot window x-axis units

Definition at line 74 of file SpectralPlotTool.cpp.

References m_displayCombo.

Referenced by createToolBarWidget().

◆ toolIconDir()

QString Isis::Tool::toolIconDir ( ) const
inlineinherited

◆ toolPadAction()

QAction * Isis::SpectralPlotTool::toolPadAction ( ToolPad toolpad)
protectedvirtual

This method configures the QAction for this tool.

Parameters
toolpad- the ToolPad to add the SpectralPlotTool to
Returns
QAction* - the QAction that was created for this tool

Reimplemented from Isis::Tool.

Definition at line 152 of file SpectralPlotTool.cpp.

References m_toolPadAction, and Isis::Tool::toolIconDir().

◆ updateTool()

◆ validatePlotCurves()

◆ viewportSelected

void Isis::SpectralPlotTool::viewportSelected ( )
protectedslot

This protected slot is called when user selects a viewport.

Definition at line 64 of file SpectralPlotTool.cpp.

Referenced by SpectralPlotTool().

◆ viewportsToPlot()

QList< MdiCubeViewport * > Isis::AbstractPlotTool::viewportsToPlot ( )
protectedinherited

Get a list of linked viewports that should be plotting when a new plot is requested.

This is a utility for child classes. For example, a spatial plot will make a curve for each viewport.

Returns
A list of viewports containing the active one and any that are linked to the active viewport.

Definition at line 133 of file AbstractPlotTool.cpp.

References Isis::Tool::cubeViewport(), Isis::Tool::cubeViewportList(), and Isis::MdiCubeViewport::isLinked().

Referenced by Isis::SpatialPlotTool::refreshPlot(), refreshPlot(), Isis::SpatialPlotTool::updateTool(), updateTool(), Isis::SpatialPlotTool::validatePlotCurves(), and validatePlotCurves().

Member Data Documentation

◆ m_active

bool Isis::Tool::m_active
privateinherited

Is the tool acitve?

Definition at line 264 of file Tool.h.

Referenced by Isis::Tool::activate(), Isis::Tool::setCubeViewport(), and Isis::Tool::Tool().

◆ m_avgCurves

QScopedPointer< QMap< MdiCubeViewport *, QPointer<CubePlotCurve> > > Isis::SpectralPlotTool::m_avgCurves
private

Plot curves for average values.

Definition at line 123 of file SpectralPlotTool.h.

Referenced by detachCurves(), and validatePlotCurves().

◆ m_cvp

◆ m_displayCombo

QPointer<QComboBox> Isis::SpectralPlotTool::m_displayCombo
private

◆ m_maxCurves

QScopedPointer< QMap< MdiCubeViewport *, QPointer<CubePlotCurve> > > Isis::SpectralPlotTool::m_maxCurves
private

Plot curves for max values.

Definition at line 115 of file SpectralPlotTool.h.

Referenced by detachCurves(), and validatePlotCurves().

◆ m_minCurves

QScopedPointer< QMap< MdiCubeViewport *, QPointer<CubePlotCurve> > > Isis::SpectralPlotTool::m_minCurves
private

Plot curves for min values.

Definition at line 119 of file SpectralPlotTool.h.

Referenced by detachCurves(), and validatePlotCurves().

◆ m_plotAvgAction

QPointer<QAction> Isis::SpectralPlotTool::m_plotAvgAction
private

This QAction actives/deactivates plotting the average values.

Definition at line 99 of file SpectralPlotTool.h.

Referenced by createToolBarWidget(), refreshPlot(), selectCurvesToPlot(), and validatePlotCurves().

◆ m_plotMaxAction

QPointer<QAction> Isis::SpectralPlotTool::m_plotMaxAction
private

This QAction actives/deactivates plotting the max values.

Definition at line 103 of file SpectralPlotTool.h.

Referenced by createToolBarWidget(), refreshPlot(), selectCurvesToPlot(), and validatePlotCurves().

◆ m_plotMinAction

QPointer<QAction> Isis::SpectralPlotTool::m_plotMinAction
private

This QAction actives/deactivates plotting the min values.

Definition at line 101 of file SpectralPlotTool.h.

Referenced by createToolBarWidget(), refreshPlot(), selectCurvesToPlot(), and validatePlotCurves().

◆ m_plotStdDev1Action

QPointer<QAction> Isis::SpectralPlotTool::m_plotStdDev1Action
private

This QAction actives/deactivates plotting the avg+std dev values.

Definition at line 105 of file SpectralPlotTool.h.

Referenced by createToolBarWidget(), refreshPlot(), selectCurvesToPlot(), and validatePlotCurves().

◆ m_plotStdDev2Action

QPointer<QAction> Isis::SpectralPlotTool::m_plotStdDev2Action
private

This QAction actives/deactivates plotting the avg-std dev values.

Definition at line 107 of file SpectralPlotTool.h.

Referenced by createToolBarWidget(), refreshPlot(), selectCurvesToPlot(), and validatePlotCurves().

◆ m_plotStdErr1Action

QPointer<QAction> Isis::SpectralPlotTool::m_plotStdErr1Action
private

This QAction actives/deactivates plotting the avg+std dev values.

Definition at line 109 of file SpectralPlotTool.h.

Referenced by createToolBarWidget(), refreshPlot(), selectCurvesToPlot(), and validatePlotCurves().

◆ m_plotStdErr2Action

QPointer<QAction> Isis::SpectralPlotTool::m_plotStdErr2Action
private

This QAction actives/deactivates plotting the avg-std dev values.

Definition at line 111 of file SpectralPlotTool.h.

Referenced by createToolBarWidget(), refreshPlot(), selectCurvesToPlot(), and validatePlotCurves().

◆ m_rubberBandCombo

QPointer<RubberBandComboBox> Isis::SpectralPlotTool::m_rubberBandCombo
private

Combo box with all rubber banding types.

Definition at line 93 of file SpectralPlotTool.h.

Referenced by createToolBarWidget(), and enableRubberBandTool().

◆ m_selectWindowCombo

QPointer<QComboBox> Isis::AbstractPlotTool::m_selectWindowCombo
privateinherited

This allows the user to select the active plot window.

New curves will be drawn into this window. The items in the combo box store pointers to the windows themselves so we do not need an explicit list of plot windows.

Definition at line 98 of file AbstractPlotTool.h.

Referenced by Isis::AbstractPlotTool::AbstractPlotTool(), Isis::AbstractPlotTool::addWindow(), Isis::AbstractPlotTool::createToolBarWidget(), Isis::AbstractPlotTool::paintViewport(), Isis::AbstractPlotTool::plotWindows(), Isis::AbstractPlotTool::removeWindow(), Isis::AbstractPlotTool::selectedWindow(), Isis::AbstractPlotTool::selectedWindowChanged(), and Isis::AbstractPlotTool::~AbstractPlotTool().

◆ m_showHideBandMarkers

QPointer<QAction> Isis::SpectralPlotTool::m_showHideBandMarkers
private

Hide/show lines action.

Definition at line 143 of file SpectralPlotTool.h.

◆ m_stdDev1Curves

QScopedPointer< QMap< MdiCubeViewport *, QPointer<CubePlotCurve> > > Isis::SpectralPlotTool::m_stdDev1Curves
private

Plot curves for avg. + std. dev.

Definition at line 127 of file SpectralPlotTool.h.

Referenced by detachCurves(), and validatePlotCurves().

◆ m_stdDev2Curves

QScopedPointer< QMap< MdiCubeViewport *, QPointer<CubePlotCurve> > > Isis::SpectralPlotTool::m_stdDev2Curves
private

Plot curves for avg. - std. dev.

Definition at line 131 of file SpectralPlotTool.h.

Referenced by detachCurves(), and validatePlotCurves().

◆ m_stdErr1Curves

QScopedPointer< QMap< MdiCubeViewport *, QPointer<CubePlotCurve> > > Isis::SpectralPlotTool::m_stdErr1Curves
private

Plot curves for avg. + std. err.

Definition at line 135 of file SpectralPlotTool.h.

Referenced by detachCurves(), and validatePlotCurves().

◆ m_stdErr2Curves

QScopedPointer< QMap< MdiCubeViewport *, QPointer<CubePlotCurve> > > Isis::SpectralPlotTool::m_stdErr2Curves
private

Plot curves for avg. - std. err.

Definition at line 139 of file SpectralPlotTool.h.

Referenced by detachCurves(), and validatePlotCurves().

◆ m_toolBarWidget

QWidget* Isis::Tool::m_toolBarWidget
privateinherited

The tool bar on which this tool resides.

Definition at line 265 of file Tool.h.

Referenced by Isis::Tool::addToActive(), Isis::Tool::disableToolBar(), Isis::Tool::enableToolBar(), and Isis::Tool::Tool().

◆ m_toolIconDir

QString Isis::Tool::m_toolIconDir
privateinherited

The pathway to the icon directory.

Definition at line 267 of file Tool.h.

Referenced by Isis::Tool::Tool(), and Isis::Tool::toolIconDir().

◆ m_toolPadAction

QPointer<QAction> Isis::SpectralPlotTool::m_toolPadAction
private

Plot tool's action.

Definition at line 96 of file SpectralPlotTool.h.

Referenced by addTo(), and toolPadAction().


The documentation for this class was generated from the following files: