Isis 3 Programmer Reference
|
Base class for the Qisis tools. More...
#include <Tool.h>
Public Slots | |
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 | |
Tool (QWidget *parent) | |
Tool constructor. More... | |
void | addTo (ViewportMainWindow *mw) |
Adds the tool to the application. More... | |
void | addTo (ToolPad *toolpad) |
Adds the tool to the toolpad. More... | |
virtual QString | menuName () const |
Anytime a tool is created, you must give it a name for the menu. More... | |
virtual void | addTo (QMenu *menu) |
virtual void | addToPermanent (QToolBar *toolbar) |
void | addToActive (QToolBar *toolbar) |
virtual void | addTo (Workspace *ws) |
Adds the given workspace to the cubeviewport list. More... | |
QString | toolIconDir () const |
returns the path to the icon directory. More... | |
virtual void | paintViewport (MdiCubeViewport *vp, QPainter *painter) |
RubberBandTool * | rubberBandTool () |
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 | |
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... | |
MdiCubeViewport * | cubeViewport () const |
Return the current cubeviewport. More... | |
CubeViewportList * | cubeViewportList () const |
Return the list of cubeviewports. More... | |
virtual QAction * | toolPadAction (ToolPad *toolpad) |
Anytime a tool is created, you must setup a tool pad action with it. More... | |
virtual QWidget * | createToolBarWidget (QStackedWidget *parent) |
Anytime a tool is created, you must add it to the tool bar. 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... | |
Workspace * | workspace () |
Private Member Functions | |
void | addViewportConnections () |
Makes all the connections for the tool. More... | |
void | removeViewportConnections () |
Removes all the connections from the tool. More... | |
void | enableToolBar () |
Enables entire tool bar. More... | |
void | disableToolBar () |
Disables entire tool bar. More... | |
Private Attributes | |
MdiCubeViewport * | m_cvp |
current cubeviewport More... | |
Workspace * | m_workspace |
bool | m_active |
Is the tool acitve? More... | |
QWidget * | m_toolBarWidget |
The tool bar on which this tool resides. More... | |
QAction * | m_toolPadAction |
The tool pad on which this tool resides. More... | |
QString | m_toolIconDir |
The pathway to the icon directory. More... | |
ToolList * | m_toolList |
Base class for the Qisis tools.
2007-04-30 Tracie Sucharski, Added Qpainter to parameters for the paintViewport method. This will allow the tools to use the CubeViewport painter rather than creating a new one which causes warnings in Qt4.
2007-09-11 Steven Lambright - Added code to handle the rubber band tool
2007-11-19 Stacy Alley - Added code for the new ViewportMainWindow class which is used to keep track of the size and location of the qisis windows.
2009-03-27 Noah Hilt, Steven Lambright - Removed old rubber band and changed cubeViewportList to call the Workspace viewport list.
2010-03-18 Sharmila Prasad - Reset warning status when a different tool is chosen, done on mouse double click, press or release
2010-05-24 Eric Hyer - setCubeViewport is now public
2010-06-26 Eric Hyer - Now uses MdiCubeViewport
2010-11-08 Eric Hyer - Added connects and disconnects for cubeViewport's new mouseMove signal
2012-02-27 Tracie Sucharski - Added the signal, toolActivated, to enable a tool to connect and respond when user selects a given tool using the toolPad button.
|
protected |
Isis::Tool::Tool | ( | QWidget * | parent | ) |
Tool constructor.
parent |
Definition at line 27 of file Tool.cpp.
References Isis::FileName::expanded(), m_active, m_cvp, m_toolBarWidget, m_toolIconDir, and m_toolPadAction.
|
slot |
Activates the tool.
on |
Definition at line 131 of file Tool.cpp.
References addViewportConnections(), disableToolBar(), enableToolBar(), m_active, m_toolPadAction, and removeViewportConnections().
Referenced by addTo(), Isis::AdvancedTrackTool::AdvancedTrackTool(), Isis::RubberBandTool::disable(), Isis::RubberBandTool::enable(), Isis::AdvancedTrackTool::eventFilter(), Isis::FileTool::FileTool(), Isis::RubberBandTool::RubberBandTool(), Isis::TrackTool::TrackTool(), Isis::WindowTool::WindowTool(), and Isis::Workspace::Workspace().
|
inlineprotectedvirtual |
Anytime a tool is created, you must add the connections for it.
cvp |
Reimplemented in Isis::TrackTool, and Isis::WindowTool.
Definition at line 253 of file Tool.h.
Referenced by addViewportConnections().
void Isis::Tool::addTo | ( | ViewportMainWindow * | pViewPortMnWin | ) |
Adds the tool to the application.
pViewPortMnWin |
Definition at line 78 of file Tool.cpp.
References Isis::ViewportMainWindow::activeToolBar(), addToActive(), addToPermanent(), Isis::ViewportMainWindow::getMenu(), menuName(), Isis::ViewportMainWindow::permanentToolBar(), Isis::ViewportMainWindow::toolPad(), and Isis::ViewportMainWindow::workspace().
Referenced by Isis::WindowTool::addTo(), Isis::SpecialPixelTool::addTo(), Isis::FileTool::addTo(), Isis::EditTool::addTo(), Isis::ViewportMainWindow::ViewportMainWindow(), and Isis::Workspace::Workspace().
void Isis::Tool::addTo | ( | ToolPad * | toolpad | ) |
Adds the tool to the toolpad.
toolpad |
Definition at line 98 of file Tool.cpp.
References activate(), Isis::ToolPad::addAction(), m_toolPadAction, and toolPadAction().
|
inlinevirtual |
menu |
Reimplemented in Isis::FindTool, Isis::FeatureNomenclatureTool, Isis::AdvancedTrackTool, Isis::StretchTool, Isis::QnetFileTool, Isis::ZoomTool, Isis::FileTool, Isis::SpectralPlotTool, Isis::MeasureTool, Isis::SunShadowTool, Isis::HelpTool, Isis::SpecialPixelTool, Isis::BlinkTool, Isis::WindowTool, and Isis::PanTool.
|
virtual |
Adds the given workspace to the cubeviewport list.
ws |
Reimplemented in Isis::EditTool, Isis::FileTool, Isis::SpecialPixelTool, and Isis::WindowTool.
Definition at line 45 of file Tool.cpp.
References registerTool(), and setCubeViewport().
void Isis::Tool::addToActive | ( | QToolBar * | toolbar | ) |
toolbar |
Definition at line 112 of file Tool.cpp.
References createToolBarWidget(), disableToolBar(), and m_toolBarWidget.
Referenced by addTo(), and Isis::Workspace::Workspace().
|
inlinevirtual |
toolbar |
Reimplemented in Isis::AdvancedTrackTool, Isis::FileTool, Isis::HelpTool, Isis::SpecialPixelTool, Isis::BlinkTool, and Isis::WindowTool.
Definition at line 111 of file Tool.h.
Referenced by addTo(), and Isis::Workspace::Workspace().
|
private |
Makes all the connections for the tool.
Definition at line 187 of file Tool.cpp.
References addConnections(), enableRubberBandTool(), m_cvp, m_toolPadAction, mouseButtonPress(), mouseButtonRelease(), mouseDoubleClick(), mouseMove(), and screenPixelsChanged().
Referenced by activate(), and setCubeViewport().
|
inlineprotectedvirtual |
Anytime a tool is created, you must add it to the tool bar.
parent |
Reimplemented in Isis::StretchTool, Isis::FindTool, Isis::StatisticsTool, Isis::FeatureNomenclatureTool, Isis::EditTool, Isis::ZoomTool, Isis::StereoTool, Isis::MeasureTool, Isis::SpatialPlotTool, Isis::SpectralPlotTool, Isis::AbstractPlotTool, Isis::BandTool, Isis::SunShadowTool, Isis::HistogramTool, Isis::ScatterPlotTool, and Isis::PanTool.
Definition at line 243 of file Tool.h.
Referenced by addToActive().
|
inlineprotected |
Return the current cubeviewport.
Definition at line 211 of file Tool.h.
References m_cvp.
Referenced by Isis::WindowTool::addConnections(), Isis::TrackTool::addConnections(), Isis::StretchTool::advancedStretchChanged(), Isis::FindTool::centerLinkedViewports(), Isis::StretchTool::changeStretch(), Isis::BandTool::changeView(), Isis::BandTool::copyLinkedViewports(), Isis::FileTool::discard(), 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(), 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(), Isis::TrackTool::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().
|
protected |
Return the list of cubeviewports.
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().
|
private |
Disables entire tool bar.
Definition at line 285 of file Tool.cpp.
References m_toolBarWidget.
Referenced by activate(), and addToActive().
|
protectedvirtual |
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 addViewportConnections().
|
private |
Enables entire tool bar.
Definition at line 297 of file Tool.cpp.
References cubeViewport(), m_toolBarWidget, and updateTool().
Referenced by activate(), and setCubeViewport().
|
inlinevirtual |
Anytime a tool is created, you must give it a name for the menu.
Reimplemented in Isis::FindTool, Isis::StretchTool, Isis::FeatureNomenclatureTool, Isis::AdvancedTrackTool, Isis::FileTool, Isis::ZoomTool, Isis::MeasureTool, Isis::BandTool, Isis::HelpTool, Isis::SpecialPixelTool, Isis::BlinkTool, Isis::WindowTool, and Isis::PanTool.
Definition at line 97 of file Tool.h.
Referenced by addTo(), and Isis::Workspace::Workspace().
|
protectedvirtual |
p | |
s |
Definition at line 367 of file Tool.cpp.
Referenced by addViewportConnections(), and removeViewportConnections().
|
protectedvirtual |
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.
p | |
s |
Reimplemented in Isis::FeatureNomenclatureTool.
Definition at line 380 of file Tool.cpp.
Referenced by addViewportConnections(), Isis::StretchTool::mouseButtonRelease(), and removeViewportConnections().
|
protectedvirtual |
p |
Definition at line 358 of file Tool.cpp.
Referenced by addViewportConnections(), and removeViewportConnections().
|
protectedvirtualslot |
p |
Definition at line 352 of file Tool.cpp.
Referenced by addViewportConnections(), and removeViewportConnections().
|
inlinevirtual |
vp | |
painter |
Reimplemented in Isis::QnetTool, Isis::MatchTool, Isis::FindTool, Isis::FeatureNomenclatureTool, Isis::RubberBandTool, Isis::ControlNetTool, Isis::StereoTool, Isis::SunShadowTool, Isis::AbstractPlotTool, and Isis::ScatterPlotTool.
|
protected |
Registers the tool to the viewport.
viewport |
Definition at line 327 of file Tool.cpp.
References m_cvp, and Isis::MdiCubeViewport::registerTool().
Referenced by addTo().
|
inlineprotectedvirtual |
Anytime a tool is created, you must be able to remove it's connections.
cvp |
Reimplemented in Isis::MeasureTool, Isis::TrackTool, and Isis::WindowTool.
Definition at line 261 of file Tool.h.
Referenced by removeViewportConnections().
|
private |
Removes all the connections from the tool.
Definition at line 238 of file Tool.cpp.
References m_cvp, mouseButtonPress(), mouseButtonRelease(), mouseDoubleClick(), mouseMove(), removeConnections(), and screenPixelsChanged().
Referenced by activate(), and setCubeViewport().
|
inlineprotectedvirtualslot |
This is called when actions change which pixels from the cube are displayed.
Definition at line 162 of file Tool.h.
Referenced by addViewportConnections(), removeViewportConnections(), and Isis::FeatureNomenclatureTool::viewportDone().
|
slot |
Sets the current viewport to the given cvp.
cvp |
Definition at line 160 of file Tool.cpp.
References addViewportConnections(), enableToolBar(), m_active, m_cvp, removeViewportConnections(), and updateTool().
Referenced by addTo(), and Isis::FileTool::closeAll().
|
inline |
returns the path to the icon directory.
Definition at line 127 of file Tool.h.
References 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().
Anytime a tool is created, you must setup a tool pad action with it.
toolpad |
Reimplemented in Isis::QnetTool, Isis::MatchTool, Isis::StretchTool, Isis::FindTool, Isis::StatisticsTool, Isis::FeatureNomenclatureTool, Isis::EditTool, Isis::ZoomTool, Isis::ControlNetTool, Isis::StereoTool, Isis::MeasureTool, Isis::SpatialPlotTool, Isis::SpectralPlotTool, Isis::SunShadowTool, Isis::BandTool, Isis::HistogramTool, Isis::ScatterPlotTool, and Isis::PanTool.
Definition at line 231 of file Tool.h.
Referenced by addTo().
|
virtualslot |
Updates the tool.
Reimplemented in Isis::StretchTool, Isis::FindTool, Isis::FeatureNomenclatureTool, Isis::EditTool, Isis::FileTool, Isis::ZoomTool, Isis::MeasureTool, Isis::SpatialPlotTool, Isis::SpectralPlotTool, Isis::AbstractPlotTool, Isis::SunShadowTool, Isis::BandTool, Isis::HistogramTool, Isis::SpecialPixelTool, Isis::BlinkTool, and Isis::WindowTool.
Definition at line 318 of file Tool.cpp.
Referenced by enableToolBar(), and setCubeViewport().
|
private |
Is the tool acitve?
Definition at line 278 of file Tool.h.
Referenced by activate(), setCubeViewport(), and Tool().
|
private |
current cubeviewport
Definition at line 275 of file Tool.h.
Referenced by addViewportConnections(), cubeViewport(), registerTool(), removeViewportConnections(), setCubeViewport(), and Tool().
|
private |
The tool bar on which this tool resides.
Definition at line 279 of file Tool.h.
Referenced by addToActive(), disableToolBar(), enableToolBar(), and Tool().
|
private |
The pathway to the icon directory.
Definition at line 281 of file Tool.h.
Referenced by Tool(), and toolIconDir().
|
private |
The tool pad on which this tool resides.
Definition at line 280 of file Tool.h.
Referenced by activate(), addTo(), addViewportConnections(), and Tool().