Isis 3 Programmer Reference
Isis::FileTool Class Reference

#include <FileTool.h>

Inheritance diagram for Isis::FileTool:
Inheritance graph
Collaboration diagram for Isis::FileTool:
Collaboration graph

Public Slots

virtual void open ()
 This method allows the user to navigate and open a cube with a file dialog. More...
 
virtual void browse ()
 This method allows the user to navigate and browse cubes with a file dialog . More...
 
void print ()
 This method allows the user to print the current viewport. More...
 
virtual void save ()
 This method saves any changes made to the current cube, these changes are finalized! There is no undoing once a save has been made. More...
 
virtual void saveAs ()
 SaveAs Action - Displays the FileDialog with the filterlist (*.cub) to select the output cube. More...
 
virtual void saveInfo ()
 Saves the whatsthis info of the cubeviewport. More...
 
virtual void exportView ()
 This method allows the user to export the current view as an image file. More...
 
virtual void exportToList ()
 FileTool::exportToList. More...
 
virtual bool closeAll ()
 Try to close all open cubes and save/discard if necessary. More...
 
virtual void exit ()
 Exit the program, this slot called when the exit is chosen from the File menu. More...
 
void enableSave (bool enable)
 This slot enables or disables save and save as. More...
 
void discard ()
 This slot emits a signal to discard all changes to the current viewport. More...
 
void saveAsCubeByOption (QString)
 Save as Isis Cube (FullImage, AsIs, FullRes) More...
 
void activate (bool)
 Activates the tool. More...
 
void setCubeViewport (MdiCubeViewport *cvp)
 Sets the current viewport to the given cvp. More...
 

Signals

void fileSelected (QString)
 This signal is called when a file is selected. More...
 
void saveChanges (CubeViewport *vp)
 This signal is called when changes should be saved. More...
 
void discardChanges (CubeViewport *vp)
 This signal is called when changes should be discarded. More...
 
void clearWarningSignal ()
 
void toolActivated ()
 
void viewportChanged ()
 

Public Member Functions

 FileTool (QWidget *parent)
 Constructs a FileTool object. More...
 
void addTo (QMenu *menu)
 Adds the file tool's actions to the menu. More...
 
void addTo (Workspace *ws)
 Connects the fileSelected signal to the workspace's addCubeViewport slot. More...
 
void addToPermanent (QToolBar *perm)
 Adds the file tool's actions to the permanent toolbar. More...
 
QPointer< QActionopenAction ()
 
QPointer< QActionsaveAction ()
 
QString menuName () const
 
void addTo (ViewportMainWindow *mw)
 Adds the tool to the application. More...
 
void addTo (ToolPad *toolpad)
 Adds the tool to the toolpad. More...
 
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)
 

Public Attributes

QStringList p_filterList
 Filter List. More...
 
QDir p_dir
 Directory. More...
 
QStringList p_fileList
 File list. More...
 

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

void updateTool ()
 Updates the 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 QActiontoolPadAction (ToolPad *toolpad)
 Anytime a tool is created, you must setup a tool pad action with it. More...
 
virtual QWidgetcreateToolBarWidget (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...
 
Workspaceworkspace ()
 

Private Member Functions

void saveAsFullImage (Cube *icube, Cube *ocube)
 Saves the cube as a full image. More...
 
void copyCubeDetails (const QString &psFileName, Cube *icube, Cube *ocube, int piNumSamples, int piNumLines, int piNumBands)
 Copy input cube details into output file given its dimensions. More...
 
void saveAs_AsIs (Cube *icube, const QString &psOutFile)
 Save image AsIs (As viewed in the viewport window) into output file. More...
 
void saveAs_FullResolution (Cube *pInCube, Cube *pOutCube, int pNumSamples, int pNumLines)
 Save image Full Resolution (image viewed in the viewport window) into output. More...
 
void saveAsEnlargedCube (Cube *icube, const QString &psOutFile)
 Save image AsIs Enlarged into output. More...
 
void saveAsReducedCube (Cube *icube, const QString &psOutFile)
 For AsIs option, save the reduced input image visible in the viewport window using the Reduce functionality. More...
 
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...
 

Static Private Member Functions

static void copy (Buffer &in, Buffer &out)
 This method copies from the input buffer to the output buffer. More...
 

Private Attributes

QPointer< QActionp_open
 Action to open a file. More...
 
QPointer< QActionp_browse
 Action to browse and open files. More...
 
QPointer< QActionp_print
 Action to print the current view. More...
 
QPointer< QActionp_save
 Action to save the current cube. More...
 
QPointer< QActionp_saveAs
 Action save the current cube as a user specified file. More...
 
QPointer< QActionp_saveInfo
 Action to save the current cube's Whatsthis info. More...
 
QPointer< QActionp_exportView
 Action to export the view as a picture. More...
 
QPointer< QActionp_exportToList
 Action to export active cubes to a cube list. More...
 
QPointer< QActionp_closeAll
 Action to close all windows. More...
 
QPointer< QActionp_exit
 Action to exit qview. More...
 
QPointer< QWidgetp_parent
 The parent widget of this object. More...
 
QString p_lastDir
 The last directory opened. More...
 
QPointer< Workspacep_workSpace
 The workspace being used. More...
 
QPointer< MdiCubeViewportp_lastViewport
 The last cubeviewport that was used. More...
 
QPointer< SaveAsDialogp_saveAsDialog
 SaveAs Dialog with different save options. More...
 
MdiCubeViewportm_cvp
 current cubeviewport More...
 
Workspacem_workspace
 
bool m_active
 Is the tool acitve? More...
 
QWidgetm_toolBarWidget
 The tool bar on which this tool resides. More...
 
QActionm_toolPadAction
 The tool pad on which this tool resides. More...
 
QString m_toolIconDir
 The pathway to the icon directory. More...
 
ToolListm_toolList
 

Detailed Description

Author
????-??-?? Unknown
History:
2008-12-10 Jeannie Walldren - Added "What's this?" and shortcut to "Save" action
History:
2010-06-26 Eric Hyer - Now uses MdiCubeViewport
History:
2011-04-05 Sharmila Prasad - Added SaveInfo option to save the current cubeviewport's whatsthis info
History:
2011-05-11 Sharmila Prasad - Added SaveAsDialog to select the output cube and options to save FullImage, ExportAsIs, ExportFullRes
History:
2012-02-01 Sharmila Prasad - Fixed bug #0000681 - reduce in ISIS 3.3.0 is ignoring the +N band identifier
History:
2012-05-24 Steven Lambright - Minor changes to support prompting to save on exit once again (this has been broken for a very long time). The prompt now appears if you have edited your file but not saved it - not when clicking "Save." This was a minimal fix (I left a lot of problems to be solved at a later date). Fixes #854.
History:
2012-06-04 Steven Lambright - Fixed a problem with the save button. References #854.
History:
2013-01-07 Tracie Sucharski - Added AlphaCube to output cube for saving the full resolution viewport image. Fixes # 706.
History:
2013-01-09 Tracie Sucharski - Fixed saveAsCubeByOption which was not creating the cube for the case where the scale was 1 and saveAs_FullResolution was being called without an initialized ocube. Fixes #1386.
History:
2013-01-17 Tracie Sucharski - Fixed some round-off errors when calculating output lines/samples. Fixed printing of Results pvl group where samples and lines were swapped. References #1385.
History:
2016-04-21 Makayla Shepherd - Added UnsignedWord pixel type handling.
History:
2016-09-14 Ian Humphrey - Modified exportView() and print()- replaced deprecated static QPixmap::grabWidget with QWidget::grab to remove deprecation warnings from stdout when using File->Print or File->Export View. References #4304.
History:
2017-06-07 Christopher Combs - Changed saveAsEnlargedCube's catch block to stack errors and give a more accurate error message.
History:
2017-09-11 Adam Goins - Added the ExportToList menu item to allow all open cubes to be exported into a cubelist. References #5097
History:
2018-07-27 Kaitlyn Lee - Added unsigned/signed integer pixel type handling.

Definition at line 59 of file FileTool.h.

Member Typedef Documentation

◆ CubeViewportList

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

A list of cubeviewports.

Definition at line 205 of file Tool.h.

Constructor & Destructor Documentation

◆ FileTool()

Isis::FileTool::FileTool ( QWidget parent)

Constructs a FileTool object.

Parameters
parent
History:
2008-12-10 Jeannie Walldren - Added "What's this?" and shortcut to "Save" action

Definition at line 46 of file FileTool.cpp.

References Isis::Tool::activate(), browse(), exit(), exportToList(), exportView(), open(), p_browse, p_closeAll, p_dir, p_exit, p_exportToList, p_exportView, p_lastViewport, p_open, p_parent, p_print, p_save, p_saveAs, p_saveAsDialog, p_saveInfo, print(), save(), saveAs(), saveInfo(), and Isis::Tool::toolIconDir().

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::WindowTool, and Isis::TrackTool.

Definition at line 239 of file Tool.h.

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

◆ addTo() [1/4]

void Isis::FileTool::addTo ( QMenu menu)
virtual

Adds the file tool's actions to the menu.

Parameters
menu

Reimplemented from Isis::Tool.

Reimplemented in Isis::QnetFileTool.

Definition at line 169 of file FileTool.cpp.

References p_browse, p_closeAll, p_exit, p_exportToList, p_exportView, p_open, p_print, p_save, p_saveAs, and p_saveInfo.

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

◆ 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::FileTool::addTo ( Workspace ws)
virtual

Connects the fileSelected signal to the workspace's addCubeViewport slot.

Parameters
ws

Reimplemented from Isis::Tool.

Definition at line 188 of file FileTool.cpp.

References Isis::Tool::addTo(), fileSelected(), Isis::Workspace::mdiArea(), p_closeAll, and p_workSpace.

◆ addToActive()

void Isis::Tool::addToActive ( QToolBar toolbar)
inherited

◆ addToPermanent()

void Isis::FileTool::addToPermanent ( QToolBar perm)
virtual

Adds the file tool's actions to the permanent toolbar.

Parameters
perm

Reimplemented from Isis::Tool.

Definition at line 203 of file FileTool.cpp.

References p_exit, p_exportView, p_open, and p_print.

◆ addViewportConnections()

◆ browse

void Isis::FileTool::browse ( )
virtualslot

This method allows the user to navigate and browse cubes with a file dialog .

Definition at line 236 of file FileTool.cpp.

References fileSelected(), p_dir, p_filterList, and p_workSpace.

Referenced by FileTool().

◆ closeAll

bool Isis::FileTool::closeAll ( )
virtualslot

Try to close all open cubes and save/discard if necessary.

Definition at line 944 of file FileTool.cpp.

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

◆ copy()

void Isis::FileTool::copy ( Buffer in,
Buffer out 
)
staticprivate

This method copies from the input buffer to the output buffer.

Parameters
in
out

Definition at line 782 of file FileTool.cpp.

References Isis::Buffer::Copy().

Referenced by saveAsFullImage().

◆ copyCubeDetails()

void Isis::FileTool::copyCubeDetails ( const QString &  psOutFile,
Cube icube,
Cube ocube,
int  piNumSamples,
int  piNumLines,
int  piNumBands 
)
private

Copy input cube details into output file given its dimensions.

Copy input image details into the output given output images's dimension.

Parameters
psOutFileThe psFileName
icubeThe input cube
ocubeThe output cube
piNumSamplesThe number samples
piNumLinesThe number of lines
piNumBandsThe number of bands

Info like instrument, history are transferred to output image

Parameters
icube- input image
ocube- output image
psOutFile- output cube attributes
piNumSamples- out samples
piNumLines- out lines
piNumBands- out bands
History:
2011-05-11 Sharmila Prasad - Isolated from original SaveAs function so that it can be used by different SaveAs options

Definition at line 552 of file FileTool.cpp.

References Isis::PvlObject::addGroup(), Isis::AttachedLabel, Isis::Cube::base(), Isis::CubeAttributeOutput::byteOrder(), Isis::Cube::create(), Isis::CubeAttributeOutput::fileFormat(), Isis::PvlObject::findObject(), Isis::PvlObject::group(), Isis::PvlObject::groups(), Isis::PvlContainer::isNamed(), Isis::Cube::label(), Isis::Cube::labelSize(), Isis::CubeAttributeOutput::maximum(), Isis::CubeAttributeOutput::minimum(), Isis::Cube::multiplier(), Isis::PvlContainer::name(), Isis::PvlObject::object(), Isis::PvlObject::objects(), Isis::Cube::pixelType(), Isis::CubeAttributeOutput::pixelType(), Isis::IException::Programmer, Isis::CubeAttributeOutput::propagateMinimumMaximum(), Isis::CubeAttributeOutput::propagatePixelType(), Isis::Cube::read(), Isis::Cube::readOriginalLabel(), Isis::Cube::setBaseMultiplier(), Isis::Cube::setByteOrder(), Isis::Cube::setDimensions(), Isis::Cube::setFormat(), Isis::Cube::setLabelsAttached(), Isis::Cube::setLabelSize(), Isis::Cube::setMinMax(), Isis::Cube::setPixelType(), Isis::IException::User, and Isis::Cube::write().

Referenced by saveAsCubeByOption().

◆ createToolBarWidget()

virtual QWidget* Isis::Tool::createToolBarWidget ( QStackedWidget *  parent)
inlineprotectedvirtualinherited

◆ cubeViewport()

MdiCubeViewport* Isis::Tool::cubeViewport ( ) const
inlineprotectedinherited

Return the current cubeviewport.

Returns
CubeViewport*

Definition at line 197 of file Tool.h.

References Isis::Tool::m_cvp.

Referenced by Isis::TrackTool::addConnections(), Isis::WindowTool::addConnections(), Isis::StretchTool::advancedStretchChanged(), Isis::FindTool::centerLinkedViewports(), Isis::StretchTool::changeStretch(), Isis::BandTool::changeView(), Isis::BandTool::copyLinkedViewports(), Isis::StretchTool::deleteFromCube(), discard(), Isis::Tool::enableToolBar(), exportToList(), exportView(), Isis::StatisticsTool::getStatistics(), Isis::FindTool::handleRecordClicked(), Isis::EditTool::LineToPoints(), Isis::StretchTool::loadStretchFromCube(), Isis::TrackTool::locateCursor(), Isis::SunShadowTool::mouseButtonPress(), Isis::EditTool::mouseButtonRelease(), Isis::ControlNetTool::mouseButtonRelease(), Isis::FeatureNomenclatureTool::mouseButtonRelease(), Isis::FindTool::mouseButtonRelease(), Isis::MatchTool::mouseButtonRelease(), Isis::QnetTool::mouseButtonRelease(), Isis::RubberBandTool::mouseButtonRelease(), Isis::StretchTool::mouseButtonRelease(), Isis::AdvancedTrackTool::mouseLeave(), Isis::SunShadowTool::mouseMove(), Isis::TrackTool::mouseMove(), Isis::RubberBandTool::mouseMove(), Isis::ScatterPlotTool::mouseMove(), Isis::FindTool::paintViewport(), Isis::RubberBandTool::paintViewport(), Isis::SunShadowTool::paintViewport(), print(), Isis::SunShadowTool::recalculateShadowHeight(), Isis::EditTool::redoEdit(), Isis::FindTool::refresh(), Isis::HistogramTool::refreshPlot(), Isis::SpatialPlotTool::refreshPlot(), Isis::SpectralPlotTool::refreshPlot(), Isis::TrackTool::removeConnections(), Isis::WindowTool::removeConnections(), Isis::RubberBandTool::repaint(), Isis::WindowTool::resizeWindows(), Isis::EditTool::rubberBandComplete(), Isis::HistogramTool::rubberBandComplete(), Isis::MeasureTool::rubberBandComplete(), Isis::StretchTool::rubberBandComplete(), Isis::ZoomTool::rubberBandComplete(), save(), saveAs(), saveAsCubeByOption(), saveAsReducedCube(), saveInfo(), Isis::StretchTool::saveStretchToCube(), 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::AbstractPlotTool::updateTool(), Isis::BandTool::updateTool(), Isis::BlinkTool::updateTool(), Isis::EditTool::updateTool(), updateTool(), Isis::FindTool::updateTool(), Isis::SpecialPixelTool::updateTool(), Isis::StretchTool::updateTool(), Isis::SunShadowTool::updateTool(), Isis::WindowTool::updateTool(), Isis::ZoomTool::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(), 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::ControlNetTool::paintAllViewports(), Isis::MatchTool::paintAllViewports(), Isis::StereoTool::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::BlinkTool::updateTool(), Isis::FindTool::updateTool(), Isis::WindowTool::updateTool(), Isis::AbstractPlotTool::viewportsToPlot(), Isis::ZoomTool::zoomBy(), Isis::ZoomTool::zoomFit(), Isis::ZoomTool::zoomFitHeight(), Isis::ZoomTool::zoomFitWidth(), and Isis::ZoomTool::zoomManual().

◆ disableToolBar()

void Isis::Tool::disableToolBar ( )
privateinherited

Disables entire tool bar.

Definition at line 285 of file Tool.cpp.

References Isis::Tool::m_toolBarWidget.

Referenced by Isis::Tool::activate(), and Isis::Tool::addToActive().

◆ discard

void Isis::FileTool::discard ( )
slot

This slot emits a signal to discard all changes to the current viewport.

Definition at line 792 of file FileTool.cpp.

References Isis::Tool::cubeViewport(), and discardChanges().

Referenced by updateTool().

◆ discardChanges

void Isis::FileTool::discardChanges ( CubeViewport vp)
signal

This signal is called when changes should be discarded.

Parameters
vp

Referenced by discard(), and updateTool().

◆ 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::ZoomTool, Isis::StereoTool, Isis::SpectralPlotTool, Isis::SpatialPlotTool, Isis::RubberBandTool, Isis::MeasureTool, and Isis::HistogramTool.

Definition at line 339 of file Tool.cpp.

References Isis::RubberBandTool::disable().

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

◆ enableSave

void Isis::FileTool::enableSave ( bool  enable)
slot

This slot enables or disables save and save as.

Parameters
enable

Definition at line 984 of file FileTool.cpp.

References p_save.

◆ enableToolBar()

void Isis::Tool::enableToolBar ( )
privateinherited

Enables entire tool bar.

Definition at line 297 of file Tool.cpp.

References Isis::Tool::cubeViewport(), Isis::Tool::m_toolBarWidget, and Isis::Tool::updateTool().

Referenced by Isis::Tool::activate(), and Isis::Tool::setCubeViewport().

◆ exit

void Isis::FileTool::exit ( )
virtualslot

Exit the program, this slot called when the exit is chosen from the File menu.

History:
2007-02-13 Tracie Sucharski, Close all cubes before exiting
History:
2012-05-24 Steven Lambright - Just close the main window. This should handle everything automatically.

Definition at line 972 of file FileTool.cpp.

References p_parent.

Referenced by FileTool().

◆ exportToList

void Isis::FileTool::exportToList ( )
virtualslot

FileTool::exportToList.

This method exports the file names of all active cubes into a .lis file by looping through The ViewportMainWindow and grabbing the file names from the active child CubeViewports.

Author
Adam Goins

Definition at line 853 of file FileTool.cpp.

References Isis::CubeViewport::cube(), Isis::Tool::cubeViewport(), and Isis::Cube::fileName().

Referenced by FileTool().

◆ exportView

void Isis::FileTool::exportView ( )
virtualslot

This method allows the user to export the current view as an image file.

Definition at line 801 of file FileTool.cpp.

References Isis::Tool::cubeViewport(), and p_lastDir.

Referenced by FileTool().

◆ fileSelected

void Isis::FileTool::fileSelected ( QString  )
signal

This signal is called when a file is selected.

Referenced by addTo(), browse(), Isis::QnetFileTool::loadImage(), open(), saveAs(), and saveAsCubeByOption().

◆ menuName()

QString Isis::FileTool::menuName ( ) const
inlinevirtual
Returns
the menu name for the file tool

Reimplemented from Isis::Tool.

Definition at line 81 of file FileTool.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().

◆ open

void Isis::FileTool::open ( )
virtualslot

This method allows the user to navigate and open a cube with a file dialog.

Definition at line 215 of file FileTool.cpp.

References fileSelected(), p_dir, p_filterList, and p_workSpace.

Referenced by FileTool().

◆ openAction()

QPointer<QAction> Isis::FileTool::openAction ( )
inline
Returns
the open action

Definition at line 68 of file FileTool.h.

References p_open.

Referenced by Isis::QnetFileTool::QnetFileTool().

◆ paintViewport()

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

◆ print

void Isis::FileTool::print ( )
slot

This method allows the user to print the current viewport.

Definition at line 908 of file FileTool.cpp.

References Isis::Tool::cubeViewport().

Referenced by FileTool().

◆ 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::WindowTool, Isis::TrackTool, and Isis::MeasureTool.

Definition at line 247 of file Tool.h.

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

◆ removeViewportConnections()

void Isis::Tool::removeViewportConnections ( )
privateinherited

◆ save

void Isis::FileTool::save ( )
virtualslot

This method saves any changes made to the current cube, these changes are finalized! There is no undoing once a save has been made.

Definition at line 258 of file FileTool.cpp.

References Isis::CubeViewport::cube(), Isis::Tool::cubeViewport(), p_save, Isis::Cube::reopen(), and saveChanges().

Referenced by FileTool(), saveAsCubeByOption(), and updateTool().

◆ saveAction()

QPointer<QAction> Isis::FileTool::saveAction ( )
inline
Returns
the save as action

Definition at line 72 of file FileTool.h.

References p_saveAs.

Referenced by Isis::QnetFileTool::QnetFileTool().

◆ saveAs

void Isis::FileTool::saveAs ( )
virtualslot

SaveAs Action - Displays the FileDialog with the filterlist (*.cub) to select the output cube.

This dialog additionally displays radio buttons for choices FullImage, ExportAsIs, ExportFullRes. These choices are located at the bottom of the dialog. FullImage - copies the entire image into the user specified output file ExportAsIs - copies the image as displayed in the qview app window ExportFullRes - copies the image as displayed in the qview app window but with full resolution

Author
Sharmila Prasad (4/8/2011)

Definition at line 284 of file FileTool.cpp.

References Isis::Tool::cubeViewport(), fileSelected(), p_dir, p_filterList, p_lastDir, p_saveAsDialog, and saveAsCubeByOption().

Referenced by FileTool().

◆ saveAs_AsIs()

void Isis::FileTool::saveAs_AsIs ( Cube icube,
const QString &  psOutFile 
)
private

Save image AsIs (As viewed in the viewport window) into output file.

AsIs option, save the input image visible in the viewport window Enlarged/Reduced.

Parameters
icubeThe input Cube
psOutFileThe output file
Author
Sharmila Prasad (4/26/2011)
Parameters
icube- Input Cube
psOutFile- Output Cube

Definition at line 525 of file FileTool.cpp.

References p_lastViewport, saveAsEnlargedCube(), and saveAsReducedCube().

Referenced by saveAsCubeByOption().

◆ saveAs_FullResolution()

void Isis::FileTool::saveAs_FullResolution ( Cube pInCube,
Cube pOutCube,
int  pNumSamples,
int  pNumLines 
)
private

Save image Full Resolution (image viewed in the viewport window) into output.

Full Resolution option, save the input image visible in the viewport window Enlarged/Reduced in full resolution.

Parameters
pInCubeThe input cube.
pOutCubeThe output cube.
pNumSamplesThe number of samples
pNumLinesThe number of lines
Author
Sharmila Prasad (4/26/2011)
Parameters
pInCube- input image
pOutCube- output image
pNumSamples- out samples
pNumLines- out lines

Definition at line 700 of file FileTool.cpp.

References Isis::Cube::bandCount(), Isis::Buffer::Copy(), Isis::Cube::lineCount(), p_lastViewport, Isis::Cube::pixelType(), Isis::Cube::read(), Isis::Cube::sampleCount(), Isis::Portal::SetPosition(), Isis::SubArea::SetSubArea(), Isis::toString(), Isis::SubArea::UpdateLabel(), and Isis::Cube::write().

Referenced by saveAsCubeByOption().

◆ saveAsCubeByOption

void Isis::FileTool::saveAsCubeByOption ( QString  psOutFile)
slot

Save as Isis Cube (FullImage, AsIs, FullRes)

Save input image as a cube into specified output file as FullImage or ExportAsIs or ExportFullRes option.

Author
Sharmila Prasad (4/8/2011)
Parameters
psOutFile- user specified output file

Definition at line 317 of file FileTool.cpp.

References Isis::Cube::bandCount(), Isis::Cube::close(), copyCubeDetails(), Isis::Tool::cubeViewport(), fileSelected(), Isis::Cube::lineCount(), Isis::Cube::open(), p_lastDir, p_lastViewport, p_save, p_saveAsDialog, p_workSpace, Isis::Cube::sampleCount(), save(), saveAs_AsIs(), saveAs_FullResolution(), and saveAsFullImage().

Referenced by saveAs().

◆ saveAsEnlargedCube()

void Isis::FileTool::saveAsEnlargedCube ( Cube icube,
const QString &  psOutFile 
)
private

Save image AsIs Enlarged into output.

For AsIs option, save the enlarged input image visible in the viewport window using the Enlarge functionality.

Parameters
icubeThe input cube
psOutFileThe output file
Author
Sharmila Prasad (4/26/2011)
Parameters
icube- Input Cube
psOutFile- Output Cube

Definition at line 410 of file FileTool.cpp.

References Isis::Cube::bandCount(), Isis::Process::EndProcess(), Isis::IException::Io, p_lastViewport, Isis::Enlarge::SetInputArea(), Isis::Process::SetInputCube(), Isis::Process::SetOutputCube(), Isis::ProcessRubberSheet::StartProcess(), and Isis::Enlarge::UpdateOutputLabel().

Referenced by saveAs_AsIs().

◆ saveAsFullImage()

void Isis::FileTool::saveAsFullImage ( Cube icube,
Cube ocube 
)
private

Saves the cube as a full image.

This method essentially creates a new cube, copies the current cube (and any changes made to it) to the new cube, reverses all changes NOT saved to the current cube and closes it.

Parameters
icubeThe input Cube
ocubeThe output Cube

Finally it sets the cubeviewport's cube to the new saved cube.

Parameters
icube- input image
ocube- output image

Definition at line 662 of file FileTool.cpp.

References Isis::BufferManager::begin(), Isis::Brick::Bricks(), copy(), Isis::Cube::read(), Isis::Cube::sampleCount(), and Isis::Cube::write().

Referenced by saveAsCubeByOption().

◆ saveAsReducedCube()

void Isis::FileTool::saveAsReducedCube ( Cube icube,
const QString &  psOutFile 
)
private

For AsIs option, save the reduced input image visible in the viewport window using the Reduce functionality.

Parameters
icubeThe input cube
psOutFileThe output file
Author
Sharmila Prasad (4/26/2011)
Parameters
icube- Input Cube
psOutFile- Output filename

Definition at line 460 of file FileTool.cpp.

References Isis::Cube::bandCount(), Isis::CubeAttributeInput::bands(), Isis::Process::ClearInputCubes(), Isis::Cube::close(), Isis::CubeViewport::cube(), Isis::Tool::cubeViewport(), Isis::ProcessByBrick::EndProcess(), Isis::Cube::fileName(), Isis::IException::Io, Isis::Cube::open(), p_lastViewport, Isis::ProcessByLine::ProcessCubeInPlace(), Isis::Reduce::setInputBoundary(), Isis::ProcessByLine::SetInputCube(), Isis::ProcessByBrick::SetOutputCube(), Isis::toString(), and Isis::Reduce::UpdateOutputLabel().

Referenced by saveAs_AsIs().

◆ saveChanges

void Isis::FileTool::saveChanges ( CubeViewport vp)
signal

This signal is called when changes should be saved.

Parameters
vp

Referenced by save(), and updateTool().

◆ saveInfo

void Isis::FileTool::saveInfo ( void  )
virtualslot

Saves the whatsthis info of the cubeviewport.

Saves the whatsthis info of the cubeviewport to user specified output file.

Author
Sharmila Prasad (4/6/2011)

Definition at line 748 of file FileTool.cpp.

References Isis::Tool::cubeViewport(), Isis::CubeViewport::getAllWhatsThisInfo(), p_lastDir, and Isis::Pvl::write().

Referenced by FileTool().

◆ screenPixelsChanged

virtual void Isis::Tool::screenPixelsChanged ( )
inlineprotectedvirtualslotinherited

This is called when actions change which pixels from the cube are displayed.

Definition at line 148 of file Tool.h.

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

◆ setCubeViewport

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

Sets the current viewport to the given cvp.

Parameters
cvp

Definition at line 160 of file Tool.cpp.

References Isis::Tool::addViewportConnections(), Isis::Tool::enableToolBar(), Isis::Tool::m_active, Isis::Tool::m_cvp, Isis::Tool::removeViewportConnections(), and Isis::Tool::updateTool().

Referenced by Isis::Tool::addTo(), and closeAll().

◆ toolIconDir()

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

◆ toolPadAction()

virtual QAction* Isis::Tool::toolPadAction ( ToolPad toolpad)
inlineprotectedvirtualinherited

◆ updateTool()

void Isis::FileTool::updateTool ( )
protectedvirtual

Updates the tool.

This method is called when the tool is updated.

Reimplemented from Isis::Tool.

Definition at line 992 of file FileTool.cpp.

References Isis::Tool::cubeViewport(), discard(), discardChanges(), p_exportToList, p_exportView, p_lastViewport, p_print, p_save, p_saveAs, p_saveInfo, save(), and saveChanges().

Member Data Documentation

◆ m_active

bool Isis::Tool::m_active
privateinherited

Is the tool acitve?

Definition at line 264 of file Tool.h.

Referenced by Isis::Tool::activate(), Isis::Tool::setCubeViewport(), and Isis::Tool::Tool().

◆ m_cvp

◆ m_toolBarWidget

QWidget* Isis::Tool::m_toolBarWidget
privateinherited

The tool bar on which this tool resides.

Definition at line 265 of file Tool.h.

Referenced by Isis::Tool::addToActive(), Isis::Tool::disableToolBar(), Isis::Tool::enableToolBar(), and Isis::Tool::Tool().

◆ m_toolIconDir

QString Isis::Tool::m_toolIconDir
privateinherited

The pathway to the icon directory.

Definition at line 267 of file Tool.h.

Referenced by Isis::Tool::Tool(), and Isis::Tool::toolIconDir().

◆ m_toolPadAction

QAction* Isis::Tool::m_toolPadAction
privateinherited

The tool pad on which this tool resides.

Definition at line 266 of file Tool.h.

Referenced by Isis::Tool::activate(), Isis::Tool::addTo(), Isis::Tool::addViewportConnections(), and Isis::Tool::Tool().

◆ p_browse

QPointer<QAction> Isis::FileTool::p_browse
private

Action to browse and open files.

Definition at line 122 of file FileTool.h.

Referenced by addTo(), and FileTool().

◆ p_closeAll

QPointer<QAction> Isis::FileTool::p_closeAll
private

Action to close all windows.

Definition at line 129 of file FileTool.h.

Referenced by addTo(), and FileTool().

◆ p_dir

QDir Isis::FileTool::p_dir

Directory.

Definition at line 76 of file FileTool.h.

Referenced by browse(), FileTool(), open(), and saveAs().

◆ p_exit

QPointer<QAction> Isis::FileTool::p_exit
private

Action to exit qview.

Definition at line 130 of file FileTool.h.

Referenced by addTo(), addToPermanent(), and FileTool().

◆ p_exportToList

QPointer<QAction> Isis::FileTool::p_exportToList
private

Action to export active cubes to a cube list.

Definition at line 128 of file FileTool.h.

Referenced by addTo(), FileTool(), and updateTool().

◆ p_exportView

QPointer<QAction> Isis::FileTool::p_exportView
private

Action to export the view as a picture.

Definition at line 127 of file FileTool.h.

Referenced by addTo(), addToPermanent(), FileTool(), and updateTool().

◆ p_fileList

QStringList Isis::FileTool::p_fileList

File list.

Definition at line 77 of file FileTool.h.

◆ p_filterList

QStringList Isis::FileTool::p_filterList

Filter List.

Definition at line 75 of file FileTool.h.

Referenced by browse(), open(), and saveAs().

◆ p_lastDir

QString Isis::FileTool::p_lastDir
private

The last directory opened.

Definition at line 132 of file FileTool.h.

Referenced by exportView(), saveAs(), saveAsCubeByOption(), and saveInfo().

◆ p_lastViewport

QPointer<MdiCubeViewport> Isis::FileTool::p_lastViewport
private

The last cubeviewport that was used.

Definition at line 134 of file FileTool.h.

Referenced by FileTool(), saveAs_AsIs(), saveAs_FullResolution(), saveAsCubeByOption(), saveAsEnlargedCube(), saveAsReducedCube(), and updateTool().

◆ p_open

QPointer<QAction> Isis::FileTool::p_open
private

Action to open a file.

Definition at line 121 of file FileTool.h.

Referenced by addTo(), addToPermanent(), FileTool(), and openAction().

◆ p_parent

QPointer<QWidget> Isis::FileTool::p_parent
private

The parent widget of this object.

Definition at line 131 of file FileTool.h.

Referenced by exit(), and FileTool().

◆ p_print

QPointer<QAction> Isis::FileTool::p_print
private

Action to print the current view.

Definition at line 123 of file FileTool.h.

Referenced by addTo(), addToPermanent(), FileTool(), and updateTool().

◆ p_save

QPointer<QAction> Isis::FileTool::p_save
private

Action to save the current cube.

Definition at line 124 of file FileTool.h.

Referenced by addTo(), enableSave(), FileTool(), save(), saveAsCubeByOption(), and updateTool().

◆ p_saveAs

QPointer<QAction> Isis::FileTool::p_saveAs
private

Action save the current cube as a user specified file.

Definition at line 125 of file FileTool.h.

Referenced by addTo(), FileTool(), saveAction(), and updateTool().

◆ p_saveAsDialog

QPointer<SaveAsDialog> Isis::FileTool::p_saveAsDialog
private

SaveAs Dialog with different save options.

Definition at line 135 of file FileTool.h.

Referenced by FileTool(), saveAs(), and saveAsCubeByOption().

◆ p_saveInfo

QPointer<QAction> Isis::FileTool::p_saveInfo
private

Action to save the current cube's Whatsthis info.

Definition at line 126 of file FileTool.h.

Referenced by addTo(), FileTool(), and updateTool().

◆ p_workSpace

QPointer<Workspace> Isis::FileTool::p_workSpace
private

The workspace being used.

Definition at line 133 of file FileTool.h.

Referenced by addTo(), browse(), open(), and saveAsCubeByOption().


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