USGS

Isis 3.0 Object Programmers' Reference

Home

Isis::BandTool Class Reference

#include <BandTool.h>

Inheritance diagram for Isis::BandTool:
Inheritance graph
Collaboration diagram for Isis::BandTool:
Collaboration graph

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

 BandTool (QWidget *parent)
 BandTool constructor.
 
QString menuName () const
 returns the name of the menu.
 
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 void addToPermanent (QToolBar *toolbar)
 
void addToActive (QToolBar *toolbar)
 
QString toolIconDir () const
 returns the path to the icon directory.
 
virtual void paintViewport (MdiCubeViewport *vp, QPainter *painter)
 
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 ()
 
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

QActiontoolPadAction (ToolPad *pad)
 
QWidgetcreateToolBarWidget (QStackedWidget *active)
 
void updateTool ()
 updates the band tool
 
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 ()
 

Private Slots

void changeView ()
 This method is connected to the qspinboxes.
 
void setList ()
 This method sets the p_lineEditValueList to the proper values according to what the user has selected in the p_comboBox.
 
void setBandBin (Cube *cube)
 This method fills the p_comboBox with the keywords from the band bin group of the currently selected cube.
 
void setDisplay ()
 This method updates the values displayed in the gray boxes.
 
void copyLinkedViewports ()
 This method copies the selected bands to all linked viewports.
 
void copyAllViewports ()
 This methods copies the selected bands to all viewports.
 

Private Attributes

QRadioButton * p_rgbButton
 RGB radio button.
 
QRadioButton * p_blackwhiteButton
 Black and White radio button.
 
QSpinBoxp_graySpin
 Gray spin box.
 
QSpinBoxp_redSpin
 Red spin box.
 
QSpinBoxp_grnSpin
 Green spin box.
 
QSpinBoxp_bluSpin
 Blue spin box.
 
QLabel * p_grayDisplay
 gray display
 
QLabel * p_redDisplay
 red display
 
QLabel * p_greenDisplay
 green display
 
QLabel * p_blueDisplay
 blue display
 
QComboBoxp_comboBox
 display selection combo box
 
QStackedWidget * p_stack
 Stacked widget for spin boxes.
 
QStackedWidget * p_stack2
 Stacked widget for displays and combo box.
 
CubeViewportp_bandBinViewport
 
int p_bands
 Number of possible bands.
 
Pvl p_pvl
 pvl
 
QStringList p_lineEditValueList
 Value list.
 

Detailed Description

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

2010-06-26 Eric Hyer - Now uses MdiCubeViewport instead of CubeViewport

2010-12-01 Steven Lambright - No longer calls setBandBin() if the viewport doesn't change.

2012-09-18 Steven Lambright - setBandBin() now takes a Cube instead of a label. This is because the method needs the band count, which is no longer always readily available in the labels.

2013-11-04 Janet Barrett - Fixed the setBandBin and setList methods so that they retain the band bin settings for the current viewport. The band bin combo box will now be set to the user setting when a viewport is reactivated. Before this change was made, the band bin combo box would always reset to 'Center' when the user reactivated a viewport. Fixes #1612.

Definition at line 38 of file BandTool.h.

Member Typedef Documentation

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

A list of cubeviewports.

Definition at line 219 of file Tool.h.

Constructor & Destructor Documentation

Isis::BandTool::BandTool ( QWidget parent)

BandTool constructor.

Parameters
parent

Definition at line 27 of file BandTool.cpp.

Member Function Documentation

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 253 of file Tool.h.

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

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

Adds the tool to the toolpad.

Parameters
toolpad

Definition at line 97 of file Tool.cpp.

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

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 44 of file Tool.cpp.

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

void Isis::Tool::addToActive ( QToolBar toolbar)
inherited
virtual void Isis::Tool::addToPermanent ( QToolBar toolbar)
inlinevirtualinherited
void Isis::BandTool::changeView ( )
privateslot

This method is connected to the qspinboxes.

When the user selects a new band, the viewport needs to be updated and the values display next to the p_comboBox also need to be updated.

Definition at line 313 of file BandTool.cpp.

References Isis::CubeViewport::blueBand(), Isis::Tool::cubeViewport(), Isis::CubeViewport::grayBand(), Isis::CubeViewport::greenBand(), Isis::CubeViewport::isColor(), Isis::CubeViewport::isGray(), p_bluSpin, p_graySpin, p_grnSpin, p_redSpin, p_rgbButton, p_stack, p_stack2, Isis::CubeViewport::redBand(), and setDisplay().

Referenced by updateTool().

QWidget * Isis::BandTool::createToolBarWidget ( QStackedWidget *  active)
protectedvirtual
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(), Isis::TrackTool::addConnections(), Isis::StretchTool::advancedStretchChanged(), Isis::FindTool::centerLinkedViewports(), Isis::StretchTool::changeStretch(), changeView(), copyLinkedViewports(), Isis::FileTool::discard(), Isis::Tool::enableToolBar(), Isis::FileTool::exportView(), Isis::StatisticsTool::getStatistics(), Isis::FindTool::handleRecordClicked(), Isis::EditTool::LineToPoints(), Isis::TrackTool::locateCursor(), Isis::SunShadowTool::mouseButtonPress(), 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(), Isis::TrackTool::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(), Isis::TrackTool::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(), setBandBin(), 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::WindowTool::updateTool(), Isis::BlinkTool::updateTool(), Isis::SpecialPixelTool::updateTool(), 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().

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

Return the list of cubeviewports.

Returns
CubeViewportList*

Definition at line 389 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(), copyAllViewports(), 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::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::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().

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 338 of file Tool.cpp.

References Isis::RubberBandTool::disable().

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

QString Isis::BandTool::menuName ( ) const
inlinevirtual

returns the name of the menu.

Returns
QString

Reimplemented from Isis::Tool.

Definition at line 50 of file BandTool.h.

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

Definition at line 366 of file Tool.cpp.

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

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

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 379 of file Tool.cpp.

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

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

Definition at line 357 of file Tool.cpp.

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

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

Definition at line 351 of file Tool.cpp.

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

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

Registers the tool to the viewport.

Parameters
viewport

Definition at line 326 of file Tool.cpp.

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

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

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 261 of file Tool.h.

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

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

void Isis::BandTool::setBandBin ( Cube cube)
privateslot

This method fills the p_comboBox with the keywords from the band bin group of the currently selected cube.

If the current cube viewport doesn't have a currently chosen value for the p_comboBox, then 'Center' is chosen as the default.

Parameters
pvl

Definition at line 255 of file BandTool.cpp.

References Isis::Cube::bandCount(), Isis::CubeViewport::comboCount(), Isis::CubeViewport::comboIndex(), Isis::Tool::cubeViewport(), Isis::PvlObject::findObject(), Isis::PvlContainer::keywords(), Isis::Cube::label(), Isis::PvlContainer::name(), p_bands, p_bluSpin, p_comboBox, p_graySpin, p_grnSpin, p_pvl, p_redSpin, Isis::CubeViewport::setComboCount(), Isis::CubeViewport::setComboIndex(), and setList().

Referenced by updateTool().

void Isis::Tool::setCubeViewport ( MdiCubeViewport cvp)
slotinherited
void Isis::BandTool::setDisplay ( )
privateslot

This method updates the values displayed in the gray boxes.

Called from changeView.

Definition at line 345 of file BandTool.cpp.

References p_blueDisplay, p_bluSpin, p_grayDisplay, p_graySpin, p_greenDisplay, p_grnSpin, p_lineEditValueList, p_redDisplay, and p_redSpin.

Referenced by changeView(), and updateTool().

void Isis::BandTool::setList ( )
privateslot

This method sets the p_lineEditValueList to the proper values according to what the user has selected in the p_comboBox.

These are the values shown in the gray boxes.

Definition at line 210 of file BandTool.cpp.

References Isis::Tool::cubeViewport(), Isis::PvlObject::findObject(), Isis::PvlContainer::keywords(), p_bands, p_blueDisplay, p_comboBox, p_grayDisplay, p_greenDisplay, p_lineEditValueList, p_pvl, p_redDisplay, Isis::CubeViewport::setComboCount(), and Isis::CubeViewport::setComboIndex().

Referenced by setBandBin(), and updateTool().

QAction * Isis::BandTool::toolPadAction ( ToolPad pad)
protectedvirtual
Parameters
pad
Returns
QAction*

Reimplemented from Isis::Tool.

Definition at line 38 of file BandTool.cpp.

References Isis::Tool::toolIconDir().

Member Data Documentation

int Isis::BandTool::p_bands
private

Number of possible bands.

Definition at line 82 of file BandTool.h.

Referenced by setBandBin(), and setList().

QRadioButton* Isis::BandTool::p_blackwhiteButton
private

Black and White radio button.

Definition at line 68 of file BandTool.h.

Referenced by createToolBarWidget(), and updateTool().

QLabel* Isis::BandTool::p_blueDisplay
private

blue display

Definition at line 76 of file BandTool.h.

Referenced by createToolBarWidget(), setDisplay(), and setList().

QSpinBox* Isis::BandTool::p_bluSpin
private
QComboBox* Isis::BandTool::p_comboBox
private

display selection combo box

Definition at line 77 of file BandTool.h.

Referenced by createToolBarWidget(), setBandBin(), setList(), and updateTool().

QLabel* Isis::BandTool::p_grayDisplay
private

gray display

Definition at line 73 of file BandTool.h.

Referenced by createToolBarWidget(), setDisplay(), and setList().

QSpinBox* Isis::BandTool::p_graySpin
private
QLabel* Isis::BandTool::p_greenDisplay
private

green display

Definition at line 75 of file BandTool.h.

Referenced by createToolBarWidget(), setDisplay(), and setList().

QSpinBox* Isis::BandTool::p_grnSpin
private
QStringList Isis::BandTool::p_lineEditValueList
private

Value list.

Definition at line 84 of file BandTool.h.

Referenced by setDisplay(), and setList().

Pvl Isis::BandTool::p_pvl
private

pvl

Definition at line 83 of file BandTool.h.

Referenced by setBandBin(), and setList().

QLabel* Isis::BandTool::p_redDisplay
private

red display

Definition at line 74 of file BandTool.h.

Referenced by createToolBarWidget(), setDisplay(), and setList().

QSpinBox* Isis::BandTool::p_redSpin
private
QRadioButton* Isis::BandTool::p_rgbButton
private

RGB radio button.

Definition at line 67 of file BandTool.h.

Referenced by changeView(), copyAllViewports(), copyLinkedViewports(), createToolBarWidget(), and updateTool().

QStackedWidget* Isis::BandTool::p_stack
private

Stacked widget for spin boxes.

Definition at line 78 of file BandTool.h.

Referenced by changeView(), createToolBarWidget(), and updateTool().

QStackedWidget* Isis::BandTool::p_stack2
private

Stacked widget for displays and combo box.

Definition at line 79 of file BandTool.h.

Referenced by changeView(), createToolBarWidget(), and updateTool().


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