Isis 3 Programmer Reference
Isis::TrackTool Class Reference

This tool is part of the Qisis namespace and displays the statusbar of the window. More...

#include <TrackTool.h>

Inheritance diagram for Isis::TrackTool:
Inheritance graph
Collaboration diagram for Isis::TrackTool:
Collaboration graph

Public Slots

virtual void mouseMove (QPoint p)
 Updates the labels anytime the mouse moves. More...
 
virtual void mouseLeave ()
 Clears the labels if the mouse leaves the application. More...
 
void activate (bool)
 Activates the tool. More...
 
virtual void updateTool ()
 Updates 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

 TrackTool (QStatusBar *parent)
 TrackTool constructor. More...
 
void displayWarning (std::string &pStr, const std::string &pExStr)
 Display the Warning icon in case of an exception, sent from the tool where the exception occured. More...
 
void resetStatusWarning (void)
 Resets the warning status on the status bar to default. More...
 
QStatusBar * getStatusBar (void)
 
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 (QMenu *menu)
 
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...
 
virtual void paintViewport (MdiCubeViewport *vp, QPainter *painter)
 
RubberBandToolrubberBandTool ()
 
void setList (ToolList *currentList)
 

Protected Types

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

Protected Slots

virtual void rubberBandComplete ()
 
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, Qt::MouseButton)
 

Protected Member Functions

void addConnections (MdiCubeViewport *cvp)
 Adds the connections to the given viewport. More...
 
void removeConnections (MdiCubeViewport *cvp)
 Removes the connections from the given viewport. 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 QActiontoolPadAction (ToolPad *toolpad)
 Anytime a tool is created, you must setup a tool pad action with it. More...
 
virtual QWidgetcreateToolBarWidget (QStackedWidget *parent)
 Anytime a tool is created, you must add it to the tool bar. More...
 
virtual void enableRubberBandTool ()
 Anytime a tool is created, you may use the rubber band tool. More...
 
Workspaceworkspace ()
 

Private Slots

void locateCursor ()
 Finds the cursor position. More...
 

Private Member Functions

void updateLabels (QPoint p)
 Updates the tracking labels. More...
 
void clearLabels ()
 Clears the labels. More...
 

Private Attributes

QStatusBar * p_sbar
 Status bar. More...
 
QLabel * p_sampLabel
 Sample label. More...
 
QLabel * p_lineLabel
 Line label. More...
 
QLabel * p_latLabel
 Lat label. More...
 
QLabel * p_lonLabel
 Lon label. More...
 
QLabel * p_grayLabel
 Gray label. More...
 
QLabel * p_redLabel
 Red label. More...
 
QLabel * p_grnLabel
 Green label. More...
 
QLabel * p_bluLabel
 Blue label. More...
 
WarningWidgetmWarningWidget
 Warning Widget. More...
 

Detailed Description

This tool is part of the Qisis namespace and displays the statusbar of the window.

The status bar tracks the line, sample, lat ,lon and pixel values. Also displays Warning status for any application activity.

Author
????-??-?? Unknown
History:

2010-03-18 Sharmila Prasad - Added the Warning widget to the status bar to display the error status both icon and message for any application activity

2010-06-26 Eric Hyer - Now uses MdiCubeViewport instead of CubeViewport. Fixed include issues.

2011-04-25 Steven Lambright - Fixed updates at the bottom right

2012-06-18 Steven Lambright - Fixed access of viewport DN data to not access out of range data. Fixes #896.

2013-02-20 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.

2013-04-24 Jeannie Backer - Capitalized text output, "n/a", to be consistent with the AdvancedTrackTool text output. References #775.

2013-05-07 Jeannie Backer - Replaced Lat with Rad for non-projected "Plane" shaped models. References #775.

Definition at line 42 of file TrackTool.h.

Member Typedef Documentation

◆ CubeViewportList

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

A list of cubeviewports.

Definition at line 219 of file Tool.h.

Constructor & Destructor Documentation

◆ TrackTool()

Isis::TrackTool::TrackTool ( QStatusBar *  parent)

Member Function Documentation

◆ activate

◆ addConnections()

void Isis::TrackTool::addConnections ( MdiCubeViewport cvp)
protectedvirtual

Adds the connections to the given viewport.

Parameters
cvp

Reimplemented from Isis::Tool.

Definition at line 358 of file TrackTool.cpp.

References Isis::Tool::cubeViewport(), and locateCursor().

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

◆ addToPermanent()

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

◆ clearLabels()

void Isis::TrackTool::clearLabels ( )
private

Clears the labels.

Definition at line 325 of file TrackTool.cpp.

References p_bluLabel, p_grayLabel, p_grnLabel, p_latLabel, p_lineLabel, p_lonLabel, p_redLabel, and p_sampLabel.

Referenced by mouseLeave(), TrackTool(), and updateLabels().

◆ createToolBarWidget()

virtual QWidget* Isis::Tool::createToolBarWidget ( QStackedWidget *  parent)
inlineprotectedvirtualinherited

◆ cubeViewport()

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

Return the current cubeviewport.

Returns
CubeViewport*

Definition at line 211 of file Tool.h.

References Isis::Tool::m_cvp.

Referenced by Isis::WindowTool::addConnections(), addConnections(), Isis::StretchTool::advancedStretchChanged(), Isis::FindTool::centerLinkedViewports(), Isis::StretchTool::changeStretch(), Isis::BandTool::changeView(), Isis::BandTool::copyLinkedViewports(), Isis::FileTool::discard(), Isis::Tool::enableToolBar(), Isis::FileTool::exportToList(), Isis::FileTool::exportView(), Isis::StatisticsTool::getStatistics(), Isis::FindTool::handleRecordClicked(), Isis::EditTool::LineToPoints(), locateCursor(), Isis::SunShadowTool::mouseButtonPress(), Isis::ControlNetTool::mouseButtonRelease(), Isis::RubberBandTool::mouseButtonRelease(), Isis::EditTool::mouseButtonRelease(), Isis::FeatureNomenclatureTool::mouseButtonRelease(), Isis::FindTool::mouseButtonRelease(), Isis::StretchTool::mouseButtonRelease(), Isis::MatchTool::mouseButtonRelease(), Isis::QnetTool::mouseButtonRelease(), Isis::AdvancedTrackTool::mouseLeave(), Isis::ScatterPlotTool::mouseMove(), Isis::SunShadowTool::mouseMove(), mouseMove(), Isis::RubberBandTool::mouseMove(), Isis::SunShadowTool::paintViewport(), Isis::RubberBandTool::paintViewport(), Isis::FindTool::paintViewport(), Isis::FileTool::print(), Isis::SunShadowTool::recalculateShadowHeight(), Isis::EditTool::redoEdit(), Isis::FindTool::refresh(), Isis::HistogramTool::refreshPlot(), Isis::SpatialPlotTool::refreshPlot(), Isis::SpectralPlotTool::refreshPlot(), Isis::WindowTool::removeConnections(), removeConnections(), Isis::RubberBandTool::repaint(), Isis::WindowTool::resizeWindows(), Isis::HistogramTool::rubberBandComplete(), Isis::MeasureTool::rubberBandComplete(), Isis::ZoomTool::rubberBandComplete(), Isis::EditTool::rubberBandComplete(), Isis::StretchTool::rubberBandComplete(), Isis::FileTool::save(), Isis::FileTool::saveAs(), Isis::FileTool::saveAsCubeByOption(), Isis::FileTool::saveAsReducedCube(), Isis::FileTool::saveInfo(), 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(), updateLabels(), Isis::MeasureTool::updateMeasure(), Isis::AdvancedTrackTool::updateRow(), Isis::WindowTool::updateTool(), Isis::BlinkTool::updateTool(), Isis::SpecialPixelTool::updateTool(), Isis::BandTool::updateTool(), Isis::SunShadowTool::updateTool(), Isis::AbstractPlotTool::updateTool(), Isis::ZoomTool::updateTool(), Isis::FileTool::updateTool(), Isis::EditTool::updateTool(), Isis::FindTool::updateTool(), Isis::StretchTool::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::StereoTool::paintAllViewports(), Isis::ControlNetTool::paintAllViewports(), Isis::MatchTool::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::WindowTool::updateTool(), Isis::BlinkTool::updateTool(), Isis::FindTool::updateTool(), Isis::AbstractPlotTool::viewportsToPlot(), Isis::ZoomTool::zoomBy(), Isis::ZoomTool::zoomFit(), Isis::ZoomTool::zoomFitHeight(), Isis::ZoomTool::zoomFitWidth(), and Isis::ZoomTool::zoomManual().

◆ displayWarning()

void Isis::TrackTool::displayWarning ( std::string &  pStr,
const std::string &  pExStr 
)

Display the Warning icon in case of an exception, sent from the tool where the exception occured.

Parameters
pStr- Topmost Exception Message String
pExStr- Propagated exception message string

Definition at line 97 of file TrackTool.cpp.

References mWarningWidget, and Isis::WarningWidget::viewWarningWidgetIcon().

Referenced by Isis::ViewportMainWindow::displayWarning().

◆ enableRubberBandTool()

void Isis::Tool::enableRubberBandTool ( )
protectedvirtualinherited

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

Enable the use of the rubberband tool.

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

Definition at line 339 of file Tool.cpp.

References Isis::RubberBandTool::disable().

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

◆ locateCursor

void Isis::TrackTool::locateCursor ( )
privateslot

Finds the cursor position.

Definition at line 341 of file TrackTool.cpp.

References Isis::Tool::cubeViewport(), and updateLabels().

Referenced by addConnections(), and removeConnections().

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

◆ mouseLeave

void Isis::TrackTool::mouseLeave ( )
virtualslot

Clears the labels if the mouse leaves the application.

Definition at line 131 of file TrackTool.cpp.

References clearLabels().

◆ mouseMove

void Isis::TrackTool::mouseMove ( QPoint  p)
virtualslot

Updates the labels anytime the mouse moves.

Parameters
p

Definition at line 116 of file TrackTool.cpp.

References Isis::Tool::cubeViewport(), and updateLabels().

◆ paintViewport()

virtual void Isis::Tool::paintViewport ( MdiCubeViewport vp,
QPainter *  painter 
)
inlinevirtualinherited

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

void Isis::TrackTool::removeConnections ( MdiCubeViewport cvp)
protectedvirtual

Removes the connections from the given viewport.

Parameters
cvp

Reimplemented from Isis::Tool.

Definition at line 370 of file TrackTool.cpp.

References Isis::Tool::cubeViewport(), and locateCursor().

◆ resetStatusWarning()

void Isis::TrackTool::resetStatusWarning ( void  )

Resets the warning status on the status bar to default.

Definition at line 104 of file TrackTool.cpp.

References mWarningWidget, and Isis::WarningWidget::resetWarning().

Referenced by Isis::ViewportMainWindow::resetWarning().

◆ screenPixelsChanged

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

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

Definition at line 162 of file Tool.h.

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

◆ setCubeViewport

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

◆ toolIconDir()

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

returns the path to the icon directory.

Returns
QString

Definition at line 127 of file Tool.h.

References Isis::Tool::m_toolIconDir.

Referenced by Isis::AdvancedTrackTool::AdvancedTrackTool(), Isis::BlinkTool::BlinkTool(), Isis::MatchTool::createActions(), Isis::QnetTool::createActions(), Isis::StereoTool::createMenus(), Isis::PanTool::createToolBarWidget(), Isis::BandTool::createToolBarWidget(), Isis::StereoTool::createToolBarWidget(), Isis::ZoomTool::createToolBarWidget(), Isis::EditTool::createToolBarWidget(), Isis::FindTool::createToolBarWidget(), Isis::StretchTool::createToolBarWidget(), Isis::FileTool::FileTool(), Isis::FindTool::FindTool(), Isis::HistogramTool::HistogramTool(), Isis::SpecialPixelTool::SpecialPixelTool(), Isis::RubberBandComboBox::toolIconDir(), Isis::PanTool::toolPadAction(), Isis::ScatterPlotTool::toolPadAction(), Isis::HistogramTool::toolPadAction(), Isis::BandTool::toolPadAction(), Isis::SunShadowTool::toolPadAction(), Isis::SpectralPlotTool::toolPadAction(), Isis::SpatialPlotTool::toolPadAction(), Isis::MeasureTool::toolPadAction(), Isis::StereoTool::toolPadAction(), Isis::ControlNetTool::toolPadAction(), Isis::ZoomTool::toolPadAction(), Isis::EditTool::toolPadAction(), Isis::FeatureNomenclatureTool::toolPadAction(), Isis::StatisticsTool::toolPadAction(), Isis::FindTool::toolPadAction(), Isis::StretchTool::toolPadAction(), Isis::MatchTool::toolPadAction(), Isis::QnetTool::toolPadAction(), Isis::WindowTool::WindowTool(), and Isis::ZoomTool::ZoomTool().

◆ toolPadAction()

virtual QAction* Isis::Tool::toolPadAction ( ToolPad toolpad)
inlineprotectedvirtualinherited

◆ updateLabels()

◆ updateTool

Member Data Documentation

◆ mWarningWidget

WarningWidget* Isis::TrackTool::mWarningWidget
private

Warning Widget.

Definition at line 75 of file TrackTool.h.

Referenced by displayWarning(), resetStatusWarning(), and TrackTool().

◆ p_bluLabel

QLabel* Isis::TrackTool::p_bluLabel
private

Blue label.

Definition at line 74 of file TrackTool.h.

Referenced by clearLabels(), TrackTool(), and updateLabels().

◆ p_grayLabel

QLabel* Isis::TrackTool::p_grayLabel
private

Gray label.

Definition at line 71 of file TrackTool.h.

Referenced by clearLabels(), TrackTool(), and updateLabels().

◆ p_grnLabel

QLabel* Isis::TrackTool::p_grnLabel
private

Green label.

Definition at line 73 of file TrackTool.h.

Referenced by clearLabels(), TrackTool(), and updateLabels().

◆ p_latLabel

QLabel* Isis::TrackTool::p_latLabel
private

Lat label.

Definition at line 69 of file TrackTool.h.

Referenced by clearLabels(), TrackTool(), and updateLabels().

◆ p_lineLabel

QLabel* Isis::TrackTool::p_lineLabel
private

Line label.

Definition at line 68 of file TrackTool.h.

Referenced by clearLabels(), TrackTool(), and updateLabels().

◆ p_lonLabel

QLabel* Isis::TrackTool::p_lonLabel
private

Lon label.

Definition at line 70 of file TrackTool.h.

Referenced by clearLabels(), TrackTool(), and updateLabels().

◆ p_redLabel

QLabel* Isis::TrackTool::p_redLabel
private

Red label.

Definition at line 72 of file TrackTool.h.

Referenced by clearLabels(), TrackTool(), and updateLabels().

◆ p_sampLabel

QLabel* Isis::TrackTool::p_sampLabel
private

Sample label.

Definition at line 67 of file TrackTool.h.

Referenced by clearLabels(), TrackTool(), and updateLabels().

◆ p_sbar

QStatusBar* Isis::TrackTool::p_sbar
private

Status bar.

Definition at line 66 of file TrackTool.h.

Referenced by TrackTool().


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