Isis 3 Developer Reference
|
Interactive image edit tool. More...
#include <EditTool.h>
Public Types | |
enum | EditShape { Point, HorizLine, VertLine, StartEndLine, Rectangle } |
Enum for possible shapes. More... | |
enum | ReplacementValue { UserDnComboValue, NullComboValue, HrsComboValue, LrsComboValue, HisComboValue, LisComboValue } |
Enum for DN values. More... | |
Public Slots | |
void | activate (bool) |
Activates the tool. More... | |
void | setCubeViewport (MdiCubeViewport *cvp) |
Sets the current viewport to the given cvp. More... | |
Signals | |
void | cubeChanged (bool) |
Emitted when cube changed. More... | |
void | save () |
Emitted when cube should be saved. More... | |
void | saveAs () |
Emitted when cube should be saved as another file. More... | |
void | clearWarningSignal () |
void | toolActivated () |
void | viewportChanged () |
Public Member Functions | |
EditTool (QWidget *parent) | |
Constructs and EditTool object. More... | |
void | addTo (Workspace *) |
Adds the given workspace to the cubeviewport list. 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 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... | |
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 | |
void | mouseButtonRelease (QPoint p, Qt::MouseButton m) |
This is a slot called when any mouse button is released inside of a viewport. More... | |
virtual void | enableRubberBandTool () |
This method sets up the RubberBandTool depending on which mode is enabled. More... | |
void | rubberBandComplete () |
This method is called any time the RubberBandTool is complete. More... | |
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 | |
QAction * | toolPadAction (ToolPad *pad) |
Adds the EditTool to the tool pad. More... | |
QWidget * | createToolBarWidget (QStackedWidget *active) |
Creates the toolbar containing the edit tool widgets. More... | |
void | updateTool () |
This is a virtual function belonging to the Tool class which is called when the user selects a different viewport. More... | |
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. More... | |
MdiCubeViewport * | cubeViewport () const |
Return the current cubeviewport. More... | |
CubeViewportList * | cubeViewportList () 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... | |
Workspace * | workspace () |
Interactive image edit tool.
This tool is part of the Qisis namespace and allows interactive editing of displayed images.
|
protectedinherited |
A list of cubeviewports.
Enum for DN values.
Isis::EditTool::EditTool | ( | QWidget * | parent | ) |
|
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(), 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.
|
virtual |
Adds the given workspace to the cubeviewport list.
ws |
Reimplemented from Isis::Tool.
References Isis::Tool::addTo(), and Isis::Tool::workspace().
|
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().
|
signalinherited |
|
protectedvirtual |
Creates the toolbar containing the edit tool widgets.
active | input The widget that will contain the edit tool specific widgets |
Reimplemented from Isis::Tool.
References enableRubberBandTool(), HisComboValue, HrsComboValue, LisComboValue, LrsComboValue, NullComboValue, save(), saveAs(), Isis::Tool::toolIconDir(), and UserDnComboValue.
|
signal |
Emitted when cube changed.
|
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(), 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(), 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(), Isis::AbstractPlotTool::updateTool(), Isis::ZoomTool::updateTool(), Isis::FileTool::updateTool(), updateTool(), Isis::FindTool::updateTool(), Isis::StretchTool::updateTool(), and Isis::AbstractPlotTool::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(), Isis::AbstractPlotTool::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 Isis::AbstractPlotTool::viewportsToPlot().
|
protectedvirtualslot |
This method sets up the RubberBandTool depending on which mode is enabled.
If a valid RubberBandTool mode is not enabled the RubberBandTool is disabled.
References Isis::RubberBandTool::disable(), Isis::RubberBandTool::enable(), Isis::RubberBandTool::LineMode, Isis::RubberBandTool::RectangleMode, Isis::Tool::rubberBandTool(), and Isis::RubberBandTool::setDrawActiveViewportOnly().
Referenced by createToolBarWidget().
|
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().
|
protectedslot |
This is a slot called when any mouse button is released inside of a viewport.
p | input The point under the cursor |
m | input Mouse button released (left,middle,right) |
2007-03-02 Tracie Sucharski - Reopen cube read/write Workspace::addCubeViewport was opening cube read/write, changed to open read only so that the cube date was not changed unless EditTool is invoked.
2007-02-26 Tracie Sucharski - Remove test for off image editing. It is no longer needed since the bug in the Cube class is fixed.
2008-05-23 Noah Hilt - Removed the rectangle and start/end line functionality from the mouseButtonRelease and moved it to the rubberBandComplete method.
2017-08-11 Adam Goins - Added a "vp->cube()->open("r")" call to reopen the cube with "r" permissions if the attempted "rw" permission didn't succeed. Fixes segfault issue if editing is attempted on cube without "w" access. (ref # 2097)
References Isis::CubeViewport::cube(), Isis::CubeViewport::cubeLines(), Isis::CubeViewport::cubeSamples(), Isis::Tool::cubeViewport(), Isis::Cube::fileName(), Isis::CubeViewport::grayBand(), HorizLine, Isis::CubeViewport::isColor(), Isis::Cube::isReadOnly(), Isis::Cube::lineCount(), Isis::Cube::open(), Isis::Cube::pixelType(), Point, Isis::Cube::read(), Isis::Cube::reopen(), Isis::Cube::sampleCount(), Isis::Brick::SetBasePosition(), UserDnComboValue, VertLine, and Isis::CubeViewport::viewportToCube().
|
protectedvirtualinherited |
p |
References Isis::Tool::clearWarningSignal().
|
inlineprotectedvirtualslotinherited |
|
inlineprotectedvirtualslotinherited |
|
protectedvirtualslotinherited |
p |
|
inlineprotectedvirtualslotinherited |
|
inlinevirtualinherited |
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.
|
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.
|
protectedslot |
This method is called any time the RubberBandTool is complete.
It checks if the viewport is writable, checks which mode it is in, either line or rectangle, and if RubberBandTool is valid. It then writes the data from the RubberBandTool to the cube.
References Isis::CubeViewport::cube(), Isis::CubeViewport::cubeLines(), Isis::CubeViewport::cubeSamples(), Isis::Tool::cubeViewport(), Isis::Cube::fileName(), Isis::CubeViewport::isColor(), Isis::Cube::isReadOnly(), Isis::RubberBandTool::isValid(), Isis::Cube::open(), Isis::RubberBandTool::rectangle(), Rectangle, Isis::Cube::reopen(), Isis::Tool::rubberBandTool(), StartEndLine, and Isis::CubeViewport::viewportToCube().
|
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(), 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(), rubberBandComplete(), Isis::StretchTool::rubberBandComplete(), and Isis::RubberBandComboBox::selectionChanged().
|
signal |
Emitted when cube should be saved.
Referenced by createToolBarWidget().
|
signal |
Emitted when cube should be saved as another file.
Referenced by createToolBarWidget().
|
inlineprotectedvirtualinherited |
Reimplemented in Isis::RubberBandTool.
|
inlineprotectedvirtualslotinherited |
This is called when actions change which pixels from the cube are displayed.
|
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().
|
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(), 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(), 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().
Adds the EditTool to the tool pad.
pad | input The tool pad that EditTool is to be added to |
Reimplemented from Isis::Tool.
References Isis::Tool::toolIconDir().
|
inlineprotectedvirtualinherited |
|
protectedvirtual |
This is a virtual function belonging to the Tool class which is called when the user selects a different viewport.
This sets up the signal/slot for destruction of a viewport so the viewport is removed from the undoEdit hash.
Reimplemented from Isis::Tool.
References Isis::Tool::cubeViewport().
|
signalinherited |
|
protectedinherited |