USGS

Isis 3.0 Developer's Reference (API)

Home

Isis::AbstractPlotTool Class Reference

Parent class for plotting tools which provides common functionality. More...

#include <AbstractPlotTool.h>

Inherits Isis::Tool.

Inherited by Isis::HistogramTool, Isis::SpatialPlotTool, and Isis::SpectralPlotTool.

List of all members.

Public Slots

void removeWindow (QObject *)
 When a user closes a window, we want to remove that window from our QComboBox.
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 viewportChanged ()

Public Member Functions

 AbstractPlotTool (QWidget *parent)
 This constructs a plot tool.
virtual ~AbstractPlotTool ()
virtual void paintViewport (MdiCubeViewport *vp, QPainter *painter)
 This method paints the polygons of the copied curves onto the cubeviewport.
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)
 requires the programmer to have this member
virtual void addTo (Workspace *ws)
 requires the programmer to have this member
virtual void addToPermanent (QToolBar *toolbar)
 requires the programmer to have this member
void addToActive (QToolBar *toolbar)
QString toolIconDir () const
 returns the path to the icon directory.

Protected Types

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

Protected Slots

void repaintViewports ()
virtual void rubberBandComplete ()
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 ()
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.

Protected Member Functions

PlotWindowaddWindow ()
QWidgetcreateToolBarWidget (QStackedWidget *parent)
 Creates the widgets for the tool bar.
virtual PlotWindowcreateWindow ()=0
virtual void updateTool ()
 Updates the tool.
QList< MdiCubeViewport * > viewportsToPlot ()
QList< PlotWindow * > plotWindows ()
virtual void detachCurves ()=0
 This will be called when the selected plot window changes.
PlotWindowselectedWindow (bool createIfNeeded=true)
MdiCubeViewportcubeViewport () const
 Return the current cubeviewport.
CubeViewportListcubeViewportList () const
 Return the list of cubeviewports.
virtual QActiontoolPadAction (ToolPad *toolpad)
 Anytime a tool is created, you must setup a tool pad action with it.
virtual QString menuName () const
 Anytime a tool is created, you must give it a name for the menu.
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.
virtual void enableRubberBandTool ()
 Anytime a tool is created, you may use the rubber band tool.

Static Protected Member Functions

static CubePlotCurvecreateCurve (QString name, QPen pen, PlotCurve::Units xUnits, PlotCurve::Units yUnits)

Protected Attributes

MdiCubeViewportp_cvp
 current cubeviewport
Workspacep_workspace

Detailed Description

Parent class for plotting tools which provides common functionality.

This qview tool is designed to be inherited from by tools which create plots. This class provides common functionality such as opening new plot windows.

Author:
2012-01-18 Steven Lambright and Tracie Sucharski

Member Typedef Documentation

typedef QVector< MdiCubeViewport * > Isis::Tool::CubeViewportList [protected, inherited]

A list of cubeviewports.


Constructor & Destructor Documentation

Isis::AbstractPlotTool::AbstractPlotTool ( QWidget parent  ) 

This constructs a plot tool.

The plot tool graphs either DN values across a line, or statistics across a spectrum (bands).

Parameters:
parent 
Isis::AbstractPlotTool::~AbstractPlotTool (  )  [virtual]

Member Function Documentation

void Tool::activate ( bool  on  )  [slot, inherited]
virtual void Isis::Tool::addConnections ( MdiCubeViewport cvp  )  [inline, protected, virtual, inherited]

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

Parameters:
cvp 

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

void Tool::addTo ( Workspace ws  )  [virtual, inherited]

requires the programmer to have this member

Adds the given workspace to the cubeviewport list.

Parameters:
ws 

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

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

virtual void Isis::Tool::addTo ( QMenu *  menu  )  [inline, virtual, inherited]
void Tool::addTo ( ToolPad toolpad  )  [inherited]

Adds the tool to the toolpad.

Parameters:
toolpad 

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

void Tool::addTo ( ViewportMainWindow pViewPortMnWin  )  [inherited]
void Tool::addToActive ( QToolBar toolbar  )  [inherited]
Parameters:
toolbar 

References Isis::Tool::createToolBarWidget().

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

virtual void Isis::Tool::addToPermanent ( QToolBar toolbar  )  [inline, virtual, inherited]

requires the programmer to have this member

Parameters:
toolbar 

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

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

PlotWindow * Isis::AbstractPlotTool::addWindow (  )  [protected]
void Tool::clearWarningSignal (  )  [signal, inherited]
CubePlotCurve * Isis::AbstractPlotTool::createCurve ( QString  name,
QPen  pen,
PlotCurve::Units  xUnits,
PlotCurve::Units  yUnits 
) [static, protected]
QWidget * Isis::AbstractPlotTool::createToolBarWidget ( QStackedWidget *  parent  )  [protected, virtual]

Creates the widgets for the tool bar.

Parameters:
parent 
Returns:
QWidget*

Reimplemented from Isis::Tool.

Reimplemented in Isis::HistogramTool, Isis::SpatialPlotTool, and Isis::SpectralPlotTool.

virtual PlotWindow* Isis::AbstractPlotTool::createWindow (  )  [protected, pure virtual]
MdiCubeViewport* Isis::Tool::cubeViewport (  )  const [inline, protected, inherited]
Tool::CubeViewportList * Tool::cubeViewportList (  )  const [protected, inherited]
virtual void Isis::AbstractPlotTool::detachCurves (  )  [protected, pure virtual]

This will be called when the selected plot window changes.

The existing curves need to be detached (forgotten, but not deleted). The curves are being detached between the previously selected window and the tool.

Implemented in Isis::HistogramTool, Isis::SpatialPlotTool, and Isis::SpectralPlotTool.

void Tool::enableRubberBandTool (  )  [protected, virtual, inherited]

Anytime a tool is created, you may use the rubber band tool.

Enable the use of the rubberband tool.

Reimplemented in Isis::EditTool, Isis::HistogramTool, Isis::MeasureTool, Isis::RubberBandTool, Isis::SpatialPlotTool, Isis::SpectralPlotTool, Isis::StretchTool, and Isis::ZoomTool.

References Isis::RubberBandTool::disable().

virtual QString Isis::Tool::menuName (  )  const [inline, protected, virtual, inherited]

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::FileTool, Isis::FindTool, Isis::HelpTool, Isis::MeasureTool, Isis::PanTool, Isis::SpecialPixelTool, Isis::StretchTool, Isis::WindowTool, and Isis::ZoomTool.

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

void Tool::mouseButtonPress ( QPoint  p,
Qt::MouseButton  s 
) [protected, virtual, slot, inherited]
Parameters:
p 
s 

Reimplemented in Isis::PanTool, and Isis::RubberBandTool.

References Isis::Tool::clearWarningSignal().

void Tool::mouseButtonRelease ( QPoint  p,
Qt::MouseButton  s 
) [protected, virtual, slot, inherited]

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::EditTool, Isis::FindTool, Isis::PanTool, Isis::RubberBandTool, Isis::StatisticsTool, and Isis::StretchTool.

References Isis::Tool::clearWarningSignal().

void Tool::mouseDoubleClick ( QPoint  p  )  [protected, virtual, slot, inherited]
Parameters:
p 

Reimplemented in Isis::RubberBandTool.

References Isis::Tool::clearWarningSignal().

virtual void Isis::Tool::mouseEnter (  )  [inline, protected, virtual, slot, inherited]
virtual void Isis::Tool::mouseLeave (  )  [inline, protected, virtual, slot, inherited]
virtual void Isis::Tool::mouseMove ( QPoint  p,
Qt::MouseButton   
) [inline, protected, virtual, slot, inherited]
void Tool::mouseMove ( QPoint  p  )  [protected, virtual, slot, inherited]
Parameters:
p 

Reimplemented in Isis::AdvancedTrackTool, Isis::PanTool, and Isis::TrackTool.

void Isis::AbstractPlotTool::paintViewport ( MdiCubeViewport vp,
QPainter *  painter 
) [virtual]

This method paints the polygons of the copied curves onto the cubeviewport.

Parameters:
vp 
painter 

Reimplemented from Isis::Tool.

References Isis::PlotWindow::paint().

QList< PlotWindow * > Isis::AbstractPlotTool::plotWindows (  )  [protected]

Referenced by viewportsToPlot().

void Tool::registerTool ( MdiCubeViewport viewport  )  [protected, slot, inherited]

Registers the tool to the viewport.

Parameters:
viewport 

References Isis::Tool::p_cvp, Isis::MdiCubeViewport::registerTool(), and Isis::Tool::stretchRequested().

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

virtual void Isis::Tool::removeConnections ( MdiCubeViewport cvp  )  [inline, protected, virtual, inherited]

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.

void Isis::AbstractPlotTool::removeWindow ( QObject window  )  [slot]

When a user closes a window, we want to remove that window from our QComboBox.

void Isis::AbstractPlotTool::repaintViewports (  )  [protected, slot]
void Isis::AbstractPlotTool::repaintViewports ( CubePlotCurve pc  )  [slot]

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.

virtual void Isis::Tool::rubberBandComplete (  )  [inline, protected, virtual, slot, inherited]
virtual void Isis::Tool::scaleChanged (  )  [inline, protected, virtual, slot, inherited]

Reimplemented in Isis::RubberBandTool.

virtual void Isis::Tool::screenPixelsChanged (  )  [inline, protected, virtual, slot, inherited]

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

Reimplemented in Isis::StretchTool.

PlotWindow * Isis::AbstractPlotTool::selectedWindow ( bool  createIfNeeded = true  )  [protected]
void Tool::setCubeViewport ( MdiCubeViewport cvp  )  [slot, inherited]

Sets the current viewport to the given cvp.

Parameters:
cvp 

References Isis::Tool::p_cvp, Isis::Tool::updateTool(), and Isis::Tool::viewportChanged().

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

void Isis::AbstractPlotTool::showPlotWindow (  )  [slot]

displays the plot window

virtual void Isis::Tool::stretchRequested ( MdiCubeViewport ,
int   
) [inline, protected, virtual, slot, inherited]

Reimplemented in Isis::StretchTool.

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

QString Isis::Tool::toolIconDir (  )  const [inline, inherited]
virtual QAction* Isis::Tool::toolPadAction ( ToolPad toolpad  )  [inline, protected, virtual, inherited]

Anytime a tool is created, you must setup a tool pad action with it.

Parameters:
toolpad 
Returns:
QAction*

Reimplemented in Isis::BandTool, Isis::EditTool, Isis::FindTool, Isis::HistogramTool, Isis::MeasureTool, Isis::PanTool, Isis::ScatterPlotTool, Isis::SpatialPlotTool, Isis::SpectralPlotTool, Isis::StatisticsTool, Isis::StretchTool, and Isis::ZoomTool.

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

virtual void Isis::Tool::updateMeasure (  )  [inline, protected, virtual, slot, inherited]

Reimplemented in Isis::MeasureTool.

void Isis::AbstractPlotTool::updateTool (  )  [protected, virtual]

Updates the tool.

Reimplemented from Isis::Tool.

Reimplemented in Isis::HistogramTool, Isis::SpatialPlotTool, and Isis::SpectralPlotTool.

void Tool::viewportChanged (  )  [signal, inherited]
QList< MdiCubeViewport * > Isis::AbstractPlotTool::viewportsToPlot (  )  [protected]

Member Data Documentation

MdiCubeViewport* Isis::Tool::p_cvp [protected, inherited]
Workspace* Isis::Tool::p_workspace [protected, inherited]

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