Isis 3.0 Developer's Reference (API) |
Home |
Write a project control network to a user-specified location. More...
#include <ExportControlNetWorkOrder.h>
Inherits Isis::WorkOrder.
Public Types | |
enum | WorkOrderStatus { WorkOrderUnknownStatus = 0, WorkOrderNotStarted, WorkOrderRedoing, WorkOrderRedone, WorkOrderUndoing, WorkOrderUndone, WorkOrderFinished, WorkOrderLastStatus = WorkOrderFinished } |
enum | Context { NoContext, ProjectContext } |
Public Slots | |
virtual void | redo () |
Starts (or enqueues) a redo. | |
virtual void | undo () |
Starts (or enqueues) an undo. | |
Signals | |
void | creatingProgress (WorkOrder *) |
void | deletingProgress (WorkOrder *) |
void | finished (WorkOrder *) |
void | statusChanged (WorkOrder *) |
Public Member Functions | |
ExportControlNetWorkOrder (Project *project) | |
ExportControlNetWorkOrder (const ExportControlNetWorkOrder &other) | |
~ExportControlNetWorkOrder () | |
virtual ExportControlNetWorkOrder * | clone () const |
bool | isExecutable (QList< Control * > controls) |
Currently, this work order only works with either no data (file menu) or with a single control network. | |
bool | execute () |
Prompts the user for input. | |
void | asyncRedo () |
Use internalData() and write the control network into the output file. | |
void | postSyncRedo () |
Display any warnings that occurred during the asynchronous computations. | |
virtual bool | isExecutable (Context) |
Re-implement this method if your work order utilizes controls for data in order to operate. | |
virtual bool | isExecutable (ImageList *images) |
Re-implement this method if your work order utilizes images for data in order to operate. | |
void | read (XmlStackedHandlerReader *xmlReader) |
Read this work order's data from disk. | |
void | save (QXmlStreamWriter &stream) const |
Output XML format: | |
virtual void | setData (Context) |
virtual void | setData (ImageList *images) |
virtual void | setData (QList< Control * > controls) |
void | setNext (WorkOrder *nextWorkOrder) |
void | setPrevious (WorkOrder *previousWorkOrder) |
QString | bestText () const |
bool | createsCleanState () const |
QDateTime | executionTime () const |
bool | isFinished () const |
bool | isRedoing () const |
bool | isRedone () const |
bool | isUndoing () const |
bool | isUndone () const |
bool | modifiesDiskState () const |
WorkOrder * | next () const |
WorkOrder * | previous () const |
QString | statusText () const |
ProgressBar * | progressBar () |
Static Public Member Functions | |
static WorkOrderStatus | fromStatusString (QString) |
static QString | toString (WorkOrderStatus) |
Protected Slots | |
void | addCloneToProject () |
Protected Member Functions | |
ImageList * | imageList () |
const ImageList * | imageList () const |
QList< Control * > | controlList () |
virtual bool | dependsOn (WorkOrder *other) const |
Directory * | directory () const |
Project * | project () const |
void | setCreatesCleanState (bool createsCleanState) |
Declare that this work order is saving the project. | |
void | setModifiesDiskState (bool changesProjectOnDisk) |
void | setInternalData (QStringList data) |
int | progressMin () const |
int | progressMax () const |
int | progressValue () const |
void | setProgressRange (int, int) |
void | setProgressValue (int) |
QStringList | internalData () const |
virtual void | syncRedo () |
This method is designed to be implemented by children work orders. | |
virtual void | syncUndo () |
This method is designed to be implemented by children work orders. | |
virtual void | asyncUndo () |
This method is designed to be implemented by children work orders. | |
virtual void | postSyncUndo () |
This method is designed to be implemented by children work orders. | |
Write a project control network to a user-specified location.
Takes a control and writes it's controlNet to disk at a user-specified location. This works both with and without context (context menus and file menu).
internalData() stores: Control ID [OPTIONAL] - need context if this isn't present (see controlList()) Output File Name [REQUIRED]
|
inherited |
|
inherited |
Enumerator | |
---|---|
WorkOrderUnknownStatus | |
WorkOrderNotStarted | |
WorkOrderRedoing | |
WorkOrderRedone | |
WorkOrderUndoing | |
WorkOrderUndone | |
WorkOrderFinished |
This is used for work orders that will not undo or redo (See createsCleanState()) |
WorkOrderLastStatus |
Isis::ExportControlNetWorkOrder::ExportControlNetWorkOrder | ( | Project * | project | ) |
Referenced by clone().
Isis::ExportControlNetWorkOrder::ExportControlNetWorkOrder | ( | const ExportControlNetWorkOrder & | other | ) |
Isis::ExportControlNetWorkOrder::~ExportControlNetWorkOrder | ( | ) |
|
protectedslotinherited |
References Isis::Project::addToProject(), Isis::WorkOrder::clone(), and Isis::WorkOrder::project().
Referenced by Isis::WorkOrder::WorkOrder().
|
virtual |
Use internalData() and write the control network into the output file.
Stores errors in m_warning which will be reported in postSyncRedo().
Reimplemented from Isis::WorkOrder.
References Isis::Project::control(), Isis::WorkOrder::controlList(), Isis::Control::controlNet(), Isis::WorkOrder::internalData(), Isis::WorkOrder::project(), Isis::IException::toString(), and Isis::ControlNet::Write().
|
protectedvirtualinherited |
This method is designed to be implemented by children work orders.
The order of execution for undo is: syncUndo() - GUI thread asyncUndo() - Pooled thread* postSyncUndo() - GUI thread
State can be read from the parent WorkOrder class and from state set in syncUndo() 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(). Please do not manipulate any GUI objects here.
Reimplemented in Isis::ImportImagesWorkOrder.
Referenced by Isis::WorkOrder::undo().
|
inherited |
Referenced by Isis::WorkOrder::redo(), Isis::WorkOrder::save(), and Isis::WorkOrder::undo().
|
virtual |
Implements Isis::WorkOrder.
References ExportControlNetWorkOrder().
|
inherited |
|
signalinherited |
|
signalinherited |
|
protectedvirtualinherited |
Reimplemented in Isis::RenameProjectWorkOrder, Isis::CubeViewportViewWorkOrder, Isis::Footprint2DViewWorkOrder, and Isis::CnetEditorViewWorkOrder.
Referenced by Isis::WorkOrder::redo().
|
protectedinherited |
References Isis::Project::directory(), and Isis::WorkOrder::project().
Referenced by Isis::MosaicSceneWorkOrder::scene(), Isis::Footprint2DViewWorkOrder::syncRedo(), Isis::CubeViewportViewWorkOrder::syncRedo(), Isis::ImageFileListViewWorkOrder::syncRedo(), and Isis::ImageFileListViewWorkOrder::syncUndo().
|
virtual |
Prompts the user for input.
If there is no context, we ask the user to select a control. Once we have a control (via context or asking the user), we then ask for a output cnet file name. The relevant data is stored in internalData().
Reimplemented from Isis::WorkOrder.
References Isis::WorkOrder::controlList(), Isis::DisplayProperties::displayName(), Isis::Control::displayProperties(), Isis::WorkOrder::execute(), Isis::Control::fileName(), Isis::Control::id(), Isis::WorkOrder::internalData(), Isis::ControlList::name(), Isis::WorkOrder::project(), and Isis::WorkOrder::setInternalData().
|
inherited |
|
signalinherited |
Referenced by Isis::WorkOrder::redo(), Isis::WorkOrder::undo(), and Isis::WorkOrder::WorkOrder().
|
staticinherited |
|
protectedinherited |
References Isis::Project::image(), and Isis::WorkOrder::project().
Referenced by Isis::ExportImagesWorkOrder::asyncRedo(), Isis::ExportImagesWorkOrder::execute(), Isis::CubeViewportViewWorkOrder::execute(), Isis::Footprint2DViewWorkOrder::execute(), Isis::ImageFileListViewWorkOrder::execute(), Isis::ImageListActionWorkOrder::execute(), Isis::WorkOrder::imageList(), Isis::ImageListActionWorkOrder::ImageListActionWorkOrder(), Isis::WorkOrder::redo(), Isis::MosaicSceneWorkOrder::restoreZPositions(), Isis::ImageListActionWorkOrder::setData(), Isis::MoveToBottomSceneWorkOrder::syncRedo(), Isis::MoveDownOneSceneWorkOrder::syncRedo(), Isis::MoveUpOneSceneWorkOrder::syncRedo(), Isis::MoveToTopSceneWorkOrder::syncRedo(), Isis::CubeViewportViewWorkOrder::syncRedo(), Isis::Footprint2DViewWorkOrder::syncRedo(), Isis::ImageFileListViewWorkOrder::syncRedo(), Isis::ImageListActionWorkOrder::syncRedo(), Isis::CubeViewportViewWorkOrder::syncUndo(), Isis::Footprint2DViewWorkOrder::syncUndo(), and Isis::ImageListActionWorkOrder::syncUndo().
|
protectedinherited |
References Isis::WorkOrder::imageList().
|
protectedinherited |
Referenced by asyncRedo(), Isis::ExportImagesWorkOrder::asyncRedo(), Isis::ImportImagesWorkOrder::asyncRedo(), execute(), Isis::ExportImagesWorkOrder::execute(), Isis::Footprint2DViewWorkOrder::execute(), Isis::CubeViewportViewWorkOrder::execute(), Isis::RenameProjectWorkOrder::execute(), Isis::ImageFileListViewWorkOrder::execute(), Isis::ImportControlNetWorkOrder::execute(), Isis::ImageListActionWorkOrder::execute(), Isis::ImageListActionWorkOrder::ImageListActionWorkOrder(), Isis::RenameProjectWorkOrder::RenameProjectWorkOrder(), Isis::MosaicSceneWorkOrder::restoreZPositions(), Isis::MosaicSceneWorkOrder::scene(), Isis::ImageListActionWorkOrder::setData(), Isis::MosaicSceneWorkOrder::storeZPositions(), Isis::CubeViewportViewWorkOrder::syncRedo(), Isis::Footprint2DViewWorkOrder::syncRedo(), Isis::ImageFileListViewWorkOrder::syncRedo(), Isis::RenameProjectWorkOrder::syncRedo(), Isis::ImportControlNetWorkOrder::syncRedo(), Isis::ImageListActionWorkOrder::syncRedo(), Isis::CubeViewportViewWorkOrder::syncUndo(), Isis::Footprint2DViewWorkOrder::syncUndo(), Isis::ImageFileListViewWorkOrder::syncUndo(), Isis::RenameProjectWorkOrder::syncUndo(), and Isis::ImageListActionWorkOrder::syncUndo().
Currently, this work order only works with either no data (file menu) or with a single control network.
controls | The current context we're inquiring about |
Reimplemented from Isis::WorkOrder.
|
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.
Reimplemented in Isis::RenameProjectWorkOrder.
Referenced by Isis::Directory::supportedActions().
|
virtualinherited |
Re-implement this method if your work order utilizes images for data in order to operate.
For example, "Footprint2DViewWorkOrder" works sometimes on images - the logic in side of Footprint2DViewWorkOrder::isExecutable(ImageList) determines whethere or not a user is prompted with this work order as a possibility.
images | An image list that this work order should execute on |
Reimplemented in Isis::ImageListActionWorkOrder, Isis::ImageFileListViewWorkOrder, Isis::CubeViewportViewWorkOrder, Isis::Footprint2DViewWorkOrder, and Isis::ExportImagesWorkOrder.
|
inherited |
References Isis::WorkOrder::WorkOrderFinished.
Referenced by Isis::WorkOrder::redo(), and Isis::WorkOrder::undo().
|
inherited |
References Isis::WorkOrder::WorkOrderRedoing.
Referenced by Isis::WorkOrder::redo(), and Isis::WorkOrder::undo().
|
inherited |
References Isis::WorkOrder::WorkOrderRedone.
Referenced by Isis::WorkOrder::redo().
|
inherited |
References Isis::WorkOrder::WorkOrderUndoing.
Referenced by Isis::Project::lastNotUndoneWorkOrder(), Isis::WorkOrder::redo(), and Isis::WorkOrder::undo().
|
inherited |
References Isis::WorkOrder::WorkOrderUndone.
Referenced by Isis::Project::lastNotUndoneWorkOrder(), and Isis::WorkOrder::undo().
|
inherited |
Referenced by Isis::Project::~Project().
|
inherited |
Referenced by Isis::WorkOrder::undo().
|
virtual |
Display any warnings that occurred during the asynchronous computations.
Reimplemented from Isis::WorkOrder.
References Isis::WorkOrder::project(), and Isis::Project::warn().
|
protectedvirtualinherited |
This method is designed to be implemented by children work orders.
The order of execution for undo is: syncUndo() - GUI thread asyncUndo() - Pooled thread postSyncUndo() - GUI thread*
State can be read from the parent WorkOrder class and from state set in either syncUndo() or asyncUndo() 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::ImportImagesWorkOrder.
|
inherited |
Referenced by Isis::Project::addToProject(), Isis::Project::lastNotUndoneWorkOrder(), and Isis::WorkOrder::redo().
|
inherited |
Referenced by Isis::OpenProjectWorkOrder::execute().
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
References _FILEINFO_, and Isis::IException::Programmer.
Referenced by Isis::WorkOrder::addCloneToProject(), asyncRedo(), Isis::ExportImagesWorkOrder::asyncRedo(), Isis::ImportImagesWorkOrder::asyncUndo(), Isis::WorkOrder::directory(), execute(), Isis::ExportImagesWorkOrder::execute(), Isis::Footprint2DViewWorkOrder::execute(), Isis::CubeViewportViewWorkOrder::execute(), Isis::OpenProjectWorkOrder::execute(), Isis::RenameProjectWorkOrder::execute(), Isis::ImageFileListViewWorkOrder::execute(), Isis::SaveProjectWorkOrder::execute(), Isis::SaveProjectAsWorkOrder::execute(), Isis::ImportImagesWorkOrder::execute(), Isis::WorkOrder::imageList(), postSyncRedo(), Isis::ExportImagesWorkOrder::postSyncRedo(), Isis::ImportImagesWorkOrder::postSyncRedo(), Isis::ImportImagesWorkOrder::postSyncUndo(), Isis::WorkOrder::redo(), Isis::CnetEditorViewWorkOrder::syncRedo(), Isis::CubeViewportViewWorkOrder::syncRedo(), Isis::Footprint2DViewWorkOrder::syncRedo(), Isis::ImageFileListViewWorkOrder::syncRedo(), Isis::RenameProjectWorkOrder::syncRedo(), Isis::ImportControlNetWorkOrder::syncRedo(), Isis::CnetEditorViewWorkOrder::syncUndo(), Isis::CubeViewportViewWorkOrder::syncUndo(), Isis::Footprint2DViewWorkOrder::syncUndo(), Isis::ImageFileListViewWorkOrder::syncUndo(), Isis::RenameProjectWorkOrder::syncUndo(), Isis::ImportControlNetWorkOrder::syncUndo(), and Isis::WorkOrder::WorkOrder().
|
inherited |
Read this work order's data from disk.
References Isis::XmlStackedHandlerReader::pushContentHandler().
|
virtualslotinherited |
Starts (or enqueues) a redo.
This should not be re-implemented by children.
References Isis::WorkOrder::asyncRedo(), Isis::WorkOrder::bestText(), Isis::WorkOrder::dependsOn(), Isis::WorkOrder::finished(), Isis::WorkOrder::imageList(), Isis::WorkOrder::isFinished(), Isis::WorkOrder::isRedoing(), Isis::WorkOrder::isRedone(), Isis::WorkOrder::isUndoing(), Isis::WorkOrder::previous(), Isis::WorkOrder::project(), Isis::WorkOrder::statusChanged(), Isis::WorkOrder::syncRedo(), and Isis::WorkOrder::WorkOrderRedoing.
|
inherited |
Output XML format:
<workOrder actiontext="..." undotext="..." type="..." status="..."> <images> <image id="..."> </images>
<internalDataValues> <dataValue value="..."> </internalDataValues> </workOrder>
References _FILEINFO_, Isis::WorkOrder::bestText(), Isis::WorkOrder::NoContext, Isis::WorkOrder::toString(), and Isis::IException::Unknown.
|
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 is marked as a 'clean' state of the project. The QUndoCommand undo/redo will never be called. The default for createsCleanState is false.
createsCleanState | True if this work order is going to save the project to disk |
References Isis::WorkOrder::createsCleanState().
Referenced by Isis::OpenProjectWorkOrder::OpenProjectWorkOrder(), Isis::SaveProjectAsWorkOrder::SaveProjectAsWorkOrder(), and Isis::SaveProjectWorkOrder::SaveProjectWorkOrder().
|
virtualinherited |
|
virtualinherited |
Reimplemented in Isis::ImageListActionWorkOrder.
|
protectedinherited |
Referenced by execute(), Isis::ExportImagesWorkOrder::execute(), Isis::CubeViewportViewWorkOrder::execute(), Isis::Footprint2DViewWorkOrder::execute(), Isis::RenameProjectWorkOrder::execute(), Isis::ImageFileListViewWorkOrder::execute(), Isis::ImportControlNetWorkOrder::execute(), Isis::ImportImagesWorkOrder::execute(), Isis::ImageListActionWorkOrder::execute(), Isis::ImageListActionWorkOrder::ImageListActionWorkOrder(), Isis::MosaicSceneWorkOrder::MosaicSceneWorkOrder(), Isis::RenameProjectWorkOrder::RenameProjectWorkOrder(), Isis::MosaicSceneWorkOrder::storeZPositions(), Isis::ImageListActionWorkOrder::syncRedo(), and Isis::ImageListActionWorkOrder::syncUndo().
|
protectedinherited |
|
inherited |
Referenced by Isis::Project::addToProject().
|
inherited |
Referenced by Isis::Project::addToProject().
|
protectedinherited |
Referenced by Isis::ExportImagesWorkOrder::asyncRedo(), and Isis::ImportControlNetWorkOrder::asyncRedo().
|
protectedinherited |
Referenced by Isis::ExportImagesWorkOrder::asyncRedo(), and Isis::ImportControlNetWorkOrder::asyncRedo().
|
signalinherited |
Referenced by Isis::WorkOrder::execute(), Isis::WorkOrder::redo(), and Isis::WorkOrder::undo().
|
inherited |
References Isis::WorkOrder::toString().
|
protectedvirtualinherited |
This method is designed to be implemented by children work orders.
The order of execution for redo is: syncRedo() - GUI thread* asyncRedo() - Pooled thread postSyncRedo() - GUI thread
State should only be read from the parent WorkOrder class in this method. You can set state to be used in asyncRedo() and postSyncRedo() safely. This method is always executed in the GUI thread and has no progress.
Reimplemented in Isis::ImageListActionWorkOrder, Isis::ImportControlNetWorkOrder, Isis::RenameProjectWorkOrder, Isis::ImageFileListViewWorkOrder, Isis::CubeViewportViewWorkOrder, Isis::Footprint2DViewWorkOrder, Isis::CnetEditorViewWorkOrder, Isis::MoveDownOneSceneWorkOrder, Isis::MoveToBottomSceneWorkOrder, Isis::MoveToTopSceneWorkOrder, and Isis::MoveUpOneSceneWorkOrder.
Referenced by Isis::WorkOrder::redo().
|
protectedvirtualinherited |
This method is designed to be implemented by children work orders.
The order of execution for undo is: syncUndo() - GUI thread* asyncUndo() - Pooled thread postSyncUndo() - GUI thread
State should only be read from the parent WorkOrder class in this method. You can set state to be used in asyncUndo() and postSyncUndo() safely. This method is always executed in the GUI thread and has no progress.
Reimplemented in Isis::ImageListActionWorkOrder, Isis::ImportControlNetWorkOrder, Isis::RenameProjectWorkOrder, Isis::ImageFileListViewWorkOrder, Isis::CubeViewportViewWorkOrder, Isis::Footprint2DViewWorkOrder, Isis::CnetEditorViewWorkOrder, Isis::MoveDownOneSceneWorkOrder, Isis::MoveToBottomSceneWorkOrder, Isis::MoveToTopSceneWorkOrder, and Isis::MoveUpOneSceneWorkOrder.
Referenced by Isis::WorkOrder::undo().
|
staticinherited |
References Isis::WorkOrder::WorkOrderFinished, Isis::WorkOrder::WorkOrderNotStarted, Isis::WorkOrder::WorkOrderRedoing, Isis::WorkOrder::WorkOrderRedone, Isis::WorkOrder::WorkOrderUndoing, Isis::WorkOrder::WorkOrderUndone, and Isis::WorkOrder::WorkOrderUnknownStatus.
Referenced by Isis::WorkOrder::fromStatusString(), Isis::WorkOrder::save(), and Isis::WorkOrder::statusText().
|
virtualslotinherited |
Starts (or enqueues) an undo.
This should not be re-implemented by children.
References Isis::WorkOrder::asyncUndo(), Isis::WorkOrder::bestText(), Isis::WorkOrder::finished(), Isis::WorkOrder::isFinished(), Isis::WorkOrder::isRedoing(), Isis::WorkOrder::isUndoing(), Isis::WorkOrder::isUndone(), Isis::WorkOrder::next(), Isis::WorkOrder::statusChanged(), Isis::WorkOrder::syncUndo(), Isis::WorkOrder::WorkOrderNotStarted, and Isis::WorkOrder::WorkOrderUndoing.