Isis Developer Reference
Isis::FeatureNomenclatureTool Class Reference

Display nomenclature on MDI Cube Viewports. More...

#include <FeatureNomenclatureTool.h>

Inheritance diagram for Isis::FeatureNomenclatureTool:
Inheritance graph
Collaboration diagram for Isis::FeatureNomenclatureTool:
Collaboration graph

Public Types

enum  VectorType { None , Arrows4 , Arrows8 , Box }
 Enumeration of extent vector typess. More...
 

Public Slots

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

 FeatureNomenclatureTool (QWidget *parent)
 This instantiates a FeatureNomenclatureTool.
 
 ~FeatureNomenclatureTool ()
 Cleans up memory allocated by this tool.
 
void addTo (QMenu *menu)
 Add the 'Show Nomenclature' option to the options menu.
 
void paintViewport (MdiCubeViewport *vp, QPainter *painter)
 Paint features on the given viewport.
 
bool defaultEnabled () const
 Is this tool enabled by default? (i.e.
 
QColor fontColor () const
 What is the font color to use?
 
int fontSize () const
 Retrieve the font size of the features in this tool.
 
bool showApprovedOnly () const
 Show approved features only?
 
VectorType vectorType () const
 Draw vectors to the extents of features?
 
void setDefaultEnabled (bool defaultEnabled)
 Set whether this tool is enabled by default.
 
void setFontColor (QColor color)
 Set the color to use for drawing on the viewport.
 
void setFontSize (int newFontSize)
 Set the font point size to use for drawing text on the viewport.
 
void setShowApprovedOnly (bool approvedOnly)
 Set whether to show approved features and exclude unapproved features.
 
void setVectorType (VectorType show)
 Set whether to draw vectors from the feature center to the feature extents on the viewport.
 
QString menuName () const
 This is the name of the menu that should be passed into "addTo()".
 
void addTo (ViewportMainWindow *mw)
 Adds the tool to the application.
 
void addTo (ToolPad *toolpad)
 Adds the tool to the toolpad.
 
virtual void addTo (Workspace *ws)
 Adds the given workspace to the cubeviewport list.
 
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

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

Protected Member Functions

QWidgetcreateToolBarWidget (QStackedWidget *parent)
 Creates the widget that goes on the tool bar when this tool is active.
 
QActiontoolPadAction (ToolPad *pad)
 Add this tool's action to the toolpad.
 
void mouseButtonRelease (QPoint p, Qt::MouseButton s)
 This handles a mouse release on one of the cube viewports when this tool is active.
 
void updateTool ()
 Updates the state of the current tool.
 
virtual void mouseDoubleClick (QPoint p)
 
virtual void mouseButtonPress (QPoint p, Qt::MouseButton s)
 
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.
 
virtual void enableRubberBandTool ()
 Anytime a tool is created, you may use the rubber band tool.
 
Workspaceworkspace ()
 

Detailed Description

Display nomenclature on MDI Cube Viewports.

This tool is designed to paint named features onto the viewports' displays. The nomenclature and it's positioning comes from the FeatureNomenclature class. Options such as auto-enabling from program start, showing vectors, font configurations, showing detailed feature information and linking back to the nomenclature website are built-in.

Author
2012-03-22 Steven Lambright and Jai Rideout

Member Typedef Documentation

◆ CubeViewportList

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

A list of cubeviewports.

Member Enumeration Documentation

◆ VectorType

Enumeration of extent vector typess.

Enumerator
None 

When using this vector (extent) type, no extents will be drawn.

Arrows4 

When using this vector (extent) type, 4 arrows will be drawn out from the text of the feature.

If an arrow doesn't extend past the text then it will not be drawn. The extents should look something like this:


^

<-— Feature Name ------>

v


Arrows8 

When using this vector (extent) type, 8 arrows will be drawn out from the text of the feature.

If an arrow doesn't extend past the text then it will not be drawn. The extents would look similar to the 4 arrow version shown above. There would be 8 arrows extending to the marked points:

*

  • Feature Name *
    • *
Box 

When using this vector (extent) type, 4 arrows will be drawn out from the text of the feature.

If the arrow doesn't extend past the text then it will not be drawn. The extents should look something like this:


|Feature Name | |_____________|

Constructor & Destructor Documentation

◆ FeatureNomenclatureTool()

Isis::FeatureNomenclatureTool::FeatureNomenclatureTool ( QWidget * parent)

This instantiates a FeatureNomenclatureTool.

This will read this tool's saved settings and potentially automatically enable itself.

Parameters
parent

References None, and Isis::Tool::toolActivated().

◆ ~FeatureNomenclatureTool()

Isis::FeatureNomenclatureTool::~FeatureNomenclatureTool ( )

Cleans up memory allocated by this tool.

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.

◆ addTo() [1/4]

void Isis::FeatureNomenclatureTool::addTo ( QMenu * menu)
virtual

Add the 'Show Nomenclature' option to the options menu.

Parameters
menuMenu to add 'Show Nomenclature' to.

Reimplemented from Isis::Tool.

◆ addTo() [2/4]

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

Adds the tool to the toolpad.

Parameters
toolpad

References Isis::Tool::activate(), 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.

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

◆ addToActive()

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

References Isis::Tool::createToolBarWidget(), and Isis::ToolList::toolBarStack().

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

◆ addToPermanent()

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

◆ clearWarningSignal

void Isis::Tool::clearWarningSignal ( )
signalinherited

◆ createToolBarWidget()

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

Creates the widget that goes on the tool bar when this tool is active.

Parameters
parent
Returns
QWidget*

Reimplemented from Isis::Tool.

◆ cubeViewport()

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

Return the current cubeviewport.

Returns
CubeViewport*

Referenced by Isis::TrackTool::addConnections(), Isis::WindowTool::addConnections(), Isis::StretchTool::deleteFromCube(), Isis::FileTool::discard(), Isis::FileTool::exportToList(), Isis::FileTool::exportView(), Isis::StretchTool::loadStretchFromCube(), Isis::SunShadowTool::mouseButtonPress(), Isis::EditTool::mouseButtonRelease(), Isis::ControlNetTool::mouseButtonRelease(), mouseButtonRelease(), Isis::FindTool::mouseButtonRelease(), Isis::MatchTool::mouseButtonRelease(), Isis::PanTool::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::HistogramTool::refreshPlot(), Isis::SpatialPlotTool::refreshPlot(), Isis::SpectralPlotTool::refreshPlot(), Isis::TrackTool::removeConnections(), Isis::WindowTool::removeConnections(), Isis::EditTool::rubberBandComplete(), Isis::HistogramTool::rubberBandComplete(), Isis::MeasureTool::rubberBandComplete(), Isis::StereoTool::rubberBandComplete(), Isis::StretchTool::rubberBandComplete(), Isis::ZoomTool::rubberBandComplete(), Isis::FileTool::save(), Isis::FileTool::saveAs(), Isis::FileTool::saveAsCubeByOption(), Isis::FileTool::saveInfo(), Isis::StretchTool::saveStretchToCube(), Isis::ScatterPlotTool::showNewScatterPlotConfig(), Isis::StretchTool::stretchGlobal(), Isis::StretchTool::stretchGlobalAllBands(), Isis::StretchTool::stretchRegional(), Isis::StretchTool::updateAdvStretchDialogforAll(), Isis::StretchTool::updateHistograms(), Isis::MeasureTool::updateMeasure(), 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(), and Isis::AbstractPlotTool::viewportsToPlot().

◆ cubeViewportList()

◆ defaultEnabled()

bool Isis::FeatureNomenclatureTool::defaultEnabled ( ) const

Is this tool enabled by default? (i.e.

on program start)

Returns
True if this tool is automatically enabled

Referenced by Isis::NomenclatureToolConfigDialog::readSettings(), and setDefaultEnabled().

◆ 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::HistogramTool, Isis::MeasureTool, Isis::RubberBandTool, Isis::SpatialPlotTool, Isis::SpectralPlotTool, Isis::StereoTool, and Isis::ZoomTool.

References Isis::RubberBandTool::disable(), and Isis::Tool::rubberBandTool().

◆ fontColor()

QColor Isis::FeatureNomenclatureTool::fontColor ( ) const

What is the font color to use?

Returns
Color that is used for painting features

Referenced by Isis::NomenclatureToolConfigDialog::readSettings().

◆ fontSize()

int Isis::FeatureNomenclatureTool::fontSize ( ) const

Retrieve the font size of the features in this tool.

Returns
Font point size used to render feature names

Referenced by Isis::NomenclatureToolConfigDialog::readSettings().

◆ menuName()

QString Isis::FeatureNomenclatureTool::menuName ( ) const
virtual

This is the name of the menu that should be passed into "addTo()".

Returns
The options menu's name

Reimplemented from Isis::Tool.

◆ mouseButtonPress()

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

References Isis::Tool::clearWarningSignal().

◆ mouseButtonRelease()

void Isis::FeatureNomenclatureTool::mouseButtonRelease ( QPoint p,
Qt::MouseButton s )
protectedvirtual

This handles a mouse release on one of the cube viewports when this tool is active.

The responsibilities are forwarde to ViewportFeatureDisplay::handleMouseClicked().

Parameters
pThe point in the viewport where the mouse was released
sThe mouse buttons that were released

Reimplemented from Isis::Tool.

References Isis::Tool::cubeViewport().

◆ mouseDoubleClick()

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

References Isis::Tool::clearWarningSignal().

◆ mouseEnter

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

◆ mouseLeave

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

◆ mouseMove [1/2]

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

◆ mouseMove [2/2]

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

◆ paintViewport()

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

Paint features on the given viewport.

Parameters
vpThe viewport that needs painted
painterThe painter to use for painting

Reimplemented from Isis::Tool.

References None.

◆ registerTool()

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

Registers the tool to the viewport.

Parameters
viewport

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

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.

◆ rubberBandComplete

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

◆ rubberBandTool()

◆ scaleChanged()

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

Reimplemented in Isis::RubberBandTool.

◆ screenPixelsChanged

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

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

◆ setCubeViewport

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

Sets the current viewport to the given cvp.

Parameters
cvp

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

Referenced by Isis::Tool::addTo(), and Isis::FileTool::closeAll().

◆ setDefaultEnabled()

void Isis::FeatureNomenclatureTool::setDefaultEnabled ( bool defaultEnabled)

Set whether this tool is enabled by default.

Parameters
defaultEnabledTrue to enable by default

References defaultEnabled().

Referenced by Isis::NomenclatureToolConfigDialog::applySettings().

◆ setFontColor()

void Isis::FeatureNomenclatureTool::setFontColor ( QColor color)

Set the color to use for drawing on the viewport.

This takes effect immediately.

Parameters
colorThe color to use for drawing

References Isis::Tool::cubeViewportList().

Referenced by Isis::NomenclatureToolConfigDialog::applySettings().

◆ setFontSize()

void Isis::FeatureNomenclatureTool::setFontSize ( int newFontSize)

Set the font point size to use for drawing text on the viewport.

This takes effect immediately.

Parameters
newFontSizeThe font point size to use for rendering text

References Isis::Tool::cubeViewportList().

Referenced by Isis::NomenclatureToolConfigDialog::applySettings().

◆ setList()

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

◆ setShowApprovedOnly()

void Isis::FeatureNomenclatureTool::setShowApprovedOnly ( bool approvedOnly)

Set whether to show approved features and exclude unapproved features.

Parameters
approvedOnlyTrue to show only appproved features

References Isis::Tool::cubeViewportList().

Referenced by Isis::NomenclatureToolConfigDialog::applySettings().

◆ setVectorType()

void Isis::FeatureNomenclatureTool::setVectorType ( VectorType show)

Set whether to draw vectors from the feature center to the feature extents on the viewport.

This takes effect immediately.

Parameters
showTrue to show the vectors

References Isis::Tool::cubeViewportList().

Referenced by Isis::NomenclatureToolConfigDialog::applySettings().

◆ showApprovedOnly()

bool Isis::FeatureNomenclatureTool::showApprovedOnly ( ) const

Show approved features only?

Returns
True if we're showing only approved features.

Referenced by Isis::NomenclatureToolConfigDialog::readSettings().

◆ stretchRequested()

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

Reimplemented in Isis::StretchTool.

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

◆ toolActivated

void Isis::Tool::toolActivated ( )
signalinherited

◆ toolIconDir()

◆ toolPadAction()

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

Add this tool's action to the toolpad.

This defines the name and hotkey of this tool.

Parameters
toolpad
Returns
QAction*

Reimplemented from Isis::Tool.

References Isis::Tool::toolIconDir().

◆ updateMeasure()

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

◆ updateTool()

void Isis::FeatureNomenclatureTool::updateTool ( )
protectedvirtual

Updates the state of the current tool.

This will find any missing nomenclature if appropriate.

Reimplemented from Isis::Tool.

◆ vectorType()

FeatureNomenclatureTool::VectorType Isis::FeatureNomenclatureTool::vectorType ( ) const

Draw vectors to the extents of features?

Returns
True if we're drawing vectors to the extents of features.

Referenced by Isis::NomenclatureToolConfigDialog::readSettings().

◆ viewportChanged

◆ workspace()


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