Isis 3 Developer Reference
|
Parent class for plotting tools which provides common functionality. More...
#include <AbstractPlotTool.h>
Public Slots | |
void | removeWindow (QObject *) |
When a user closes a window, we want to remove that window from our combo box for selecting the active window. More... | |
void | repaintViewports (CubePlotCurve *) |
This method causes the viewports corresponding with the given CubePlotCurve to be repainted with all of the area's of interest associated with the CubePlotCurve's PlotWindow. More... | |
void | showPlotWindow () |
displays the plot window More... | |
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 | |
AbstractPlotTool (QWidget *parent) | |
When you construct a plot tool, this initializes the common functionality between plot tools. More... | |
virtual | ~AbstractPlotTool () |
Clean up the abstract plot tool. More... | |
virtual void | paintViewport (MdiCubeViewport *vp, QPainter *painter) |
This method allows each plot window to paint any information it wants onto the cube viewports. 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 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... | |
RubberBandTool * | rubberBandTool () |
void | setList (ToolList *currentList) |
Protected Types | |
typedef QVector< MdiCubeViewport *> | CubeViewportList |
A list of cubeviewports. More... | |
Protected Slots | |
void | repaintViewports () |
This method causes all of the viewports to be repainted. More... | |
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 | |
PlotWindow * | addWindow () |
This creates and initializes everything about a plot window. More... | |
QWidget * | createToolBarWidget (QStackedWidget *parent) |
This provides the standard plot tool options, such as selecting an active plot window. More... | |
virtual PlotWindow * | createWindow ()=0 |
This needs to be implemented by children to instantiate a plot window of the appropriate child class of PlotWindow. More... | |
virtual void | updateTool () |
This forwards all update calls to the plot windows. More... | |
QList< MdiCubeViewport * > | viewportsToPlot () |
Get a list of linked viewports that should be plotting when a new plot is requested. More... | |
QList< PlotWindow * > | plotWindows () |
Get a list of all of the instantiated plot windows. More... | |
virtual void | detachCurves ()=0 |
This will be called when the selected plot window changes. More... | |
PlotWindow * | selectedWindow (bool createIfNeeded=true) |
Get the 'active' plot window (the window selected by the user to contain new curves). 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... | |
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 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 () |
Static Protected Member Functions | |
static CubePlotCurve * | createCurve (QString name, QPen pen, PlotCurve::Units xUnits, PlotCurve::Units yUnits) |
This is a helper method for children. More... | |
Parent class for plotting tools which provides common functionality.
This qview tool is designed to be inherited from by tools which create plots. This class provides common functionality such as opening new plot windows.
|
protectedinherited |
A list of cubeviewports.
Isis::AbstractPlotTool::AbstractPlotTool | ( | QWidget * | parent | ) |
When you construct a plot tool, this initializes the common functionality between plot tools.
For example, the select window combo box that appears when you call createToolBarWidget().
parent |
|
virtual |
Clean up the abstract plot tool.
This will destroy all of the plot windows.
|
slotinherited |
Activates the tool.
on |
References Isis::Tool::clearWarningSignal(), and Isis::Tool::toolActivated().
Referenced by Isis::Tool::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().
|
inlineprotectedvirtualinherited |
Anytime a tool is created, you must add the connections for it.
cvp |
Reimplemented in Isis::TrackTool, and Isis::WindowTool.
|
inherited |
Adds the tool to the application.
pViewPortMnWin |
References Isis::ViewportMainWindow::activeToolBar(), Isis::Tool::addToActive(), Isis::Tool::addToPermanent(), Isis::ViewportMainWindow::getMenu(), Isis::Tool::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().
|
inherited |
Adds the tool to the toolpad.
toolpad |
References Isis::Tool::activate(), Isis::ToolPad::addAction(), and Isis::Tool::toolPadAction().
|
inlinevirtualinherited |
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.
|
virtualinherited |
Adds the given workspace to the cubeviewport list.
ws |
Reimplemented in Isis::EditTool, Isis::FileTool, Isis::SpecialPixelTool, and Isis::WindowTool.
References Isis::Tool::registerTool(), and Isis::Tool::setCubeViewport().
|
inherited |
toolbar |
References Isis::Tool::createToolBarWidget(), and Isis::ToolList::toolBarStack().
Referenced by Isis::Tool::addTo(), and Isis::Workspace::Workspace().
|
inlinevirtualinherited |
toolbar |
Reimplemented in Isis::AdvancedTrackTool, Isis::FileTool, Isis::HelpTool, Isis::SpecialPixelTool, Isis::BlinkTool, and Isis::WindowTool.
Referenced by Isis::Tool::addTo(), and Isis::Workspace::Workspace().
|
protected |
This creates and initializes everything about a plot window.
This updates the window's title to be unique, adds it to the active plot window combo box, listens for the window to be removed and selects it in the active plot window combo box. Call this if you need a new plot window.
References createWindow(), removeWindow(), and repaintViewports().
Referenced by Isis::SpatialPlotTool::refreshPlot(), Isis::SpectralPlotTool::refreshPlot(), and selectedWindow().
|
signalinherited |
|
staticprotected |
This is a helper method for children.
Given a title, a color, and units a new CubePlotCurve is created.
name | The title of the curve to be created |
pen | The color & thickness of the curve |
xUnits | The units of the x-axis associated with this curve. This must match the plot window's x axis. |
yUnits | The units of the y-axis associated with this curve. This must match the plot window's y axis. |
References Isis::PlotCurve::setColor(), and Isis::PlotCurve::setPen().
|
protectedvirtual |
This provides the standard plot tool options, such as selecting an active plot window.
parent | The stacked widget which will contain ours as one of the widgets it can show. |
Reimplemented from Isis::Tool.
Reimplemented in Isis::StereoTool, Isis::SpatialPlotTool, Isis::SpectralPlotTool, and Isis::HistogramTool.
Referenced by Isis::HistogramTool::createToolBarWidget(), Isis::SpectralPlotTool::createToolBarWidget(), Isis::SpatialPlotTool::createToolBarWidget(), and Isis::StereoTool::createToolBarWidget().
|
protectedpure virtual |
This needs to be implemented by children to instantiate a plot window of the appropriate child class of PlotWindow.
You should set the window title, but the rest of the initialization will be handled by addWindow().
Implemented in Isis::StereoTool, Isis::SpatialPlotTool, Isis::SpectralPlotTool, and Isis::HistogramTool.
Referenced by addWindow().
|
inlineprotectedinherited |
Return the current cubeviewport.
Referenced by Isis::WindowTool::addConnections(), Isis::TrackTool::addConnections(), Isis::FileTool::discard(), Isis::FileTool::exportToList(), Isis::FileTool::exportView(), Isis::SunShadowTool::mouseButtonPress(), Isis::PanTool::mouseButtonRelease(), 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::HistogramTool::refreshPlot(), Isis::SpatialPlotTool::refreshPlot(), Isis::SpectralPlotTool::refreshPlot(), Isis::WindowTool::removeConnections(), Isis::TrackTool::removeConnections(), Isis::HistogramTool::rubberBandComplete(), Isis::MeasureTool::rubberBandComplete(), Isis::ZoomTool::rubberBandComplete(), Isis::StereoTool::rubberBandComplete(), Isis::EditTool::rubberBandComplete(), Isis::StretchTool::rubberBandComplete(), Isis::FileTool::save(), Isis::FileTool::saveAs(), Isis::FileTool::saveAsCubeByOption(), Isis::FileTool::saveInfo(), Isis::ScatterPlotTool::showNewScatterPlotConfig(), Isis::StretchTool::stretchGlobal(), Isis::StretchTool::stretchGlobalAllBands(), Isis::StretchTool::stretchRegional(), Isis::StretchTool::updateAdvStretchDialogforAll(), Isis::StretchTool::updateHistograms(), Isis::MeasureTool::updateMeasure(), Isis::WindowTool::updateTool(), Isis::BlinkTool::updateTool(), Isis::SpecialPixelTool::updateTool(), Isis::BandTool::updateTool(), Isis::SunShadowTool::updateTool(), updateTool(), Isis::ZoomTool::updateTool(), Isis::FileTool::updateTool(), Isis::EditTool::updateTool(), Isis::FindTool::updateTool(), Isis::StretchTool::updateTool(), and viewportsToPlot().
|
protectedinherited |
Return the list of cubeviewports.
References Isis::Workspace::cubeViewportList().
Referenced by Isis::FileTool::closeAll(), Isis::MatchTool::createPoint(), Isis::BlinkTool::eventFilter(), Isis::PanTool::mouseButtonRelease(), Isis::RubberBandTool::mouseButtonRelease(), Isis::RubberBandTool::mouseMove(), Isis::ScatterPlotTool::repaintViewports(), repaintViewports(), Isis::ZoomTool::rubberBandComplete(), Isis::ControlNetTool::setControlNet(), Isis::FeatureNomenclatureTool::setFontColor(), Isis::FeatureNomenclatureTool::setFontSize(), Isis::FeatureNomenclatureTool::setShowApprovedOnly(), Isis::FeatureNomenclatureTool::setVectorType(), Isis::StretchTool::stretchGlobalAllViewports(), Isis::MeasureTool::updateMeasure(), Isis::WindowTool::updateTool(), Isis::BlinkTool::updateTool(), Isis::FindTool::updateTool(), and viewportsToPlot().
|
protectedpure virtual |
This will be called when the selected plot window changes.
The existing curves need to be detached (forgotten, but not deleted). The curves are being detached between the previously selected window and the tool.
Implemented in Isis::StereoTool, Isis::SpatialPlotTool, Isis::SpectralPlotTool, and Isis::HistogramTool.
|
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.
References Isis::RubberBandTool::disable(), and Isis::Tool::rubberBandTool().
|
inlinevirtualinherited |
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.
Referenced by Isis::Tool::addTo(), and Isis::Workspace::Workspace().
|
protectedvirtualinherited |
p | |
s |
References Isis::Tool::clearWarningSignal().
|
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.
p | |
s |
Reimplemented in Isis::FeatureNomenclatureTool.
References Isis::Tool::clearWarningSignal().
Referenced by Isis::StretchTool::mouseButtonRelease().
|
protectedvirtualinherited |
p |
References Isis::Tool::clearWarningSignal().
|
inlineprotectedvirtualslotinherited |
|
inlineprotectedvirtualslotinherited |
|
protectedvirtualslotinherited |
p |
|
inlineprotectedvirtualslotinherited |
|
virtual |
This method allows each plot window to paint any information it wants onto the cube viewports.
For example, spatial plots can paint the originating selection in the color of the curve.
vp | The viewport to paint onto |
painter | The painter to use for painting |
Reimplemented from Isis::Tool.
Reimplemented in Isis::StereoTool.
References Isis::PlotWindow::paint().
Referenced by Isis::StereoTool::paintViewport().
|
protected |
Get a list of all of the instantiated plot windows.
Referenced by updateTool().
|
protectedinherited |
Registers the tool to the viewport.
viewport |
References Isis::MdiCubeViewport::registerTool(), and Isis::Tool::stretchRequested().
Referenced by Isis::Tool::addTo().
|
inlineprotectedvirtualinherited |
Anytime a tool is created, you must be able to remove it's connections.
cvp |
Reimplemented in Isis::MeasureTool, Isis::TrackTool, and Isis::WindowTool.
|
slot |
When a user closes a window, we want to remove that window from our combo box for selecting the active window.
We also repaint all of the cube viewports so that the destroyed window leaves no visible artifacts.
window | The plot window that is to be removed |
References repaintViewports().
Referenced by addWindow().
|
slot |
This method causes the viewports corresponding with the given CubePlotCurve to be repainted with all of the area's of interest associated with the CubePlotCurve's PlotWindow.
pc | The plot curve which needs to repaint |
References Isis::CubeViewport::cube(), Isis::Tool::cubeViewportList(), Isis::Cube::fileName(), and Isis::CubePlotCurve::sourceCube().
|
protectedslot |
This method causes all of the viewports to be repainted.
This is useful because it removes visible artifacts from deleted plot windows/curves.
References Isis::Tool::cubeViewportList().
Referenced by addWindow(), and removeWindow().
|
inlineprotectedvirtualslotinherited |
|
inherited |
References Isis::ToolList::rubberBandTool().
Referenced by Isis::MeasureTool::createToolBarWidget(), Isis::HistogramTool::enableRubberBandTool(), Isis::SpectralPlotTool::enableRubberBandTool(), Isis::SpatialPlotTool::enableRubberBandTool(), Isis::StereoTool::enableRubberBandTool(), Isis::MeasureTool::enableRubberBandTool(), Isis::ZoomTool::enableRubberBandTool(), Isis::EditTool::enableRubberBandTool(), Isis::StretchTool::enableRubberBandTool(), Isis::Tool::enableRubberBandTool(), Isis::HistogramTool::refreshPlot(), Isis::SpatialPlotTool::refreshPlot(), Isis::SpectralPlotTool::refreshPlot(), Isis::RubberBandComboBox::RubberBandComboBox(), Isis::HistogramTool::rubberBandComplete(), Isis::MeasureTool::rubberBandComplete(), Isis::SpectralPlotTool::rubberBandComplete(), Isis::SpatialPlotTool::rubberBandComplete(), Isis::ZoomTool::rubberBandComplete(), Isis::StereoTool::rubberBandComplete(), Isis::EditTool::rubberBandComplete(), Isis::StretchTool::rubberBandComplete(), and Isis::RubberBandComboBox::selectionChanged().
|
inlineprotectedvirtualinherited |
Reimplemented in Isis::RubberBandTool.
|
inlineprotectedvirtualslotinherited |
This is called when actions change which pixels from the cube are displayed.
|
protected |
Get the 'active' plot window (the window selected by the user to contain new curves).
This may return NULL if and only if createIfNeeded is false. Windows are created by child classes.
createIfNeeded | If this is true, and no window is selected in the active window combo box, then a window will be created and selected before this method returns. |
References addWindow().
Referenced by Isis::HistogramTool::refreshPlot(), Isis::SpatialPlotTool::refreshPlot(), Isis::SpectralPlotTool::refreshPlot(), Isis::HistogramTool::rubberBandComplete(), Isis::SpectralPlotTool::rubberBandComplete(), Isis::SpatialPlotTool::rubberBandComplete(), and showPlotWindow().
|
slotinherited |
Sets the current viewport to the given cvp.
cvp |
References Isis::Tool::updateTool(), and Isis::Tool::viewportChanged().
Referenced by Isis::Tool::addTo(), and Isis::FileTool::closeAll().
|
inherited |
Referenced by Isis::ToolList::append().
|
slot |
displays the plot window
References selectedWindow(), and Isis::PlotWindow::showWindow().
|
inlineprotectedvirtualinherited |
Reimplemented in Isis::StretchTool.
Referenced by Isis::Tool::registerTool().
|
signalinherited |
|
inlineinherited |
returns the path to the icon directory.
Referenced by Isis::AdvancedTrackTool::AdvancedTrackTool(), Isis::BlinkTool::BlinkTool(), Isis::PanTool::createToolBarWidget(), Isis::BandTool::createToolBarWidget(), Isis::StereoTool::createToolBarWidget(), Isis::ZoomTool::createToolBarWidget(), Isis::EditTool::createToolBarWidget(), Isis::FindTool::createToolBarWidget(), Isis::StretchTool::createToolBarWidget(), Isis::MatchTool::createToolBarWidget(), Isis::FileTool::FileTool(), Isis::FindTool::FindTool(), Isis::HelpTool::HelpTool(), Isis::HistogramTool::HistogramTool(), Isis::PanTool::PanTool(), 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.
Referenced by Isis::Tool::addTo().
|
inlineprotectedvirtualinherited |
|
protectedvirtual |
This forwards all update calls to the plot windows.
Reimplemented from Isis::Tool.
Reimplemented in Isis::SpatialPlotTool, Isis::SpectralPlotTool, and Isis::HistogramTool.
References Isis::Tool::cubeViewport(), plotWindows(), and Isis::PlotWindow::update().
Referenced by Isis::HistogramTool::updateTool(), Isis::SpectralPlotTool::updateTool(), and Isis::SpatialPlotTool::updateTool().
|
signalinherited |
|
protected |
Get a list of linked viewports that should be plotting when a new plot is requested.
This is a utility for child classes. For example, a spatial plot will make a curve for each viewport.
References Isis::Tool::cubeViewport(), Isis::Tool::cubeViewportList(), and Isis::MdiCubeViewport::isLinked().
Referenced by Isis::SpatialPlotTool::refreshPlot(), Isis::SpectralPlotTool::refreshPlot(), Isis::SpectralPlotTool::updateTool(), and Isis::SpatialPlotTool::updateTool().
|
protectedinherited |