Isis Developer Reference
Isis::Footprint2DViewWorkOrder Class Reference

View an image list's footprints in a footprint view. More...

#include <Footprint2DViewWorkOrder.h>

Inheritance diagram for Isis::Footprint2DViewWorkOrder:
Inheritance graph
Collaboration diagram for Isis::Footprint2DViewWorkOrder:
Collaboration graph

Public Types

enum  WorkOrderStatus {
  WorkOrderUnknownStatus = 0, WorkOrderNotStarted, WorkOrderRedoing, WorkOrderRedone,
  WorkOrderUndoing, WorkOrderUndone, WorkOrderFinished, WorkOrderLastStatus = WorkOrderFinished
}
 This enumeration is used by other functions to set and retrieve the current state of the WorkOrder. More...
 
enum  Context { NoContext, ProjectContext }
 This enumeration is for recording the context of the current Workorder (whether it is part of a project or not). More...
 

Public Slots

void enableWorkOrder ()
 Enables the work order. More...
 
void disableWorkOrder ()
 Disables the work order. More...
 
virtual void redo ()
 Starts (or enqueues) a redo. More...
 
virtual void undo ()
 Starts (or enqueues) an undo. More...
 

Signals

void creatingProgress (WorkOrder *)
 
void deletingProgress (WorkOrder *)
 
void finished (WorkOrder *)
 
void statusChanged (WorkOrder *)
 

Public Member Functions

 Footprint2DViewWorkOrder (Project *project)
 Creates a work order to view image footprints. More...
 
 Footprint2DViewWorkOrder (const Footprint2DViewWorkOrder &other)
 Copy constructor. More...
 
 ~Footprint2DViewWorkOrder ()
 Destructor. More...
 
virtual Footprint2DViewWorkOrderclone () const
 This method clones the current Footprint2DViewWorkOrder and returns it. More...
 
virtual bool isExecutable (ImageList *images)
 This method returns true if one of an image in ImageList images isFootprintable, False if none of the images has a footprint. More...
 
virtual bool isExecutable (ShapeList *shapes)
 This method returns true if one of the shapes in ShapeList isFootprintable, False if none of shapes have a footprint. More...
 
bool isSavedToHistory () const
 
virtual bool setupExecution ()
 Setup this WorkOrder for execution. More...
 
virtual void execute ()
 This either adds a new Footprint2DView containing the selected images or adds the image's footprints to an existing Footprint2DView. More...
 
virtual bool isExecutable (Context)
 Re-implement this method if your work order utilizes controls for data in order to operate. More...
 
virtual bool isExecutable (ControlList *controls)
 Re-implement this method if your work order utilizes a control for data in order to operate. More...
 
virtual bool isExecutable (CorrelationMatrix)
 
virtual bool isExecutable (TargetBodyQsp targetBody)
 Re-implement this method if your work order utilizes a control list (a list of control networks) for data in order to operate. More...
 
virtual bool isExecutable (Template *currentTemplate)
 Re-implement this method if your work order utilizes a control list (a list of control networks) for data in order to operate. More...
 
virtual bool isExecutable (GuiCameraQsp guiCamera)
 Re-implement this method if your WorkOrder utilizes GuiCameraQsp (a QSharedPointer to a GuiCamera object) for data in order to operate. More...
 
virtual bool isExecutable (FileItemQsp fileItem)
 Re-implement this method if your WorkOrder utilizes FileItemQsp (a QSharedPointer to a FileItem object) for data in order to operate. More...
 
virtual bool isExecutable (ProjectItem *item)
 Determines if the WorkOrder is execuatable on the data stored in a ProjectItem. More...
 
void read (XmlStackedHandlerReader *xmlReader)
 Read this work order's data from disk. More...
 
void save (QXmlStreamWriter &stream) const
 : Saves a WorkOrder to a data stream. More...
 
virtual void setData (Context)
 Sets the context data for this WorkOrder. More...
 
virtual void setData (QString data)
 
virtual void setData (ImageList *images)
 Sets the ImageList data for this WorkOrder. More...
 
virtual void setData (ShapeList *shapes)
 Sets the ShapeList data for this WorkOrder. More...
 
virtual void setData (ControlList *controls)
 Sets the Control data for this WorkOrder. More...
 
virtual void setData (Template *currentTemplate)
 Sets the TargetBody data for this WorkOrder. More...
 
virtual void setData (CorrelationMatrix)
 Sets the CorrelationMatrix data for this WorkOrder. More...
 
virtual void setData (TargetBodyQsp targetBody)
 Sets the TargetBody data for this WorkOrder. More...
 
virtual void setData (GuiCameraQsp guiCamera)
 Sets the GuiCamera data for this WorkOrder. More...
 
virtual void setData (FileItemQsp fileItem)
 Sets the FileItem data for this WorkOrder. More...
 
virtual void setData (ProjectItem *item)
 Sets the internal data to the data stored in a ProjectItem. More...
 
void setNext (WorkOrder *nextWorkOrder)
 Sets the next WorkOrder in the sequence. More...
 
void setPrevious (WorkOrder *previousWorkOrder)
 Sets the previous WorkOrder in the sequence. More...
 
QString bestText () const
 Generate unique action names We don't use action text anymore because Directory likes to rename our actions. More...
 
bool isUndoable () const
 Returns true if this work order is undoable, otherwise false. More...
 
bool isSynchronous () const
 Returns true if this work order is run synchronously, otherwise false. More...
 
bool createsCleanState () const
 Returns the CleanState status (whether the Project has been saved to disk or not). More...
 
QDateTime executionTime () const
 Gets the execution time of this WorkOrder. More...
 
bool isFinished () const
 Returns the finished state of this WorkOrder. More...
 
bool isRedoing () const
 Returns the redoing status of this WorkOrder. More...
 
bool isRedone () const
 Returns the WorkOrder redone status. More...
 
bool isUndoing () const
 Returns the WorkOrderUndoing state. More...
 
bool isUndone () const
 Returns the WorkOrder undo status. More...
 
bool modifiesDiskState () const
 Returns the modified disk state. More...
 
WorkOrdernext () const
 Gets the next WorkOrder. More...
 
WorkOrderprevious () const
 Gets the previous WorkOrder. More...
 
QString statusText () const
 WorkOrder::statusText. More...
 
ProgressBarprogressBar ()
 Returns the ProgressBar. More...
 

Static Public Member Functions

static WorkOrderStatus fromStatusString (QString)
 Attempts to query the current status of the WorkOrder. More...
 
static QString toString (WorkOrderStatus)
 Gets the current status of the WorkOrder. More...
 

Protected Slots

void addCloneToProject ()
 Runs a copy of the current WorkOrder and stores it in the project. More...
 

Protected Member Functions

ImageListimageList ()
 Returns a pointer to the ImageList for this WorkOrder. More...
 
const ImageListimageList () const
 A thread-safe method for retrieving a pointer to the imageList. More...
 
ShapeListshapeList ()
 @briefReturns a pointer to the ShapeList for this WorkOrder. More...
 
const ShapeListshapeList () const
 A thread-safe method for retrieving a pointer to the shapeList. More...
 
CorrelationMatrix correlationMatrix ()
 Returns the CorrleationMatrix for this WorkOrder. More...
 
QPointer< ControlListcontrolList ()
 Returns the Control List for this WorkOrder (a list of control networks). More...
 
TemplategetTemplate ()
 WorkOrder::getTemplate. More...
 
TargetBodyQsp targetBody ()
 WorkOrder::targetBody. More...
 
GuiCameraQsp guiCamera ()
 WorkOrder::guiCamera. More...
 
FileItemQsp fileItem ()
 WorkOrder::fileItem. More...
 
virtual bool dependsOn (WorkOrder *other) const
 Indicate workorder dependency This is a virtual function whose role in child classes is to determine if this WorkOrder depends on the WorkOrder passed in as an argument. More...
 
Directorydirectory () const
 return the workorder project directory Returns the Directory object of the Project this WorkOrder is attached to. More...
 
Projectproject () const
 Returns the Project this WorkOrder is attached to. More...
 
void setCreatesCleanState (bool createsCleanState)
 Declare that this work order is saving the project. More...
 
void setModifiesDiskState (bool changesProjectOnDisk)
 
void setInternalData (QStringList data)
 Sets the internal data for this WorkOrder. More...
 
int progressMin () const
 Gets the minimum value of the progress range of the WorkOrder. More...
 
int progressMax () const
 Gets the maximum value of the progress range of the WorkOrder. More...
 
int progressValue () const
 Gets the current progress value of the WorkOrder. More...
 
void setProgressRange (int, int)
 Sets the progress range of the WorkOrder. More...
 
void setProgressValue (int)
 Sets the current progress value for the WorkOrder. More...
 
QStringList internalData () const
 Gets the internal data for this WorkOrder. More...
 
virtual void postExecution ()
 Perform any necessary actions after execution of a workorder. More...
 
virtual void undoExecution ()
 Execute the steps necessary to undo this workorder. More...
 
virtual void postUndoExecution ()
 Perform any steps necessary after an undo of a workorder. More...
 

Protected Attributes

bool m_isUndoable
 Set the workorder to be undoable/redoable This is defaulted to true - his will allow the workorder to be redone. More...
 
bool m_isSynchronous
 This is defaulted to true. More...
 
bool m_isSavedToHistory
 Set the work order to be shown in the HistoryTreeWidget. More...
 
WorkOrderStatus m_status
 

Detailed Description

View an image list's footprints in a footprint view.

Adding a Footprint2DView to the Project is not undo-able, so all functionality to add the view is put into the execute method. We want a WorkOrder rather than simply a QAction so that the WorkOrder is added to the history.

Author
2012-09-19 Steven Lambright

Member Enumeration Documentation

◆ Context

enum Isis::WorkOrder::Context
inherited

This enumeration is for recording the context of the current Workorder (whether it is part of a project or not).

Enumerator
NoContext 
ProjectContext 

◆ WorkOrderStatus

This enumeration is used by other functions to set and retrieve the current state of the WorkOrder.

Enumerator
WorkOrderUnknownStatus 
WorkOrderNotStarted 
WorkOrderRedoing 
WorkOrderRedone 
WorkOrderUndoing 
WorkOrderUndone 
WorkOrderFinished 

This is used for work orders that will not undo or redo (See createsCleanState())

WorkOrderLastStatus 

Constructor & Destructor Documentation

◆ Footprint2DViewWorkOrder() [1/2]

Isis::Footprint2DViewWorkOrder::Footprint2DViewWorkOrder ( Project project)

Creates a work order to view image footprints.

This WorkOrder is not undoable and runs synchronously.

Parameters
Project*project Pointer to the project this work order belongs to.

References Isis::WorkOrder::m_isSavedToHistory, and Isis::WorkOrder::m_isUndoable.

Referenced by clone().

◆ Footprint2DViewWorkOrder() [2/2]

Isis::Footprint2DViewWorkOrder::Footprint2DViewWorkOrder ( const Footprint2DViewWorkOrder other)

Copy constructor.

Creates a copy of the other Footprint2DViewWorkOrder.

Parameters
Footprint2DViewWorkOrder&other The other work order to copy state from.

References Isis::WorkOrder::m_isUndoable.

◆ ~Footprint2DViewWorkOrder()

Isis::Footprint2DViewWorkOrder::~Footprint2DViewWorkOrder ( )

Destructor.

Destructor to clean up any memory that this work order allocates.

Member Function Documentation

◆ addCloneToProject

void Isis::WorkOrder::addCloneToProject ( )
protectedslotinherited

Runs a copy of the current WorkOrder and stores it in the project.

References Isis::Project::addToProject(), Isis::WorkOrder::clone(), and Isis::WorkOrder::project().

Referenced by Isis::WorkOrder::WorkOrder().

◆ bestText()

QString Isis::WorkOrder::bestText ( ) const
inherited

Generate unique action names We don't use action text anymore because Directory likes to rename our actions.

It converts a set of actions that have the same text, like Zoom Fit, to be in a menu named Zoom Fit with items that name their widgets. Widget names are unhelpful as a description of the action.

See also
Directory::restructureActions
Returns
QString A textual description of the action.

Referenced by Isis::WorkOrder::redo(), Isis::WorkOrder::save(), and Isis::WorkOrder::undo().

◆ clone()

Footprint2DViewWorkOrder * Isis::Footprint2DViewWorkOrder::clone ( ) const
virtual

This method clones the current Footprint2DViewWorkOrder and returns it.

Returns
Footprint2DViewWorkOrder that was cloned

Implements Isis::WorkOrder.

References Footprint2DViewWorkOrder().

◆ controlList()

◆ correlationMatrix()

CorrelationMatrix Isis::WorkOrder::correlationMatrix ( )
protectedinherited

◆ createsCleanState()

bool Isis::WorkOrder::createsCleanState ( ) const
inherited

Returns the CleanState status (whether the Project has been saved to disk or not).

If this is set to true the work order will avoid being put on the undo stack, meaning it will not be undoable. It will also set the undo stack to a clean state, by doing this it makes all previous workorders done before the save to be no longer undoable.

Returns
Returns True if the Project has been saved to disk. False if it has not.

References Isis::WorkOrder::project().

Referenced by Isis::Project::addToProject(), Isis::WorkOrder::setCreatesCleanState(), and Isis::WorkOrder::setupExecution().

◆ creatingProgress

void Isis::WorkOrder::creatingProgress ( WorkOrder )
signalinherited

◆ deletingProgress

void Isis::WorkOrder::deletingProgress ( WorkOrder )
signalinherited

◆ dependsOn()

bool Isis::WorkOrder::dependsOn ( WorkOrder other) const
protectedvirtualinherited

Indicate workorder dependency This is a virtual function whose role in child classes is to determine if this WorkOrder depends on the WorkOrder passed in as an argument.

Parameters
WorkOrder* The WorkOrder we are checking for dependency with this one.
Returns
bool Returns True if there is a dependency, and False if there is no dependency.

Reimplemented in Isis::ViewControlNet3DWorkOrder, Isis::TemplateEditViewWorkOrder, Isis::TargetGetInfoWorkOrder, Isis::SensorGetInfoWorkOrder, Isis::RenameProjectWorkOrder, Isis::MatrixViewWorkOrder, Isis::JigsawWorkOrder, Isis::CubeDnViewWorkOrder, and Isis::CnetEditorViewWorkOrder.

Referenced by Isis::WorkOrder::redo().

◆ directory()

Directory * Isis::WorkOrder::directory ( ) const
protectedinherited

◆ disableWorkOrder

void Isis::WorkOrder::disableWorkOrder ( )
slotinherited

Disables the work order.

Disables the work order so it cannot be triggered (grayed-out).

See also
Directory::initializeActions()

◆ enableWorkOrder

void Isis::WorkOrder::enableWorkOrder ( )
slotinherited

Enables the work order.

Enables the work order so that it can be triggered (clicked).

See also
Directory::initializeActions()

◆ execute()

◆ executionTime()

QDateTime Isis::WorkOrder::executionTime ( ) const
inherited

Gets the execution time of this WorkOrder.

Returns
QDateTime The execution time.

References Isis::WorkOrder::project().

◆ fileItem()

FileItemQsp Isis::WorkOrder::fileItem ( )
protectedinherited

◆ finished

void Isis::WorkOrder::finished ( WorkOrder )
signalinherited

◆ fromStatusString()

WorkOrder::WorkOrderStatus Isis::WorkOrder::fromStatusString ( QString  statusString)
staticinherited

Attempts to query the current status of the WorkOrder.

Parameters
statusStringThe status we want information about.
Returns
WorkOrderStatus Returns WorkOrderUnknownStatus if the statusString does not match the current status. If there is a result, then it returns the status which matches the statusString.

References Isis::WorkOrder::toString(), Isis::WorkOrder::WorkOrderLastStatus, and Isis::WorkOrder::WorkOrderUnknownStatus.

◆ getTemplate()

Template * Isis::WorkOrder::getTemplate ( )
protectedinherited

◆ guiCamera()

◆ imageList() [1/2]

◆ imageList() [2/2]

const ImageList * Isis::WorkOrder::imageList ( ) const
protectedinherited

A thread-safe method for retrieving a pointer to the imageList.

Returns
(ImageList *) A pointer to the image list for this WorkOrder.

References Isis::WorkOrder::imageList().

◆ internalData()

QStringList Isis::WorkOrder::internalData ( ) const
protectedinherited

Gets the internal data for this WorkOrder.

Returns
QStringList Returns the internal data object.

References Isis::WorkOrder::project().

Referenced by Isis::CubeDnViewWorkOrder::execute(), Isis::ExportControlNetWorkOrder::execute(), Isis::ExportImagesWorkOrder::execute(), execute(), Isis::ImageFileListViewWorkOrder::execute(), Isis::ImportControlNetWorkOrder::execute(), Isis::ImportImagesWorkOrder::execute(), Isis::ImportMapTemplateWorkOrder::execute(), Isis::ImportRegistrationTemplateWorkOrder::execute(), Isis::ImportShapesWorkOrder::execute(), Isis::RenameProjectWorkOrder::execute(), Isis::SaveProjectAsWorkOrder::execute(), Isis::ImageListActionWorkOrder::execute(), Isis::ImageListActionWorkOrder::ImageListActionWorkOrder(), Isis::RenameProjectWorkOrder::RenameProjectWorkOrder(), Isis::MosaicSceneWorkOrder::restoreZPositions(), Isis::MosaicSceneWorkOrder::scene(), Isis::ImageListActionWorkOrder::setData(), Isis::CubeDnViewWorkOrder::setupExecution(), Isis::ExportControlNetWorkOrder::setupExecution(), Isis::ExportImagesWorkOrder::setupExecution(), setupExecution(), Isis::ImageFileListViewWorkOrder::setupExecution(), Isis::ImportControlNetWorkOrder::setupExecution(), Isis::MatrixViewWorkOrder::setupExecution(), Isis::RenameProjectWorkOrder::setupExecution(), Isis::SensorGetInfoWorkOrder::setupExecution(), Isis::TargetGetInfoWorkOrder::setupExecution(), Isis::TemplateEditViewWorkOrder::setupExecution(), Isis::ImageListActionWorkOrder::setupExecution(), Isis::MosaicSceneWorkOrder::storeZPositions(), Isis::MatrixViewWorkOrder::undoExecution(), Isis::RenameProjectWorkOrder::undoExecution(), and Isis::ImageListActionWorkOrder::undoExecution().

◆ isExecutable() [1/10]

bool Isis::WorkOrder::isExecutable ( Context  context)
virtualinherited

Re-implement this method if your work order utilizes controls for data in order to operate.

For example, "CnetEditorViewWorkOrder" works sometimes on controls

  • the logic in side of CnetEditorViewWorkOrder::isExecutable() determines whethere or not a user is prompted with this work order as a possibility.
    Parameters
    contextThis is an enum variable with two values: NoContext,ProjectContext.
    Returns
    bool Upon re-implementation, returns True if the WorkOrder is executable, and False if it is not.

Reimplemented in Isis::RenameProjectWorkOrder.

Referenced by Isis::WorkOrder::isExecutable(), and Isis::Directory::supportedActions().

◆ isExecutable() [2/10]

bool Isis::WorkOrder::isExecutable ( ControlList controls)
virtualinherited

Re-implement this method if your work order utilizes a control for data in order to operate.

Parameters
controlA control networks.
Returns
bool Upon re-implementation, returns True if the WorkOrder is executable, and False if it is not.

Re-implement this method if your work order utilizes a control list (a list of control networks) for data in order to operate.

Parameters
controlsA list of control networks.
Returns
bool Upon re-implementation, returns True if the WorkOrder is executable, and False if it is not.

Reimplemented in Isis::ViewControlNet3DWorkOrder, Isis::SetActiveControlWorkOrder, Isis::ExportControlNetWorkOrder, Isis::ControlHealthMonitorWorkOrder, and Isis::CnetEditorViewWorkOrder.

◆ isExecutable() [3/10]

bool Isis::WorkOrder::isExecutable ( CorrelationMatrix  correlationMatrix)
virtualinherited

Reimplemented in Isis::MatrixViewWorkOrder.

◆ isExecutable() [4/10]

bool Isis::WorkOrder::isExecutable ( FileItemQsp  fileItem)
virtualinherited

Re-implement this method if your WorkOrder utilizes FileItemQsp (a QSharedPointer to a FileItem object) for data in order to operate.

Parameters
FileItemQsp
Returns
bool Upon re-implementation, returns True if the WorkOrder is executable, and False if it is not.

Reimplemented in Isis::BundleObservationViewWorkOrder.

◆ isExecutable() [5/10]

bool Isis::WorkOrder::isExecutable ( GuiCameraQsp  guiCamera)
virtualinherited

Re-implement this method if your WorkOrder utilizes GuiCameraQsp (a QSharedPointer to a GuiCamera object) for data in order to operate.

Parameters
GuiCameraQsp
Returns
bool Upon re-implementation, returns True if the WorkOrder is executable, and False if it is not.

Reimplemented in Isis::SensorGetInfoWorkOrder.

◆ isExecutable() [6/10]

bool Isis::Footprint2DViewWorkOrder::isExecutable ( ImageList images)
virtual

This method returns true if one of an image in ImageList images isFootprintable, False if none of the images has a footprint.

This is used by Directory::supportedActions(DataType data) to determine what actions are appended to context menus.

Parameters
imagesImageList of images
Returns
bool True if one of the images in ImagesList images isFootprintable

Reimplemented from Isis::WorkOrder.

References Isis::Image::isFootprintable().

◆ isExecutable() [7/10]

◆ isExecutable() [8/10]

bool Isis::Footprint2DViewWorkOrder::isExecutable ( ShapeList shapes)
virtual

This method returns true if one of the shapes in ShapeList isFootprintable, False if none of shapes have a footprint.

This is used by Directory::supportedActions(DataType data) to determine what actions are appended to context menus.

Parameters
shapesShapeList we are checking
Returns
bool True if one of the shapes in ShapeList images isFootprintable

Reimplemented from Isis::WorkOrder.

References Isis::Shape::isFootprintable().

◆ isExecutable() [9/10]

bool Isis::WorkOrder::isExecutable ( TargetBodyQsp  targetBody)
virtualinherited

Re-implement this method if your work order utilizes a control list (a list of control networks) for data in order to operate.

Parameters
controlsA list of control networks.
Returns
bool Upon re-implementation, returns True if the WorkOrder is executable, and False if it is not.

Reimplemented in Isis::TargetGetInfoWorkOrder.

◆ isExecutable() [10/10]

bool Isis::WorkOrder::isExecutable ( Template currentTemplate)
virtualinherited

Re-implement this method if your work order utilizes a control list (a list of control networks) for data in order to operate.

Parameters
controlsA list of control networks.
Returns
bool Upon re-implementation, returns True if the WorkOrder is executable, and False if it is not.

◆ isFinished()

bool Isis::WorkOrder::isFinished ( ) const
inherited

Returns the finished state of this WorkOrder.

Returns
bool Returns True if the WorkOrder is finished, False otherwise.

References Isis::WorkOrder::m_status, and Isis::WorkOrder::WorkOrderFinished.

Referenced by Isis::WorkOrder::redo(), and Isis::WorkOrder::undo().

◆ isRedoing()

bool Isis::WorkOrder::isRedoing ( ) const
inherited

Returns the redoing status of this WorkOrder.

Returns
bool Returns True if the WorkOrder is executing a redo. Returns False if it is not.

References Isis::WorkOrder::m_status, Isis::WorkOrder::project(), and Isis::WorkOrder::WorkOrderRedoing.

Referenced by Isis::WorkOrder::redo(), and Isis::WorkOrder::undo().

◆ isRedone()

bool Isis::WorkOrder::isRedone ( ) const
inherited

Returns the WorkOrder redone status.

Returns
bool Returns True if the WorkOrder has completed a Redo. False if it has not.

References Isis::WorkOrder::m_status, Isis::WorkOrder::project(), and Isis::WorkOrder::WorkOrderRedone.

Referenced by Isis::WorkOrder::redo().

◆ isSavedToHistory()

bool Isis::Footprint2DViewWorkOrder::isSavedToHistory ( ) const

◆ isSynchronous()

bool Isis::WorkOrder::isSynchronous ( ) const
inherited

Returns true if this work order is run synchronously, otherwise false.

Returns
(bool) Returns True if this work order is run synchronously

References Isis::WorkOrder::m_isSynchronous, and Isis::WorkOrder::project().

Referenced by Isis::WorkOrder::redo(), and Isis::WorkOrder::undo().

◆ isUndoable()

bool Isis::WorkOrder::isUndoable ( ) const
inherited

Returns true if this work order is undoable, otherwise false.

This needs to be set to true and createsCleanState needs to be set to false in order for a WorkOrder to appear on the undoStack. This should be done by setting the member variable and should not be overloading this function.

Returns
(bool) Returns True if this work order is undoable, false if it is not.

References Isis::WorkOrder::m_isUndoable, and Isis::WorkOrder::project().

Referenced by Isis::Project::addToProject(), and Isis::WorkOrder::setupExecution().

◆ isUndoing()

bool Isis::WorkOrder::isUndoing ( ) const
inherited

Returns the WorkOrderUndoing state.

Returns
bool Returns True if the current status is WorkOrderUndoing, False otherwise.

References Isis::WorkOrder::m_status, Isis::WorkOrder::project(), and Isis::WorkOrder::WorkOrderUndoing.

Referenced by Isis::Project::lastNotUndoneWorkOrder(), Isis::WorkOrder::redo(), and Isis::WorkOrder::undo().

◆ isUndone()

bool Isis::WorkOrder::isUndone ( ) const
inherited

Returns the WorkOrder undo status.

Returns
bool Returns True if the WorkOrder has been undone. False if it has not.

References Isis::WorkOrder::m_status, Isis::WorkOrder::project(), and Isis::WorkOrder::WorkOrderUndone.

Referenced by Isis::Project::lastNotUndoneWorkOrder(), and Isis::WorkOrder::undo().

◆ modifiesDiskState()

bool Isis::WorkOrder::modifiesDiskState ( ) const
inherited

Returns the modified disk state.

Returns
Returns True if the WorkOrder has modified the Project on disk to perform it's actions. Returns False if it has not.

References Isis::WorkOrder::project().

◆ next()

WorkOrder * Isis::WorkOrder::next ( ) const
inherited

Gets the next WorkOrder.

Returns
QPointer pointing to the next WorkOrder.

References Isis::WorkOrder::project().

Referenced by Isis::WorkOrder::undo().

◆ postExecution()

void Isis::WorkOrder::postExecution ( )
protectedvirtualinherited

Perform any necessary actions after execution of a workorder.

State can be read from the parent WorkOrder class and from state set in either synchronous() or asyncRedo() while in this method. You can not set state to be used in any of the undo code safely. This method is always executed in the GUI thread and has no progress.

Reimplemented in Isis::ImportShapesWorkOrder, Isis::ImportImagesWorkOrder, Isis::ImportControlNetWorkOrder, Isis::ExportImagesWorkOrder, and Isis::ExportControlNetWorkOrder.

◆ postUndoExecution()

void Isis::WorkOrder::postUndoExecution ( )
protectedvirtualinherited

Perform any steps necessary after an undo of a workorder.

State can be read from the parent WorkOrder class and from state set undoExecution() while in this method. You can not set state to be used in any of the redo code safely. This method is always executed in the GUI thread and has no progress.

Reimplemented in Isis::ImportShapesWorkOrder, and Isis::ImportImagesWorkOrder.

◆ previous()

WorkOrder * Isis::WorkOrder::previous ( ) const
inherited

Gets the previous WorkOrder.

Returns
QPointer pointing to the previous WorkOrder.

References Isis::WorkOrder::project().

Referenced by Isis::Project::addToProject(), Isis::Project::lastNotUndoneWorkOrder(), and Isis::WorkOrder::redo().

◆ progressBar()

ProgressBar * Isis::WorkOrder::progressBar ( )
inherited

Returns the ProgressBar.

Returns
A QPointer to the ProgessBar.

References Isis::WorkOrder::project().

Referenced by Isis::OpenProjectWorkOrder::setupExecution().

◆ progressMax()

int Isis::WorkOrder::progressMax ( ) const
protectedinherited

Gets the maximum value of the progress range of the WorkOrder.

Returns
int The maximum value.

References Isis::WorkOrder::project().

◆ progressMin()

int Isis::WorkOrder::progressMin ( ) const
protectedinherited

Gets the minimum value of the progress range of the WorkOrder.

Returns
int The minimum value.

References Isis::WorkOrder::project().

◆ progressValue()

int Isis::WorkOrder::progressValue ( ) const
protectedinherited

Gets the current progress value of the WorkOrder.

Returns
int Returns the current progress value.

References Isis::WorkOrder::project().

◆ project()

Project * Isis::WorkOrder::project ( ) const
protectedinherited

Returns the Project this WorkOrder is attached to.

Returns
(Project *) A pointer to the Project.
Exceptions
IException::Programmer"This work order no longer has a project."

References _FILEINFO_, and Isis::IException::Programmer.

Referenced by Isis::WorkOrder::addCloneToProject(), Isis::WorkOrder::controlList(), Isis::WorkOrder::correlationMatrix(), Isis::WorkOrder::createsCleanState(), Isis::WorkOrder::directory(), Isis::BundleObservationViewWorkOrder::execute(), Isis::CloseProjectWorkOrder::execute(), Isis::CnetEditorViewWorkOrder::execute(), Isis::ControlHealthMonitorWorkOrder::execute(), Isis::CubeDnViewWorkOrder::execute(), Isis::ExportControlNetWorkOrder::execute(), Isis::ExportImagesWorkOrder::execute(), execute(), Isis::ImageFileListViewWorkOrder::execute(), Isis::ImportControlNetWorkOrder::execute(), Isis::ImportImagesWorkOrder::execute(), Isis::ImportMapTemplateWorkOrder::execute(), Isis::ImportRegistrationTemplateWorkOrder::execute(), Isis::ImportShapesWorkOrder::execute(), Isis::JigsawWorkOrder::execute(), Isis::MatrixViewWorkOrder::execute(), Isis::OpenProjectWorkOrder::execute(), Isis::RemoveImagesWorkOrder::execute(), Isis::RenameProjectWorkOrder::execute(), Isis::SaveProjectAsWorkOrder::execute(), Isis::SensorGetInfoWorkOrder::execute(), Isis::SetActiveControlWorkOrder::execute(), Isis::SetActiveImageListWorkOrder::execute(), Isis::TargetGetInfoWorkOrder::execute(), Isis::TemplateEditViewWorkOrder::execute(), Isis::WorkOrder::executionTime(), Isis::WorkOrder::fileItem(), Isis::WorkOrder::getTemplate(), Isis::WorkOrder::guiCamera(), Isis::WorkOrder::imageList(), Isis::WorkOrder::internalData(), Isis::JigsawWorkOrder::isExecutable(), Isis::SetActiveControlWorkOrder::isExecutable(), Isis::SensorGetInfoWorkOrder::isExecutable(), Isis::SetActiveImageListWorkOrder::isExecutable(), Isis::TemplateEditViewWorkOrder::isExecutable(), Isis::TargetGetInfoWorkOrder::isExecutable(), Isis::WorkOrder::isRedoing(), Isis::WorkOrder::isRedone(), Isis::WorkOrder::isSavedToHistory(), Isis::WorkOrder::isSynchronous(), Isis::WorkOrder::isUndoable(), Isis::WorkOrder::isUndoing(), Isis::WorkOrder::isUndone(), Isis::WorkOrder::modifiesDiskState(), Isis::WorkOrder::next(), Isis::ExportControlNetWorkOrder::postExecution(), Isis::ExportImagesWorkOrder::postExecution(), Isis::ImportControlNetWorkOrder::postExecution(), Isis::ImportImagesWorkOrder::postExecution(), Isis::ImportShapesWorkOrder::postExecution(), Isis::ImportImagesWorkOrder::postUndoExecution(), Isis::ImportShapesWorkOrder::postUndoExecution(), Isis::WorkOrder::previous(), Isis::WorkOrder::progressBar(), Isis::WorkOrder::progressMax(), Isis::WorkOrder::progressMin(), Isis::WorkOrder::progressValue(), Isis::WorkOrder::redo(), Isis::RenameProjectWorkOrder::RenameProjectWorkOrder(), Isis::CloseProjectWorkOrder::setupExecution(), Isis::CubeDnViewWorkOrder::setupExecution(), Isis::ExportControlNetWorkOrder::setupExecution(), Isis::ExportImagesWorkOrder::setupExecution(), setupExecution(), Isis::ImageFileListViewWorkOrder::setupExecution(), Isis::ImportImagesWorkOrder::setupExecution(), Isis::MatrixViewWorkOrder::setupExecution(), Isis::OpenProjectWorkOrder::setupExecution(), Isis::RemoveImagesWorkOrder::setupExecution(), Isis::RenameProjectWorkOrder::setupExecution(), Isis::SaveProjectWorkOrder::setupExecution(), Isis::SetActiveControlWorkOrder::setupExecution(), Isis::WorkOrder::shapeList(), Isis::WorkOrder::statusText(), Isis::WorkOrder::targetBody(), Isis::CnetEditorViewWorkOrder::undoExecution(), Isis::ImportImagesWorkOrder::undoExecution(), Isis::ImportMapTemplateWorkOrder::undoExecution(), Isis::ImportRegistrationTemplateWorkOrder::undoExecution(), Isis::ImportShapesWorkOrder::undoExecution(), Isis::MatrixViewWorkOrder::undoExecution(), Isis::RenameProjectWorkOrder::undoExecution(), and Isis::WorkOrder::WorkOrder().

◆ read()

void Isis::WorkOrder::read ( XmlStackedHandlerReader xmlReader)
inherited

Read this work order's data from disk.

References Isis::XmlStackedHandlerReader::pushContentHandler().

◆ redo

◆ save()

void Isis::WorkOrder::save ( QXmlStreamWriter &  stream) const
inherited

: Saves a WorkOrder to a data stream.

The XML output format looks like this:

  <workOrder actionText="..." undoText="..." type="..." status="...">
    <images>
      <image id="..." >
    </images>
    <internalDataValues>
      <dataValue value="..." >
    </internalDataValues>
  </workOrder>
Parameters

References _FILEINFO_, Isis::WorkOrder::bestText(), Isis::WorkOrder::m_status, Isis::WorkOrder::NoContext, Isis::IException::Programmer, and Isis::WorkOrder::toString().

Referenced by Isis::CloseProjectWorkOrder::setupExecution(), and Isis::OpenProjectWorkOrder::setupExecution().

◆ setCreatesCleanState()

void Isis::WorkOrder::setCreatesCleanState ( bool  createsCleanState)
protectedinherited

Declare that this work order is saving the project.

This makes the work order not appear in the undo stack (cannot undo/redo), and instead it is marked as a 'clean' state of the project. The QUndoCommand undo/redo will never be called. The default for createsCleanState is false. If this is set to true all wrokorders before this call will be locked.

Parameters
createsCleanStateTrue if this work order is going to save the project to disk, False otherwise.

References Isis::WorkOrder::createsCleanState().

Referenced by Isis::CloseProjectWorkOrder::CloseProjectWorkOrder(), Isis::OpenProjectWorkOrder::OpenProjectWorkOrder(), Isis::SaveProjectAsWorkOrder::SaveProjectAsWorkOrder(), and Isis::SaveProjectWorkOrder::SaveProjectWorkOrder().

◆ setData() [1/11]

void Isis::WorkOrder::setData ( Context  context)
virtualinherited

Sets the context data for this WorkOrder.

Parameters
contextThis is an enum variable with two values: NoContext,ProjectContext.

Referenced by Isis::ImageListActionWorkOrder::setData(), Isis::WorkOrder::setData(), Isis::ExportControlNetWorkOrder::setupExecution(), Isis::Directory::supportedActions(), and Isis::MosaicSceneWidget::supportedActions().

◆ setData() [2/11]

void Isis::WorkOrder::setData ( ControlList controls)
virtualinherited

Sets the Control data for this WorkOrder.

Parameters
controls.A pointer to the Control

Sets the ControlList data for this WorkOrder.

Parameters
controls.A pointer to the ControlList (which is a list of control networks).

◆ setData() [3/11]

void Isis::WorkOrder::setData ( CorrelationMatrix  correlationMatrix)
virtualinherited

Sets the CorrelationMatrix data for this WorkOrder.

Parameters
correlationMatrixThe matrix data.

References Isis::WorkOrder::correlationMatrix().

◆ setData() [4/11]

void Isis::WorkOrder::setData ( FileItemQsp  fileItem)
virtualinherited

Sets the FileItem data for this WorkOrder.

Parameters
FileItemA QSharedPointer to the FileItem.

References Isis::WorkOrder::fileItem().

◆ setData() [5/11]

void Isis::WorkOrder::setData ( GuiCameraQsp  guiCamera)
virtualinherited

Sets the GuiCamera data for this WorkOrder.

Parameters
guiCameraA QSharedPointer to the GuiCamera.

References Isis::WorkOrder::guiCamera().

◆ setData() [6/11]

void Isis::WorkOrder::setData ( ImageList images)
virtualinherited

Sets the ImageList data for this WorkOrder.

Parameters
imagesA pointer to the updated ImageList.

Reimplemented in Isis::ImageListActionWorkOrder.

◆ setData() [7/11]

◆ setData() [8/11]

void Isis::WorkOrder::setData ( QString  data)
virtualinherited

◆ setData() [9/11]

void Isis::WorkOrder::setData ( ShapeList shapes)
virtualinherited

Sets the ShapeList data for this WorkOrder.

Parameters
imagesA pointer to the updated ShapeList.

◆ setData() [10/11]

void Isis::WorkOrder::setData ( TargetBodyQsp  targetBody)
virtualinherited

Sets the TargetBody data for this WorkOrder.

Parameters
targetBodyA QSharedPointer to the TargetBody.

References Isis::WorkOrder::targetBody().

◆ setData() [11/11]

void Isis::WorkOrder::setData ( Template currentTemplate)
virtualinherited

Sets the TargetBody data for this WorkOrder.

Parameters
targetBodyA QSharedPointer to the TargetBody.

◆ setInternalData()

void Isis::WorkOrder::setInternalData ( QStringList  data)
protectedinherited

◆ setModifiesDiskState()

void Isis::WorkOrder::setModifiesDiskState ( bool  changesProjectOnDisk)
protectedinherited

◆ setNext()

void Isis::WorkOrder::setNext ( WorkOrder nextWorkOrder)
inherited

Sets the next WorkOrder in the sequence.

Parameters
nextWorkOrderThe next WorkOrder.

Referenced by Isis::Project::addToProject().

◆ setPrevious()

void Isis::WorkOrder::setPrevious ( WorkOrder previousWorkOrder)
inherited

Sets the previous WorkOrder in the sequence.

Parameters
previousWorkOrderThe previous WorkOrder.

Referenced by Isis::Project::addToProject().

◆ setProgressRange()

void Isis::WorkOrder::setProgressRange ( int  minValue,
int  maxValue 
)
protectedinherited

Sets the progress range of the WorkOrder.

Parameters
minValueThe progress range minimum value.
maxValueThe progress range maximum value.

Referenced by Isis::ExportImagesWorkOrder::execute(), and Isis::ImportControlNetWorkOrder::execute().

◆ setProgressValue()

void Isis::WorkOrder::setProgressValue ( int  value)
protectedinherited

Sets the current progress value for the WorkOrder.

Parameters
intvalue The value to set the current progress to.

Referenced by Isis::ExportImagesWorkOrder::execute(), and Isis::ImportControlNetWorkOrder::execute().

◆ setupExecution()

bool Isis::Footprint2DViewWorkOrder::setupExecution ( )
virtual

Setup this WorkOrder for execution.

Prompt for whether these footprints should be displayed in a new view or an existing view. This calls WorkOrder::setupExecution().

Returns
bool True if WorkOrder::execute() returns true and footprints can be created, otherwise returns False.

Reimplemented from Isis::WorkOrder.

References Isis::Project::directory(), Isis::Directory::footprint2DViews(), Isis::WorkOrder::imageList(), Isis::WorkOrder::internalData(), Isis::WorkOrder::project(), Isis::WorkOrder::setInternalData(), and Isis::WorkOrder::setupExecution().

◆ shapeList() [1/2]

ShapeList * Isis::WorkOrder::shapeList ( )
protectedinherited

@briefReturns a pointer to the ShapeList for this WorkOrder.

Returns
(ShapeList*) A pointer to the ShapeList.

References Isis::WorkOrder::project(), and Isis::Project::shape().

Referenced by Isis::WorkOrder::isExecutable(), Isis::WorkOrder::redo(), Isis::WorkOrder::setData(), and Isis::WorkOrder::shapeList().

◆ shapeList() [2/2]

const ShapeList * Isis::WorkOrder::shapeList ( ) const
protectedinherited

A thread-safe method for retrieving a pointer to the shapeList.

Returns
(ShapeList *) A pointer to the shape list for this WorkOrder.

References Isis::WorkOrder::shapeList().

◆ statusChanged

void Isis::WorkOrder::statusChanged ( WorkOrder )
signalinherited

◆ statusText()

QString Isis::WorkOrder::statusText ( ) const
inherited

WorkOrder::statusText.

Returns
QString A string representation of the current WorkOrder status.

References Isis::WorkOrder::m_status, Isis::WorkOrder::project(), and Isis::WorkOrder::toString().

◆ targetBody()

◆ toString()

QString Isis::WorkOrder::toString ( WorkOrderStatus  status)
staticinherited

◆ undo

◆ undoExecution()

void Isis::WorkOrder::undoExecution ( )
protectedvirtualinherited

Execute the steps necessary to undo this workorder.

The workorder should have all state necessary to undo itself stored in the workorder.

For synchronous workorders: State should only be read from the parent WorkOrder class in this method. You can set state to be used in postUndoExecution() safely. This method is always executed in the GUI thread and has no progress.

For Asynchronous workorders: State can be read from the parent WorkOrder class while in this method. You can set state to be used in postSyncUndo() safely. Please be wary of deleting QObjects inside of this method because they will cause unpredictable crashes. This method is never executed in the GUI thread. You can update progress by calling setProgressRange() and setProgressValue(). Do not manipulate any GUI objects here.

Reimplemented in Isis::MoveUpOneSceneWorkOrder, Isis::MoveToTopSceneWorkOrder, Isis::MoveToBottomSceneWorkOrder, Isis::MoveDownOneSceneWorkOrder, Isis::ImageListActionWorkOrder, Isis::ViewControlNet3DWorkOrder, Isis::SensorGetInfoWorkOrder, Isis::RenameProjectWorkOrder, Isis::MatrixViewWorkOrder, Isis::ImportShapesWorkOrder, Isis::ImportRegistrationTemplateWorkOrder, Isis::ImportMapTemplateWorkOrder, Isis::ImportImagesWorkOrder, and Isis::CnetEditorViewWorkOrder.

Referenced by Isis::WorkOrder::undo().

Member Data Documentation

◆ m_isSavedToHistory

◆ m_isSynchronous

bool Isis::WorkOrder::m_isSynchronous
protectedinherited

This is defaulted to true.

If true, the work order will be executed on the GUI thread synchronously. If false, then the work order will be queued for execution on a non-GUI thread and will not block the GUI.

Referenced by Isis::ExportControlNetWorkOrder::ExportControlNetWorkOrder(), Isis::ExportImagesWorkOrder::ExportImagesWorkOrder(), Isis::ImportControlNetWorkOrder::ImportControlNetWorkOrder(), Isis::ImportImagesWorkOrder::ImportImagesWorkOrder(), Isis::ImportShapesWorkOrder::ImportShapesWorkOrder(), Isis::WorkOrder::isSynchronous(), and Isis::WorkOrder::WorkOrder().

◆ m_isUndoable

bool Isis::WorkOrder::m_isUndoable
protectedinherited

Set the workorder to be undoable/redoable This is defaulted to true - his will allow the workorder to be redone.

Note the workorder undoExecution() method must be implemented. This will result on the workorder being placed on the QUndoStack and being displayed in the history as being undoable. If set to false, the work order will not be put on the QUndoStack and the workorder will not be able to be undone.

Referenced by Isis::BundleObservationViewWorkOrder::BundleObservationViewWorkOrder(), Isis::CloseProjectWorkOrder::CloseProjectWorkOrder(), Isis::CnetEditorViewWorkOrder::CnetEditorViewWorkOrder(), Isis::ControlHealthMonitorWorkOrder::ControlHealthMonitorWorkOrder(), Isis::CubeDnViewWorkOrder::CubeDnViewWorkOrder(), Isis::ExportControlNetWorkOrder::ExportControlNetWorkOrder(), Isis::ExportImagesWorkOrder::ExportImagesWorkOrder(), Footprint2DViewWorkOrder(), Isis::ImageFileListViewWorkOrder::ImageFileListViewWorkOrder(), Isis::ImportControlNetWorkOrder::ImportControlNetWorkOrder(), Isis::ImportMapTemplateWorkOrder::ImportMapTemplateWorkOrder(), Isis::ImportRegistrationTemplateWorkOrder::ImportRegistrationTemplateWorkOrder(), Isis::ImportShapesWorkOrder::ImportShapesWorkOrder(), Isis::WorkOrder::isUndoable(), Isis::JigsawWorkOrder::JigsawWorkOrder(), Isis::OpenProjectWorkOrder::OpenProjectWorkOrder(), Isis::RemoveImagesWorkOrder::RemoveImagesWorkOrder(), Isis::RenameProjectWorkOrder::RenameProjectWorkOrder(), Isis::SaveProjectAsWorkOrder::SaveProjectAsWorkOrder(), Isis::SensorGetInfoWorkOrder::SensorGetInfoWorkOrder(), Isis::SetActiveControlWorkOrder::SetActiveControlWorkOrder(), Isis::SetActiveImageListWorkOrder::SetActiveImageListWorkOrder(), Isis::TargetGetInfoWorkOrder::TargetGetInfoWorkOrder(), Isis::TemplateEditViewWorkOrder::TemplateEditViewWorkOrder(), and Isis::WorkOrder::WorkOrder().

◆ m_status


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