Isis 3 Programmer Reference
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. More...
 
void setCubeViewport (MdiCubeViewport *cvp)
 Sets the current viewport to the given cvp. More...
 

Signals

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

Public Member Functions

 BandTool (QWidget *parent)
 BandTool constructor. More...
 
QString menuName () const
 returns the name of the menu. More...
 
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 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)
 
virtual void mouseMove (QPoint p, Qt::MouseButton)
 
virtual void mouseLeave ()
 

Protected Member Functions

QActiontoolPadAction (ToolPad *pad)
 
QWidgetcreateToolBarWidget (QStackedWidget *active)
 
void updateTool ()
 updates the band tool 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 void addConnections (MdiCubeViewport *cvp)
 Anytime a tool is created, you must add the connections for it. More...
 
virtual void removeConnections (MdiCubeViewport *cvp)
 Anytime a tool is created, you must be able to remove it's connections. More...
 
virtual void enableRubberBandTool ()
 Anytime a tool is created, you may use the rubber band tool. More...
 
Workspaceworkspace ()
 

Private Slots

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

Private Attributes

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

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

◆ CubeViewportList

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

A list of cubeviewports.

Definition at line 219 of file Tool.h.

Constructor & Destructor Documentation

◆ BandTool()

Isis::BandTool::BandTool ( QWidget parent)

BandTool constructor.

Parameters
parent

Definition at line 27 of file BandTool.cpp.

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

◆ changeView

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

◆ copyAllViewports

◆ copyLinkedViewports

◆ createToolBarWidget()

QWidget * Isis::BandTool::createToolBarWidget ( QStackedWidget *  active)
protectedvirtual

◆ 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(), Isis::TrackTool::addConnections(), Isis::StretchTool::advancedStretchChanged(), Isis::FindTool::centerLinkedViewports(), Isis::StretchTool::changeStretch(), changeView(), copyLinkedViewports(), Isis::FileTool::discard(), Isis::Tool::enableToolBar(), Isis::FileTool::exportToList(), Isis::FileTool::exportView(), Isis::StatisticsTool::getStatistics(), Isis::FindTool::handleRecordClicked(), Isis::EditTool::LineToPoints(), Isis::TrackTool::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(), 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().

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

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

◆ menuName()

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.

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

◆ mouseMove

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

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

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

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

◆ setBandBin

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

◆ setCubeViewport

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

◆ setDisplay

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

◆ setList

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

◆ toolIconDir()

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

◆ toolPadAction()

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

◆ updateTool()

Member Data Documentation

◆ p_bands

int Isis::BandTool::p_bands
private

Number of possible bands.

Definition at line 82 of file BandTool.h.

Referenced by setBandBin(), and setList().

◆ p_blackwhiteButton

QRadioButton* Isis::BandTool::p_blackwhiteButton
private

Black and White radio button.

Definition at line 68 of file BandTool.h.

Referenced by createToolBarWidget(), and updateTool().

◆ p_blueDisplay

QLabel* Isis::BandTool::p_blueDisplay
private

blue display

Definition at line 76 of file BandTool.h.

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

◆ p_bluSpin

QSpinBox* Isis::BandTool::p_bluSpin
private

◆ p_comboBox

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

◆ p_grayDisplay

QLabel* Isis::BandTool::p_grayDisplay
private

gray display

Definition at line 73 of file BandTool.h.

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

◆ p_graySpin

QSpinBox* Isis::BandTool::p_graySpin
private

◆ p_greenDisplay

QLabel* Isis::BandTool::p_greenDisplay
private

green display

Definition at line 75 of file BandTool.h.

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

◆ p_grnSpin

QSpinBox* Isis::BandTool::p_grnSpin
private

◆ p_lineEditValueList

QStringList Isis::BandTool::p_lineEditValueList
private

Value list.

Definition at line 84 of file BandTool.h.

Referenced by setDisplay(), and setList().

◆ p_pvl

Pvl Isis::BandTool::p_pvl
private

pvl

Definition at line 83 of file BandTool.h.

Referenced by setBandBin(), and setList().

◆ p_redDisplay

QLabel* Isis::BandTool::p_redDisplay
private

red display

Definition at line 74 of file BandTool.h.

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

◆ p_redSpin

QSpinBox* Isis::BandTool::p_redSpin
private

◆ p_rgbButton

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

◆ p_stack

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

◆ p_stack2

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: