Isis 3 Programmer Reference
Isis::CubeDnViewWorkOrder Class Reference

This work order is designed to bring up a qview-like view for a small number of cubes. More...

#include <CubeDnViewWorkOrder.h>

Inheritance diagram for Isis::CubeDnViewWorkOrder:
Inheritance graph
Collaboration diagram for Isis::CubeDnViewWorkOrder:
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

 CubeDnViewWorkOrder (Project *project)
 This method sets the text of the work order. More...
 
 CubeDnViewWorkOrder (const CubeDnViewWorkOrder &other)
 As of 06/06/2016 this method is not implemented. More...
 
 ~CubeDnViewWorkOrder ()
 Destructor. More...
 
virtual CubeDnViewWorkOrderclone () const
 This method clones the CubeDnViewWorkOrder. More...
 
virtual bool isExecutable (ImageList *images)
 This check is used by Directory::supportedActions(DataType data). More...
 
virtual bool isExecutable (ShapeList *shapes)
 This check is used by Directory::supportedActions(DataType data). More...
 
bool isUndoable () const
 
bool setupExecution ()
 This method asks the user what view they want to see their cube list in. More...
 
void execute ()
 This method adds a new CubeDnView to the project's directory and then adds currentItem() to that. 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 isSavedToHistory () const
 Returns true if this work order is to be shown in History, 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

bool dependsOn (WorkOrder *other) const
 This method returns true if other depends on a CubeDnViewWorkOrder. More...
 
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...
 
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
 

Private Types

enum  QueuedWorkOrderAction { NoQueuedAction, RedoQueuedAction, UndoQueuedAction }
 This enum describes the current state of a Queued WorkOrder. More...
 

Private Slots

void attemptQueuedAction ()
 Attempts to execute an action on the action queue. More...
 
void executionFinished ()
 Signals the Project that the WorkOrder is finished, deletes the update time for the Progress bar, and sets the finished status. More...
 
void clearImageList ()
 Clears the list of images. More...
 
void clearShapeList ()
 Clears the list of shapes. More...
 
void updateProgress ()
 Updates the progress bar. More...
 
void startRedo ()
 WorkOrder::startRedo This function is currently empty. More...
 

Private Member Functions

CubeDnViewWorkOrderoperator= (const CubeDnViewWorkOrder &rhs)
 
bool isInStableState () const
 Determines if the WorkOrder is in a stable state, or if it's busy doing something. More...
 
void listenForImageDestruction ()
 Checks to see if we have lost any images in the ImageList. More...
 
void listenForShapeDestruction ()
 Checks to see if we have lost any shapes in the ShapeList. More...
 
void resetProgressBar ()
 Resets the ProgressBar. More...
 
void setProgressToFinalText ()
 Sets the ProgressBar to display the final status of the operation. More...
 

Private Attributes

bool m_createsCleanState
 This is defaulted to false. More...
 
bool m_modifiesDiskState
 This is defaulted to false. More...
 
QueuedWorkOrderAction m_queuedAction
 
int m_progressRangeMinValue
 The miniumum value of the Progess Bar. More...
 
int m_progressRangeMaxValue
 The maximum value of the Progess Bar. More...
 
int m_progressValue
 The current value of the Progress Bar. More...
 
Context m_context
 
QString m_data
 
QPointer< ImageListm_imageList
 
QPointer< ShapeListm_shapeList
 
QPointer< ControlListm_controlList
 
CorrelationMatrix m_correlationMatrix
 
GuiCameraQsp m_guiCamera
 A QSharedPointer to the GuiCamera (the Camera object but encapsulated within a Gui framework. More...
 
Templatem_template
 A QSharedPointer to the Template (A Template object but encapsulated within a Gui framework. More...
 
TargetBodyQsp m_targetBody
 A QSharedPointer to the TargetBody (A Target object but encapsulated within a Gui framework. More...
 
FileItemQsp m_fileItem
 A QSharedPointer to the FileItem. More...
 
QStringList m_imageIds
 A QStringList of unique image identifiers for all of the images this WorkOrder is dealing with. More...
 
QStringList m_shapeIds
 A QStringList of unique shape identifiers for all of the shapes this WorkOrder is dealing with. More...
 
QStringList m_internalData
 A QStringList of internal properties for this WorkOrder. More...
 
QPointer< WorkOrderm_nextWorkOrder
 A pointer to the next WorkOrder in the queue. More...
 
QPointer< WorkOrderm_previousWorkOrder
 A pointer to the previous WorkOrder in the queue. More...
 
QPointer< Projectm_project
 A pointer to the Project this WorkOrder is attached to. More...
 
QMutex * m_transparentConstMutex
 This is used to protect the integrity of data the WorkOrder is working on so that only one thread at a time cann access it. More...
 
QDateTime m_executionTime
 This is the date/time that setupExecution() was called. More...
 
QPointer< QFutureWatcher< void > > m_futureWatcher
 A pointer to a QFutureWatcher object which monitors a QFuture object using signals and slots. More...
 
QPointer< ProgressBarm_progressBar
 A pointer to the ProgressBar. More...
 
QPointer< QTimer > m_progressBarUpdateTimer
 A pointer to the QTimer which updates the ProgressBar. More...
 
QPointer< QTimer > m_progressBarDeletionTimer
 A pointer to the ProgressBar deletion timer. More...
 
QTime * m_elapsedTimer
 A QTime object holding the excecution time of the WorkOrder. More...
 
double m_secondsElapsed
 The seconds that have elapsed since the WorkOrder started executing. More...
 

Detailed Description

This work order is designed to bring up a qview-like view for a small number of cubes.

Author
2012-09-19 Steven Lambright
History:
2016-01-13 Jeffrey Covington - Redesigned CNetSuiteMainWindow. Added CubeDNView and Footprint2DView.
History:
2016-06-06 Makayla Shepherd - Update documentation. Fixes #3993.
History:
2016-07-27 Tracie Sucharski - Added support for shape models.
History:
2016-09-09 Tracie Sucharski - Put option to choose either creating a new view or adding images to an existing view.
History:
2016-11-02 Makayla Shepherd - Changed the display text from View Raw Cubes to Display Images. Fixes #4494.
History:
2017-04-06 Makayla Shepherd - Added isUndoable, and renamed execute() to setupExecution(), and syncRedo() to execute() according to the WorkOrder redesign.
History:
2017-07-24 Cole Neuabuer - Set m_isSavedToHistory to false on construction Fixes #4715
History:
2017-08-11 Cole Neubauer - Removed isUndoable and set parent member variable Fixes #5064
History:
2017-11-02 Tyler Wilson - Added null pointer checks for the ImageList *images and ShapeList *shapes variables in their respective isExeuctable() methods to prevent potential seg faults. References #4492.

Definition at line 44 of file CubeDnViewWorkOrder.h.

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).

Definition at line 339 of file WorkOrder.h.

◆ QueuedWorkOrderAction

This enum describes the current state of a Queued WorkOrder.

Definition at line 483 of file WorkOrder.h.

◆ WorkOrderStatus

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

Enumerator
WorkOrderFinished 

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

Definition at line 321 of file WorkOrder.h.

Constructor & Destructor Documentation

◆ CubeDnViewWorkOrder() [1/2]

Isis::CubeDnViewWorkOrder::CubeDnViewWorkOrder ( Project project)

This method sets the text of the work order.

Parameters
projectThe Project that we are going to work with.

Definition at line 34 of file CubeDnViewWorkOrder.cpp.

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

Referenced by clone().

◆ CubeDnViewWorkOrder() [2/2]

Isis::CubeDnViewWorkOrder::CubeDnViewWorkOrder ( const CubeDnViewWorkOrder other)

As of 06/06/2016 this method is not implemented.

Definition at line 44 of file CubeDnViewWorkOrder.cpp.

◆ ~CubeDnViewWorkOrder()

Isis::CubeDnViewWorkOrder::~CubeDnViewWorkOrder ( )

Destructor.

Definition at line 51 of file CubeDnViewWorkOrder.cpp.

Member Function Documentation

◆ addCloneToProject

void Isis::WorkOrder::addCloneToProject ( )
protectedslotinherited

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

Definition at line 1452 of file WorkOrder.cpp.

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

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

◆ attemptQueuedAction

void Isis::WorkOrder::attemptQueuedAction ( )
privateslotinherited

Attempts to execute an action on the action queue.

Definition at line 1575 of file WorkOrder.cpp.

References Isis::WorkOrder::redo(), and Isis::WorkOrder::undo().

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

◆ 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.

Definition at line 795 of file WorkOrder.cpp.

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

◆ clearImageList

void Isis::WorkOrder::clearImageList ( )
privateslotinherited

Clears the list of images.

Definition at line 1623 of file WorkOrder.cpp.

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

◆ clearShapeList

void Isis::WorkOrder::clearShapeList ( )
privateslotinherited

Clears the list of shapes.

Definition at line 1631 of file WorkOrder.cpp.

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

◆ clone()

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

This method clones the CubeDnViewWorkOrder.

Returns
CubeDnViewWorkOrder Returns a clone of the CubeDnViewWorkOrder

Implements Isis::WorkOrder.

Definition at line 59 of file CubeDnViewWorkOrder.cpp.

References CubeDnViewWorkOrder().

◆ controlList()

◆ correlationMatrix()

CorrelationMatrix Isis::WorkOrder::correlationMatrix ( )
protectedinherited

Returns the CorrleationMatrix for this WorkOrder.

Returns
A CorrelationMatrix.

Definition at line 696 of file WorkOrder.cpp.

References Isis::WorkOrder::project().

Referenced by Isis::MatrixViewWorkOrder::execute(), Isis::WorkOrder::setData(), and Isis::MatrixViewWorkOrder::setupExecution().

◆ 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.

Definition at line 854 of file WorkOrder.cpp.

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

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

◆ dependsOn()

bool Isis::CubeDnViewWorkOrder::dependsOn ( WorkOrder other) const
protectedvirtual

This method returns true if other depends on a CubeDnViewWorkOrder.

Parameters
orderthe WorkOrder we want to check for dependancies
Returns
bool True if WorkOrder depends on a CubeDnViewWorkOrder

Reimplemented from Isis::WorkOrder.

Definition at line 179 of file CubeDnViewWorkOrder.cpp.

◆ directory()

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

return the workorder project directory Returns the Directory object of the Project this WorkOrder is attached to.

Returns
(Directory *) A pointer to the Directory.

Definition at line 1290 of file WorkOrder.cpp.

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

Referenced by execute(), Isis::Footprint2DViewWorkOrder::execute(), Isis::ImageFileListViewWorkOrder::execute(), Isis::JigsawWorkOrder::isExecutable(), and Isis::MosaicSceneWorkOrder::scene().

◆ 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()

Definition at line 1230 of file WorkOrder.cpp.

◆ 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()

Definition at line 1218 of file WorkOrder.cpp.

◆ execute()

◆ executionFinished

◆ executionTime()

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

Gets the execution time of this WorkOrder.

Returns
QDateTime The execution time.

Definition at line 864 of file WorkOrder.cpp.

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

Referenced by Isis::HistoryTreeWidget::addToHistory(), and Isis::WorkOrder::XmlHandler::startElement().

◆ fileItem()

FileItemQsp Isis::WorkOrder::fileItem ( )
protectedinherited

◆ 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.

Definition at line 988 of file WorkOrder.cpp.

References Isis::WorkOrder::toString().

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

◆ 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.

Definition at line 716 of file WorkOrder.cpp.

References Isis::WorkOrder::imageList(), and Isis::WorkOrder::m_transparentConstMutex.

◆ internalData()

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

Gets the internal data for this WorkOrder.

Returns
QStringList Returns the internal data object.

Definition at line 1377 of file WorkOrder.cpp.

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

Referenced by execute(), Isis::ExportControlNetWorkOrder::execute(), Isis::ExportImagesWorkOrder::execute(), Isis::Footprint2DViewWorkOrder::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::ImportImagesWorkOrder::importConfirmedImages(), Isis::ImportShapesWorkOrder::importConfirmedShapes(), Isis::RenameProjectWorkOrder::RenameProjectWorkOrder(), Isis::MosaicSceneWorkOrder::restoreZPositions(), Isis::MosaicSceneWorkOrder::scene(), Isis::ImageListActionWorkOrder::setData(), setupExecution(), Isis::ExportControlNetWorkOrder::setupExecution(), Isis::ExportImagesWorkOrder::setupExecution(), Isis::Footprint2DViewWorkOrder::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::MatrixViewWorkOrder::undoExecution(), Isis::RenameProjectWorkOrder::undoExecution(), and Isis::ImageListActionWorkOrder::undoExecution().

◆ isExecutable() [1/9]

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.

Definition at line 182 of file WorkOrder.cpp.

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

◆ isExecutable() [2/9]

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.

Definition at line 234 of file WorkOrder.cpp.

◆ isExecutable() [3/9]

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.

Definition at line 446 of file WorkOrder.cpp.

◆ isExecutable() [4/9]

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.

Definition at line 434 of file WorkOrder.cpp.

◆ isExecutable() [5/9]

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

This check is used by Directory::supportedActions(DataType data).

Parameters
imagesImageList we are checking
Returns
bool True if the number of images is greater than 0 and less than 50.

Reimplemented from Isis::WorkOrder.

Definition at line 70 of file CubeDnViewWorkOrder.cpp.

◆ isExecutable() [6/9]

◆ isExecutable() [7/9]

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

This check is used by Directory::supportedActions(DataType data).

Parameters
imagesShapeList we are checking
Returns
bool True if the number of shapes is greater than 0 and less than 20.

Reimplemented from Isis::WorkOrder.

Definition at line 83 of file CubeDnViewWorkOrder.cpp.

◆ isExecutable() [8/9]

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.

Definition at line 410 of file WorkOrder.cpp.

◆ isExecutable() [9/9]

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.

Definition at line 422 of file WorkOrder.cpp.

◆ 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.

Definition at line 874 of file WorkOrder.cpp.

References Isis::WorkOrder::WorkOrderFinished.

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

◆ isInStableState()

bool Isis::WorkOrder::isInStableState ( ) const
privateinherited

Determines if the WorkOrder is in a stable state, or if it's busy doing something.

Returns
bool Returns True if the WorkOrder is in a stable state, and False if it is not.

Definition at line 1463 of file WorkOrder.cpp.

References Isis::WorkOrder::isRedoing(), and Isis::WorkOrder::isUndoing().

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

◆ 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.

Definition at line 883 of file WorkOrder.cpp.

References Isis::WorkOrder::project().

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

◆ 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.

Definition at line 893 of file WorkOrder.cpp.

References Isis::WorkOrder::project().

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

◆ isSavedToHistory()

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

Returns true if this work order is to be shown in History, otherwise false.

Returns
(bool) Returns True if this work order is to be shown in History

Definition at line 830 of file WorkOrder.cpp.

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

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

◆ 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

Definition at line 841 of file WorkOrder.cpp.

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

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

◆ isUndoing()

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

Returns the WorkOrderUndoing state.

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

Definition at line 903 of file WorkOrder.cpp.

References Isis::WorkOrder::project().

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

◆ 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.

Definition at line 913 of file WorkOrder.cpp.

References Isis::WorkOrder::project().

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

◆ listenForImageDestruction()

void Isis::WorkOrder::listenForImageDestruction ( )
privateinherited

Checks to see if we have lost any images in the ImageList.

If we have, then destroy the entire list. This will send a signal that the list needs to be rebuilt if requested.

Definition at line 1479 of file WorkOrder.cpp.

References Isis::WorkOrder::clearImageList(), Isis::Image::id(), and Isis::WorkOrder::m_imageIds.

Referenced by Isis::WorkOrder::imageList(), Isis::WorkOrder::setData(), and Isis::WorkOrder::WorkOrder().

◆ listenForShapeDestruction()

void Isis::WorkOrder::listenForShapeDestruction ( )
privateinherited

Checks to see if we have lost any shapes in the ShapeList.

If we have, then destroy the entire list. This will send a signal that the list needs to be rebuilt if requested.

TODO 2016-07-26 TLS Combine this with listenForImageDestruction() - Basically duplicate code.

Definition at line 1502 of file WorkOrder.cpp.

References Isis::WorkOrder::clearShapeList(), Isis::Shape::id(), and Isis::WorkOrder::m_shapeIds.

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

◆ 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.

Definition at line 924 of file WorkOrder.cpp.

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

◆ next()

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

Gets the next WorkOrder.

Returns
QPointer pointing to the next WorkOrder.

Definition at line 934 of file WorkOrder.cpp.

References Isis::WorkOrder::m_nextWorkOrder, and 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.

Definition at line 1414 of file WorkOrder.cpp.

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

◆ 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.

Definition at line 1445 of file WorkOrder.cpp.

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

◆ previous()

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

Gets the previous WorkOrder.

Returns
QPointer pointing to the previous WorkOrder.

Definition at line 944 of file WorkOrder.cpp.

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

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

◆ progressBar()

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

◆ progressMax()

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

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

Returns
int The maximum value.

Definition at line 1337 of file WorkOrder.cpp.

References Isis::WorkOrder::m_progressRangeMaxValue, and 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.

Definition at line 1327 of file WorkOrder.cpp.

References Isis::WorkOrder::m_progressRangeMinValue, and 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.

Definition at line 1347 of file WorkOrder.cpp.

References Isis::WorkOrder::m_progressValue, and 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."

Definition at line 1300 of file WorkOrder.cpp.

References Isis::WorkOrder::m_project, and Isis::IException::Programmer.

Referenced by Isis::WorkOrder::addCloneToProject(), Isis::ImportControlNetWorkOrder::cnetReady(), Isis::WorkOrder::controlList(), Isis::WorkOrder::correlationMatrix(), Isis::ImportControlNetWorkOrder::CreateControlsFunctor::CreateControlsFunctor(), Isis::WorkOrder::createsCleanState(), Isis::WorkOrder::directory(), Isis::BundleObservationViewWorkOrder::execute(), Isis::CloseProjectWorkOrder::execute(), Isis::CnetEditorViewWorkOrder::execute(), Isis::ControlHealthMonitorWorkOrder::execute(), execute(), Isis::ExportControlNetWorkOrder::execute(), Isis::ExportImagesWorkOrder::execute(), Isis::Footprint2DViewWorkOrder::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::ImportImagesWorkOrder::importConfirmedImages(), Isis::ImportShapesWorkOrder::importConfirmedShapes(), 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(), setupExecution(), Isis::ExportControlNetWorkOrder::setupExecution(), Isis::ExportImagesWorkOrder::setupExecution(), Isis::Footprint2DViewWorkOrder::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.

Definition at line 520 of file WorkOrder.cpp.

References Isis::XmlStackedHandlerReader::pushContentHandler().

◆ redo

◆ resetProgressBar()

◆ 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

Definition at line 544 of file WorkOrder.cpp.

References Isis::WorkOrder::bestText(), Isis::WorkOrder::isInStableState(), Isis::WorkOrder::m_executionTime, Isis::WorkOrder::m_imageIds, Isis::WorkOrder::m_internalData, Isis::WorkOrder::m_shapeIds, Isis::IException::Programmer, and Isis::WorkOrder::toString().

Referenced by Isis::Project::saveHistory(), 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.

Definition at line 1663 of file WorkOrder.cpp.

References Isis::WorkOrder::createsCleanState(), and Isis::WorkOrder::m_createsCleanState.

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

◆ setData() [1/10]

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.

Definition at line 248 of file WorkOrder.cpp.

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

◆ setData() [2/10]

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).

Definition at line 297 of file WorkOrder.cpp.

◆ setData() [3/10]

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

Sets the CorrelationMatrix data for this WorkOrder.

Parameters
correlationMatrixThe matrix data.

Definition at line 306 of file WorkOrder.cpp.

References Isis::WorkOrder::correlationMatrix().

◆ setData() [4/10]

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

Sets the FileItem data for this WorkOrder.

Parameters
FileItemA QSharedPointer to the FileItem.

Definition at line 344 of file WorkOrder.cpp.

References Isis::WorkOrder::fileItem(), and Isis::WorkOrder::m_fileItem.

◆ setData() [5/10]

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

Sets the GuiCamera data for this WorkOrder.

Parameters
guiCameraA QSharedPointer to the GuiCamera.

Definition at line 335 of file WorkOrder.cpp.

References Isis::WorkOrder::guiCamera(), and Isis::WorkOrder::m_guiCamera.

◆ setData() [6/10]

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.

Definition at line 261 of file WorkOrder.cpp.

References Isis::WorkOrder::listenForImageDestruction(), and Isis::WorkOrder::m_imageIds.

◆ setData() [7/10]

◆ setData() [8/10]

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

Sets the ShapeList data for this WorkOrder.

Parameters
imagesA pointer to the updated ShapeList.

Definition at line 274 of file WorkOrder.cpp.

References Isis::WorkOrder::listenForShapeDestruction(), and Isis::WorkOrder::m_shapeIds.

◆ setData() [9/10]

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

Sets the TargetBody data for this WorkOrder.

Parameters
targetBodyA QSharedPointer to the TargetBody.

Definition at line 317 of file WorkOrder.cpp.

References Isis::WorkOrder::m_targetBody, and Isis::WorkOrder::targetBody().

◆ setData() [10/10]

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

Sets the TargetBody data for this WorkOrder.

Parameters
targetBodyA QSharedPointer to the TargetBody.

Definition at line 326 of file WorkOrder.cpp.

References Isis::WorkOrder::m_template.

◆ setInternalData()

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

Sets the internal data for this WorkOrder.

WorkOrders may not use member variables to store data. Any data needed for the workorder should be saved in to the base WorkOrder using setInternalData.

Parameters
dataThe data to set the internal data to.

Definition at line 1318 of file WorkOrder.cpp.

References Isis::WorkOrder::m_internalData.

Referenced by Isis::ImageListActionWorkOrder::execute(), Isis::ImageListActionWorkOrder::ImageListActionWorkOrder(), Isis::ImportImagesWorkOrder::importConfirmedImages(), Isis::ImportShapesWorkOrder::importConfirmedShapes(), Isis::ImportMapTemplateWorkOrder::isExecutable(), Isis::ImportRegistrationTemplateWorkOrder::isExecutable(), Isis::RenameProjectWorkOrder::RenameProjectWorkOrder(), setupExecution(), Isis::ExportControlNetWorkOrder::setupExecution(), Isis::ExportImagesWorkOrder::setupExecution(), Isis::Footprint2DViewWorkOrder::setupExecution(), Isis::ImageFileListViewWorkOrder::setupExecution(), Isis::ImportControlNetWorkOrder::setupExecution(), Isis::ImportImagesWorkOrder::setupExecution(), Isis::ImportMapTemplateWorkOrder::setupExecution(), Isis::ImportRegistrationTemplateWorkOrder::setupExecution(), Isis::ImportShapesWorkOrder::setupExecution(), Isis::MatrixViewWorkOrder::setupExecution(), Isis::RenameProjectWorkOrder::setupExecution(), Isis::SaveProjectAsWorkOrder::setupExecution(), Isis::SensorGetInfoWorkOrder::setupExecution(), Isis::TargetGetInfoWorkOrder::setupExecution(), Isis::TemplateEditViewWorkOrder::setupExecution(), Isis::ImageListActionWorkOrder::setupExecution(), and Isis::ImageListActionWorkOrder::undoExecution().

◆ setModifiesDiskState()

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

By default, m_modifiesDiskState is False. If a WorkOrder modifies the Project on disk as a result of it's action, this should be set to true.

Parameters
changesProjectOnDiskTrue if this WorkOrder modifies the Project on disk. False if it does not.

Definition at line 1674 of file WorkOrder.cpp.

References Isis::WorkOrder::m_modifiesDiskState.

Referenced by Isis::ImportControlNetWorkOrder::ImportControlNetWorkOrder(), Isis::ImportImagesWorkOrder::ImportImagesWorkOrder(), Isis::ImportMapTemplateWorkOrder::ImportMapTemplateWorkOrder(), Isis::ImportRegistrationTemplateWorkOrder::ImportRegistrationTemplateWorkOrder(), and Isis::ImportShapesWorkOrder::ImportShapesWorkOrder().

◆ setNext()

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

Sets the next WorkOrder in the sequence.

Parameters
nextWorkOrderThe next WorkOrder.

Definition at line 613 of file WorkOrder.cpp.

References Isis::WorkOrder::m_nextWorkOrder.

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

◆ setPrevious()

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

Sets the previous WorkOrder in the sequence.

Parameters
previousWorkOrderThe previous WorkOrder.

Definition at line 622 of file WorkOrder.cpp.

References Isis::WorkOrder::m_previousWorkOrder.

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.

Definition at line 1358 of file WorkOrder.cpp.

References Isis::WorkOrder::m_progressRangeMaxValue, and Isis::WorkOrder::m_progressRangeMinValue.

Referenced by Isis::ExportImagesWorkOrder::execute(), Isis::ImportControlNetWorkOrder::execute(), Isis::ImportImagesWorkOrder::importConfirmedImages(), and Isis::ImportShapesWorkOrder::importConfirmedShapes().

◆ setProgressToFinalText()

void Isis::WorkOrder::setProgressToFinalText ( )
privateinherited

◆ 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.

Definition at line 1368 of file WorkOrder.cpp.

References Isis::WorkOrder::m_progressValue.

Referenced by Isis::ExportImagesWorkOrder::execute(), Isis::ImportControlNetWorkOrder::execute(), Isis::ImportImagesWorkOrder::importConfirmedImages(), and Isis::ImportShapesWorkOrder::importConfirmedShapes().

◆ setupExecution()

bool Isis::CubeDnViewWorkOrder::setupExecution ( )
virtual

This method asks the user what view they want to see their cube list in.

The user can select an existing vew or they can create a new view. The user's choice is then saved using setInternalData().

See also
WorkOrder::setupExecution()
Returns
bool True if WorkOrder::setupExecution() returns true.

Reimplemented from Isis::WorkOrder.

Definition at line 100 of file CubeDnViewWorkOrder.cpp.

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

◆ shapeList() [1/2]

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

◆ 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.

Definition at line 726 of file WorkOrder.cpp.

References Isis::WorkOrder::m_transparentConstMutex, and Isis::WorkOrder::shapeList().

◆ startRedo

void Isis::WorkOrder::startRedo ( )
privateslotinherited

WorkOrder::startRedo This function is currently empty.

Definition at line 1650 of file WorkOrder.cpp.

◆ statusText()

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

WorkOrder::statusText.

Returns
QString A string representation of the current WorkOrder status.

Definition at line 954 of file WorkOrder.cpp.

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

◆ targetBody()

◆ toString()

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

Gets the current status of the WorkOrder.

Parameters
statusAn enumeration of all possible WorkOrder states.
Returns
QString Returns a string representation of the current status of the WorkOrder.

Definition at line 1009 of file WorkOrder.cpp.

References Isis::WorkOrder::WorkOrderFinished.

Referenced by Isis::WorkOrder::fromStatusString(), Isis::WorkOrder::save(), and Isis::WorkOrder::statusText().

◆ 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.

Definition at line 1434 of file WorkOrder.cpp.

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

◆ updateProgress

Member Data Documentation

◆ m_createsCleanState

bool Isis::WorkOrder::m_createsCleanState
privateinherited

This is defaulted to false.

If a work order saves the project to disk, this causes a 'clean' (non-dirty) state. These work orders should call setCreatesCleanState(true) in their constructor.

Definition at line 549 of file WorkOrder.h.

Referenced by Isis::WorkOrder::createsCleanState(), Isis::WorkOrder::setCreatesCleanState(), and Isis::WorkOrder::WorkOrder().

◆ m_elapsedTimer

QTime* Isis::WorkOrder::m_elapsedTimer
privateinherited

A QTime object holding the excecution time of the WorkOrder.

Definition at line 677 of file WorkOrder.h.

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

◆ m_executionTime

QDateTime Isis::WorkOrder::m_executionTime
privateinherited

◆ m_fileItem

FileItemQsp Isis::WorkOrder::m_fileItem
privateinherited

◆ m_futureWatcher

QPointer< QFutureWatcher<void> > Isis::WorkOrder::m_futureWatcher
privateinherited

A pointer to a QFutureWatcher object which monitors a QFuture object using signals and slots.

A QFuture object represents the results of an asynchrounous operation.

Definition at line 654 of file WorkOrder.h.

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

◆ m_guiCamera

GuiCameraQsp Isis::WorkOrder::m_guiCamera
privateinherited

A QSharedPointer to the GuiCamera (the Camera object but encapsulated within a Gui framework.

Definition at line 583 of file WorkOrder.h.

Referenced by Isis::WorkOrder::guiCamera(), Isis::WorkOrder::setData(), and Isis::WorkOrder::WorkOrder().

◆ m_imageIds

QStringList Isis::WorkOrder::m_imageIds
privateinherited

A QStringList of unique image identifiers for all of the images this WorkOrder is dealing with.

Definition at line 610 of file WorkOrder.h.

Referenced by Isis::WorkOrder::imageList(), Isis::WorkOrder::listenForImageDestruction(), Isis::WorkOrder::save(), Isis::WorkOrder::setData(), and Isis::WorkOrder::WorkOrder().

◆ m_internalData

QStringList Isis::WorkOrder::m_internalData
privateinherited

A QStringList of internal properties for this WorkOrder.

Definition at line 621 of file WorkOrder.h.

Referenced by Isis::WorkOrder::internalData(), Isis::WorkOrder::save(), Isis::WorkOrder::setInternalData(), and Isis::WorkOrder::WorkOrder().

◆ 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.

Definition at line 530 of file WorkOrder.h.

Referenced by Isis::ExportControlNetWorkOrder::ExportControlNetWorkOrder(), 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.

Definition at line 523 of file WorkOrder.h.

Referenced by Isis::BundleObservationViewWorkOrder::BundleObservationViewWorkOrder(), Isis::CloseProjectWorkOrder::CloseProjectWorkOrder(), Isis::ControlHealthMonitorWorkOrder::ControlHealthMonitorWorkOrder(), CubeDnViewWorkOrder(), Isis::ExportControlNetWorkOrder::ExportControlNetWorkOrder(), Isis::Footprint2DViewWorkOrder::Footprint2DViewWorkOrder(), Isis::ImportControlNetWorkOrder::ImportControlNetWorkOrder(), Isis::ImportMapTemplateWorkOrder::ImportMapTemplateWorkOrder(), Isis::ImportRegistrationTemplateWorkOrder::ImportRegistrationTemplateWorkOrder(), Isis::ImportShapesWorkOrder::ImportShapesWorkOrder(), Isis::WorkOrder::isUndoable(), Isis::JigsawWorkOrder::JigsawWorkOrder(), Isis::OpenProjectWorkOrder::OpenProjectWorkOrder(), 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_modifiesDiskState

bool Isis::WorkOrder::m_modifiesDiskState
privateinherited

This is defaulted to false.

If a WorkOrder modifies the project on disk to perform its actions (for example, an import WorkOrder), the WorkOrder should call setModifiesDiskState(true) in its constructor.

Definition at line 556 of file WorkOrder.h.

Referenced by Isis::WorkOrder::modifiesDiskState(), Isis::WorkOrder::setModifiesDiskState(), and Isis::WorkOrder::WorkOrder().

◆ m_nextWorkOrder

QPointer<WorkOrder> Isis::WorkOrder::m_nextWorkOrder
privateinherited

A pointer to the next WorkOrder in the queue.

Definition at line 626 of file WorkOrder.h.

Referenced by Isis::WorkOrder::next(), Isis::WorkOrder::setNext(), and Isis::WorkOrder::~WorkOrder().

◆ m_previousWorkOrder

QPointer<WorkOrder> Isis::WorkOrder::m_previousWorkOrder
privateinherited

A pointer to the previous WorkOrder in the queue.

Definition at line 631 of file WorkOrder.h.

Referenced by Isis::WorkOrder::previous(), Isis::WorkOrder::setPrevious(), and Isis::WorkOrder::~WorkOrder().

◆ m_progressBar

◆ m_progressBarDeletionTimer

QPointer<QTimer> Isis::WorkOrder::m_progressBarDeletionTimer
privateinherited

A pointer to the ProgressBar deletion timer.

Definition at line 671 of file WorkOrder.h.

Referenced by Isis::WorkOrder::resetProgressBar(), Isis::WorkOrder::setProgressToFinalText(), and Isis::WorkOrder::~WorkOrder().

◆ m_progressBarUpdateTimer

QPointer<QTimer> Isis::WorkOrder::m_progressBarUpdateTimer
privateinherited

A pointer to the QTimer which updates the ProgressBar.

Definition at line 666 of file WorkOrder.h.

Referenced by Isis::WorkOrder::executionFinished(), Isis::WorkOrder::resetProgressBar(), and Isis::WorkOrder::~WorkOrder().

◆ m_progressRangeMaxValue

int Isis::WorkOrder::m_progressRangeMaxValue
privateinherited

◆ m_progressRangeMinValue

int Isis::WorkOrder::m_progressRangeMinValue
privateinherited

◆ m_progressValue

int Isis::WorkOrder::m_progressValue
privateinherited

◆ m_project

QPointer<Project> Isis::WorkOrder::m_project
privateinherited

◆ m_secondsElapsed

double Isis::WorkOrder::m_secondsElapsed
privateinherited

The seconds that have elapsed since the WorkOrder started executing.

Definition at line 682 of file WorkOrder.h.

Referenced by Isis::WorkOrder::executionFinished(), Isis::WorkOrder::statusText(), and Isis::WorkOrder::WorkOrder().

◆ m_shapeIds

QStringList Isis::WorkOrder::m_shapeIds
privateinherited

A QStringList of unique shape identifiers for all of the shapes this WorkOrder is dealing with.

Definition at line 616 of file WorkOrder.h.

Referenced by Isis::WorkOrder::listenForShapeDestruction(), Isis::WorkOrder::save(), Isis::WorkOrder::setData(), Isis::WorkOrder::shapeList(), and Isis::WorkOrder::WorkOrder().

◆ m_targetBody

TargetBodyQsp Isis::WorkOrder::m_targetBody
privateinherited

A QSharedPointer to the TargetBody (A Target object but encapsulated within a Gui framework.

Definition at line 597 of file WorkOrder.h.

Referenced by Isis::WorkOrder::setData(), Isis::WorkOrder::targetBody(), and Isis::WorkOrder::WorkOrder().

◆ m_template

Template* Isis::WorkOrder::m_template
privateinherited

A QSharedPointer to the Template (A Template object but encapsulated within a Gui framework.

Definition at line 590 of file WorkOrder.h.

Referenced by Isis::WorkOrder::getTemplate(), Isis::WorkOrder::setData(), and Isis::WorkOrder::WorkOrder().

◆ m_transparentConstMutex

QMutex* Isis::WorkOrder::m_transparentConstMutex
privateinherited

This is used to protect the integrity of data the WorkOrder is working on so that only one thread at a time cann access it.

Definition at line 642 of file WorkOrder.h.

Referenced by Isis::WorkOrder::imageList(), Isis::WorkOrder::shapeList(), Isis::WorkOrder::WorkOrder(), and Isis::WorkOrder::~WorkOrder().


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