Isis 3 Programmer Reference
Isis::HistogramTool Class Reference

Tool for histograms. More...

#include <HistogramTool.h>

Inheritance diagram for Isis::HistogramTool:
Inheritance graph
Collaboration diagram for Isis::HistogramTool:
Collaboration graph

Public Slots

void refreshPlot ()
 This method plots the selected data in a histogram window.
 
void removeWindow (QObject *)
 When a user closes a window, we want to remove that window from our combo box for selecting the active window.
 
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.
 
void showPlotWindow ()
 displays the plot window
 
void activate (bool)
 Activates the tool.
 
void setCubeViewport (MdiCubeViewport *cvp)
 Sets the current viewport to the given cvp.
 

Signals

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

Public Member Functions

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

Protected Types

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

Protected Slots

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

Protected Member Functions

QWidgetcreateToolBarWidget (QStackedWidget *parent)
 This method creates the widgets for the tool bar.
 
void detachCurves ()
 Forget the frequency histogram item and the percentage curve.
 
PlotWindowcreateWindow ()
 This method creates the default histogram plot window.
 
void enableRubberBandTool ()
 This method is called when the tool is activated by the parent, or when the plot mode is changed.
 
QActiontoolPadAction (ToolPad *pad)
 This method adds the histogram tool to the tool pad.
 
void updateTool ()
 This method updates the histogram tool.
 
PlotWindowaddWindow ()
 This creates and initializes everything about a plot window.
 
QList< MdiCubeViewport * > viewportsToPlot ()
 Get a list of linked viewports that should be plotting when a new plot is requested.
 
QList< PlotWindow * > plotWindows ()
 Get a list of all of the instantiated plot windows.
 
PlotWindowselectedWindow (bool createIfNeeded=true)
 Get the 'active' plot window (the window selected by the user to contain new curves).
 
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.
 
virtual void updateMeasure ()
 
virtual void scaleChanged ()
 
virtual void stretchRequested (MdiCubeViewport *, int)
 
void registerTool (MdiCubeViewport *viewport)
 Registers the tool to the viewport.
 
MdiCubeViewportcubeViewport () const
 Return the current cubeviewport.
 
CubeViewportListcubeViewportList () const
 Return the list of cubeviewports.
 
virtual void addConnections (MdiCubeViewport *cvp)
 Anytime a tool is created, you must add the connections for it.
 
virtual void removeConnections (MdiCubeViewport *cvp)
 Anytime a tool is created, you must be able to remove it's connections.
 
Workspaceworkspace ()
 

Static Protected Member Functions

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

Private Slots

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

Private Member Functions

void validatePlotCurves ()
 This method sets up the names, line style, and color of the all the plot items that will be used in this class.
 
void addViewportConnections ()
 Makes all the connections for the tool.
 
void removeViewportConnections ()
 Removes all the connections from the tool.
 
void enableToolBar ()
 Enables entire tool bar.
 
void disableToolBar ()
 Disables entire tool bar.
 

Private Attributes

HistogramToolWindow * m_histToolWindow
 Plot Tool Window Widget.
 
QPointer< HistogramItemm_frequencyItem
 This is the qwt plot item which draws the histogram frequency bars.
 
QPointer< CubePlotCurvem_percentageCurve
 This plot curve indicates the data percentage over the histogram.
 
QActionm_action
 This is the action that activates this tool.
 
QPointer< RubberBandComboBoxm_rubberBandCombo
 This combo box is for various rubber band selection types.
 
QPointer< QComboBoxm_selectWindowCombo
 This allows the user to select the active plot window.
 
MdiCubeViewportm_cvp
 current cubeviewport
 
Workspacem_workspace
 
bool m_active
 Is the tool acitve?
 
QWidgetm_toolBarWidget
 The tool bar on which this tool resides.
 
QActionm_toolPadAction
 The tool pad on which this tool resides.
 
QString m_toolIconDir
 The pathway to the icon directory.
 
ToolListm_toolList
 

Detailed Description

Tool for histograms.

Author
????-??-?? Noah Hilt
History

2008-08-18 Christopher Austin - Upgraded to geos3.0.0

2012-01-18 Steven Lambright and Jai Rideout - Fixed issue where histograms were not created correctly for any bands but band 1. Added check for RGB mode. Fixes #668.

2012-01-20 Steven Lambright - Completed documentation.

2013-12-11 Janet Barrett - Fixed refreshPlot method so that it checks the start sample and end sample for the plot and starts the plot at the minimum of the 2 samples. Fixes #1760.

2016-04-28 Tracie Sucharski - Removed qwt refernces to merge with Qt5 library changes.

2016-07-06 Adam Paquette - Fixed the histogram tool to analyze the appropriate pixels selected when using box banding

Definition at line 40 of file HistogramTool.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

◆ HistogramTool()

Isis::HistogramTool::HistogramTool ( QWidget * parent)

Constructor creates a new HistogramTool object.

Parameters
parent

Definition at line 31 of file HistogramTool.cpp.

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

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::TrackTool, and Isis::WindowTool.

Definition at line 239 of file Tool.h.

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

◆ addTo() [1/4]

◆ 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::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::EditTool, Isis::FileTool, Isis::SpecialPixelTool, and Isis::WindowTool.

Definition at line 45 of file Tool.cpp.

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

◆ addToActive()

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

Definition at line 112 of file Tool.cpp.

References Isis::Tool::createToolBarWidget(), Isis::Tool::disableToolBar(), and Isis::Tool::m_toolBarWidget.

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

◆ addToPermanent()

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

Reimplemented in Isis::AdvancedTrackTool, Isis::BlinkTool, Isis::FileTool, Isis::HelpTool, Isis::SpecialPixelTool, and Isis::WindowTool.

Definition at line 97 of file Tool.h.

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

◆ 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 299 of file AbstractPlotTool.cpp.

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

Referenced by Isis::SpatialPlotTool::refreshPlot(), Isis::SpectralPlotTool::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 229 of file AbstractPlotTool.cpp.

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

◆ createToolBarWidget()

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

This method creates the widgets for the tool bar.

Parameters
parent
Returns
QWidget*

Reimplemented from Isis::AbstractPlotTool.

Definition at line 82 of file HistogramTool.cpp.

References Isis::AbstractPlotTool::createToolBarWidget(), Isis::RubberBandComboBox::Line, m_rubberBandCombo, and Isis::RubberBandComboBox::Rectangle.

◆ createWindow()

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

This method creates the default histogram plot window.

Implements Isis::AbstractPlotTool.

Definition at line 127 of file HistogramTool.cpp.

References Isis::PlotWindow::defaultWindowTitle().

◆ 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::LatLonGridTool::paintViewport(), Isis::FindTool::paintViewport(), Isis::RubberBandTool::paintViewport(), Isis::SunShadowTool::paintViewport(), Isis::FileTool::print(), Isis::SunShadowTool::recalculateShadowHeight(), Isis::EditTool::redoEdit(), Isis::FindTool::refresh(), refreshPlot(), Isis::SpatialPlotTool::refreshPlot(), Isis::SpectralPlotTool::refreshPlot(), Isis::TrackTool::removeConnections(), Isis::WindowTool::removeConnections(), Isis::RubberBandTool::repaint(), Isis::WindowTool::resizeWindows(), Isis::EditTool::rubberBandComplete(), 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::AdvancedTrackTool::updateRow(), Isis::AbstractPlotTool::updateTool(), Isis::BandTool::updateTool(), Isis::BlinkTool::updateTool(), Isis::EditTool::updateTool(), Isis::FileTool::updateTool(), Isis::FindTool::updateTool(), Isis::LatLonGridTool::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::AbstractPlotTool::repaintViewports(), 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::HistogramTool::detachCurves ( )
protectedvirtual

Forget the frequency histogram item and the percentage curve.

Implements Isis::AbstractPlotTool.

Definition at line 108 of file HistogramTool.cpp.

References m_frequencyItem, and m_percentageCurve.

◆ 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::HistogramTool::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 45 of file HistogramTool.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().

◆ menuName()

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

Anytime a tool is created, you must give it a name for the menu.

Returns
QString

Reimplemented in Isis::AdvancedTrackTool, Isis::BandTool, Isis::BlinkTool, Isis::FeatureNomenclatureTool, Isis::FileTool, Isis::FindTool, Isis::HelpTool, Isis::MeasureTool, Isis::PanTool, Isis::SpecialPixelTool, Isis::StretchTool, Isis::WindowTool, and Isis::ZoomTool.

Definition at line 83 of file Tool.h.

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

◆ 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().

◆ mouseEnter

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

Definition at line 152 of file Tool.h.

◆ mouseLeave

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

Definition at line 159 of file Tool.h.

◆ mouseMove [1/2]

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().

◆ mouseMove [2/2]

virtual void Isis::Tool::mouseMove ( QPoint p,
Qt::MouseButton  )
inlineprotectedvirtualslotinherited

Definition at line 155 of file Tool.h.

◆ 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 79 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 153 of file AbstractPlotTool.cpp.

References Isis::AbstractPlotTool::m_selectWindowCombo.

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

◆ refreshPlot

void Isis::HistogramTool::refreshPlot ( )
slot

◆ 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::MeasureTool, Isis::TrackTool, and Isis::WindowTool.

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 199 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 358 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 280 of file AbstractPlotTool.cpp.

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

◆ rubberBandComplete

void Isis::HistogramTool::rubberBandComplete ( )
protectedslot

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 141 of file HistogramTool.cpp.

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

◆ rubberBandTool()

RubberBandTool * Isis::Tool::rubberBandTool ( )
inherited

Definition at line 57 of file Tool.cpp.

◆ scaleChanged()

virtual void Isis::Tool::scaleChanged ( )
inlineprotectedvirtualinherited

Definition at line 172 of file Tool.h.

◆ 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().

◆ 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 252 of file AbstractPlotTool.cpp.

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

Referenced by refreshPlot(), Isis::SpatialPlotTool::refreshPlot(), Isis::SpectralPlotTool::refreshPlot(), rubberBandComplete(), Isis::SpatialPlotTool::rubberBandComplete(), Isis::SpectralPlotTool::rubberBandComplete(), Isis::AbstractPlotTool::selectedWindowChanged(), Isis::AbstractPlotTool::showPlotWindow(), validatePlotCurves(), Isis::SpatialPlotTool::validatePlotCurves(), and Isis::SpectralPlotTool::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 176 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

◆ setList()

void Isis::Tool::setList ( ToolList * currentList)
inherited

Definition at line 68 of file Tool.cpp.

◆ showPlotWindow

void Isis::AbstractPlotTool::showPlotWindow ( )
slotinherited

displays the plot window

Definition at line 346 of file AbstractPlotTool.cpp.

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

◆ stretchRequested()

virtual void Isis::Tool::stretchRequested ( MdiCubeViewport * ,
int  )
inlineprotectedvirtualinherited

Reimplemented in Isis::StretchTool.

Definition at line 177 of file Tool.h.

◆ toolIconDir()

◆ toolPadAction()

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

This method adds the histogram tool to the tool pad.

Parameters
toolpad
Returns
QAction*

Reimplemented from Isis::Tool.

Definition at line 60 of file HistogramTool.cpp.

References Isis::Tool::toolIconDir().

◆ updateMeasure()

virtual void Isis::Tool::updateMeasure ( )
inlineprotectedvirtualinherited

Definition at line 167 of file Tool.h.

◆ updateTool()

void Isis::HistogramTool::updateTool ( )
protectedvirtual

This method updates the histogram tool.

Reimplemented from Isis::AbstractPlotTool.

Definition at line 118 of file HistogramTool.cpp.

References Isis::AbstractPlotTool::updateTool().

◆ validatePlotCurves()

void Isis::HistogramTool::validatePlotCurves ( )
private

This method sets up the names, line style, and color of the all the plot items that will be used in this class.

This method also fills the p_colors QList with the colors that will be used when the user copies and pastes (special) into another plot window.

Definition at line 437 of file HistogramTool.cpp.

References Isis::AbstractPlotTool::createCurve(), Isis::PlotCurve::CubeDN, m_frequencyItem, m_percentageCurve, Isis::PlotCurve::Percentage, and Isis::AbstractPlotTool::selectedWindow().

Referenced by refreshPlot().

◆ 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 131 of file AbstractPlotTool.cpp.

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

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

◆ workspace()

Workspace * Isis::Tool::workspace ( )
protectedinherited

Definition at line 344 of file Tool.cpp.

Member Data Documentation

◆ m_action

QAction* Isis::HistogramTool::m_action
private

This is the action that activates this tool.

Definition at line 70 of file HistogramTool.h.

Referenced by HistogramTool().

◆ 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_cvp

◆ m_frequencyItem

QPointer<HistogramItem> Isis::HistogramTool::m_frequencyItem
private

This is the qwt plot item which draws the histogram frequency bars.

Definition at line 66 of file HistogramTool.h.

Referenced by detachCurves(), refreshPlot(), and validatePlotCurves().

◆ m_histToolWindow

HistogramToolWindow* Isis::HistogramTool::m_histToolWindow
private

Plot Tool Window Widget.

Definition at line 63 of file HistogramTool.h.

◆ m_percentageCurve

QPointer<CubePlotCurve> Isis::HistogramTool::m_percentageCurve
private

This plot curve indicates the data percentage over the histogram.

Definition at line 68 of file HistogramTool.h.

Referenced by detachCurves(), refreshPlot(), and validatePlotCurves().

◆ m_rubberBandCombo

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

This combo box is for various rubber band selection types.

Definition at line 72 of file HistogramTool.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_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_toolList

ToolList* Isis::Tool::m_toolList
privateinherited

Definition at line 268 of file Tool.h.

◆ m_toolPadAction

QAction* Isis::Tool::m_toolPadAction
privateinherited

The tool pad on which this tool resides.

Definition at line 266 of file Tool.h.

Referenced by Isis::Tool::activate(), Isis::Tool::addTo(), Isis::Tool::addViewportConnections(), and Isis::Tool::Tool().

◆ m_workspace

Workspace* Isis::Tool::m_workspace
privateinherited

Definition at line 262 of file Tool.h.


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