18#include <QUndoCommand> 
   30class QXmlStreamWriter;
 
   42  class XmlStackedHandlerReader;
 
  361      void save(QXmlStreamWriter &stream) 
const;
 
  364      virtual void setData(QString data);
 
  465      bool isInStableState() 
const;
 
  466      void listenForImageDestruction();
 
  467      void listenForShapeDestruction();
 
  468      void resetProgressBar();
 
  469      void setProgressToFinalText();
 
  472      void attemptQueuedAction();
 
  473      void executionFinished();
 
  474      void clearImageList();
 
  475      void clearShapeList();
 
  476      void updateProgress();
 
  483      enum QueuedWorkOrderAction {
 
  501          virtual bool startElement(
const QString &namespaceURI, 
const QString &localName,
 
  502                                    const QString &qName, 
const QXmlAttributes &atts);
 
  505          Q_DISABLE_COPY(XmlHandler);
 
  549      bool m_createsCleanState;
 
  556      bool m_modifiesDiskState;
 
  558      QueuedWorkOrderAction m_queuedAction;
 
  563      int m_progressRangeMinValue;
 
  567      int m_progressRangeMaxValue;
 
  575      QPointer<ImageList> m_imageList;
 
  576      QPointer<ShapeList> m_shapeList;
 
  577      QPointer<ControlList> m_controlList;
 
  626      QPointer<WorkOrder> m_nextWorkOrder;
 
  631      QPointer<WorkOrder> m_previousWorkOrder;
 
  636      QPointer<Project> m_project;
 
  642      QMutex *m_transparentConstMutex;
 
  647      QDateTime m_executionTime;
 
  654      QPointer< QFutureWatcher<void> > m_futureWatcher;
 
  661      QPointer<ProgressBar> m_progressBar;
 
  666      QPointer<QTimer> m_progressBarUpdateTimer;
 
  671      QPointer<QTimer> m_progressBarDeletionTimer;
 
  677      QTime *m_elapsedTimer;
 
  682      double m_secondsElapsed;
 
Q_DECLARE_METATYPE(Isis::WorkOrder *)
This allows WorkOrder *'s to be stored in a QVariant.
 
Maintains a list of Controls so that control nets can easily be copied from one Project to another,...
Definition: ControlList.h:44
 
This is a container for the correlation matrix that comes from a bundle adjust.
Definition: CorrelationMatrix.h:61
 
Definition: Directory.h:271
 
Internalizes a list of images and allows for operations on the entire list.
Definition: ImageList.h:55
 
Definition: ProgressBar.h:15
 
The main project for ipce.
Definition: Project.h:289
 
Represents an item of a ProjectItemModel in Qt's model-view framework.
Definition: ProjectItem.h:134
 
Internalizes a list of shapes and allows for operations on the entire list.
Definition: ShapeList.h:33
 
Definition: Template.h:30
 
Provide Undo/redo abilities, serialization, and history for an operation.
Definition: WorkOrder.h:311
 
void creatingProgress(WorkOrder *)
 
void enableWorkOrder()
Enables the work order.
Definition: WorkOrder.cpp:1216
 
void setNext(WorkOrder *nextWorkOrder)
Sets the next WorkOrder in the sequence.
Definition: WorkOrder.cpp:611
 
void finished(WorkOrder *)
 
ShapeList * shapeList()
@briefReturns a pointer to the ShapeList for this WorkOrder.
Definition: WorkOrder.cpp:661
 
bool m_isSavedToHistory
Set the work order to be shown in the HistoryTreeWidget.
Definition: WorkOrder.h:537
 
void setProgressRange(int, int)
Sets the progress range of the WorkOrder.
Definition: WorkOrder.cpp:1356
 
int progressMax() const
Gets the maximum value of the progress range of the WorkOrder.
Definition: WorkOrder.cpp:1335
 
virtual void setData(Context)
Sets the context data for this WorkOrder.
Definition: WorkOrder.cpp:246
 
WorkOrder * next() const
Gets the next WorkOrder.
Definition: WorkOrder.cpp:932
 
bool modifiesDiskState() const
Returns the modified disk state.
Definition: WorkOrder.cpp:922
 
void read(XmlStackedHandlerReader *xmlReader)
Read this work order's data from disk.
Definition: WorkOrder.cpp:518
 
bool m_isSynchronous
This is defaulted to true.
Definition: WorkOrder.h:530
 
bool isUndoing() const
Returns the WorkOrderUndoing state.
Definition: WorkOrder.cpp:901
 
virtual void undoExecution()
Execute the steps necessary to undo this workorder.
Definition: WorkOrder.cpp:1432
 
virtual void postUndoExecution()
Perform any steps necessary after an undo of a workorder.
Definition: WorkOrder.cpp:1443
 
Template * getTemplate()
WorkOrder::getTemplate.
Definition: WorkOrder.cpp:734
 
void save(QXmlStreamWriter &stream) const
: Saves a WorkOrder to a data stream.
Definition: WorkOrder.cpp:542
 
bool isRedone() const
Returns the WorkOrder redone status.
Definition: WorkOrder.cpp:891
 
virtual void redo()
Starts (or enqueues) a redo.
Definition: WorkOrder.cpp:1041
 
WorkOrderStatus
This enumeration is used by other functions to set and retrieve the current state of the WorkOrder.
Definition: WorkOrder.h:321
 
@ WorkOrderUnknownStatus
Definition: WorkOrder.h:322
 
@ WorkOrderNotStarted
Definition: WorkOrder.h:323
 
@ WorkOrderUndone
Definition: WorkOrder.h:327
 
@ WorkOrderRedoing
Definition: WorkOrder.h:324
 
@ WorkOrderUndoing
Definition: WorkOrder.h:326
 
@ WorkOrderFinished
This is used for work orders that will not undo or redo (See createsCleanState())
Definition: WorkOrder.h:331
 
@ WorkOrderLastStatus
Definition: WorkOrder.h:332
 
@ WorkOrderRedone
Definition: WorkOrder.h:325
 
WorkOrderStatus m_status
Definition: WorkOrder.h:539
 
virtual void undo()
Starts (or enqueues) an undo.
Definition: WorkOrder.cpp:1144
 
int progressMin() const
Gets the minimum value of the progress range of the WorkOrder.
Definition: WorkOrder.cpp:1325
 
bool isUndoable() const
Returns true if this work order is undoable, otherwise false.
Definition: WorkOrder.cpp:817
 
WorkOrder * previous() const
Gets the previous WorkOrder.
Definition: WorkOrder.cpp:942
 
bool m_isUndoable
Set the workorder to be undoable/redoable This is defaulted to true - his will allow the workorder to...
Definition: WorkOrder.h:523
 
void setProgressValue(int)
Sets the current progress value for the WorkOrder.
Definition: WorkOrder.cpp:1366
 
static QString toString(WorkOrderStatus)
Gets the current status of the WorkOrder.
Definition: WorkOrder.cpp:1007
 
bool isUndone() const
Returns the WorkOrder undo status.
Definition: WorkOrder.cpp:911
 
virtual bool setupExecution()
This sets up the state for the work order.
Definition: WorkOrder.cpp:1259
 
void statusChanged(WorkOrder *)
 
bool isSavedToHistory() const
Returns true if this work order is to be shown in History, otherwise false.
Definition: WorkOrder.cpp:828
 
static WorkOrderStatus fromStatusString(QString)
Attempts to query the current status of the WorkOrder.
Definition: WorkOrder.cpp:986
 
bool isRedoing() const
Returns the redoing status of this WorkOrder.
Definition: WorkOrder.cpp:881
 
QStringList internalData() const
Gets the internal data for this WorkOrder.
Definition: WorkOrder.cpp:1375
 
QPointer< ControlList > controlList()
Returns the Control List for this WorkOrder (a list of control networks).
Definition: WorkOrder.cpp:704
 
Directory * directory() const
return the workorder project directory Returns the Directory object of the Project this WorkOrder is ...
Definition: WorkOrder.cpp:1288
 
virtual WorkOrder * clone() const =0
 
GuiCameraQsp guiCamera()
WorkOrder::guiCamera.
Definition: WorkOrder.cpp:754
 
void setCreatesCleanState(bool createsCleanState)
Declare that this work order is saving the project.
Definition: WorkOrder.cpp:1661
 
QString statusText() const
WorkOrder::statusText.
Definition: WorkOrder.cpp:952
 
QDateTime executionTime() const
Gets the execution time of this WorkOrder.
Definition: WorkOrder.cpp:862
 
virtual void execute()
Execute the workorder.
Definition: WorkOrder.cpp:1401
 
void setModifiesDiskState(bool changesProjectOnDisk)
Definition: WorkOrder.cpp:1672
 
void setPrevious(WorkOrder *previousWorkOrder)
Sets the previous WorkOrder in the sequence.
Definition: WorkOrder.cpp:620
 
virtual bool isExecutable(Context)
Re-implement this method if your work order utilizes controls for data in order to operate.
Definition: WorkOrder.cpp:180
 
void disableWorkOrder()
Disables the work order.
Definition: WorkOrder.cpp:1228
 
bool createsCleanState() const
Returns the CleanState status (whether the Project has been saved to disk or not).
Definition: WorkOrder.cpp:852
 
TargetBodyQsp targetBody()
WorkOrder::targetBody.
Definition: WorkOrder.cpp:744
 
void setInternalData(QStringList data)
Sets the internal data for this WorkOrder.
Definition: WorkOrder.cpp:1316
 
virtual bool dependsOn(WorkOrder *other) const
Indicate workorder dependency This is a virtual function whose role in child classes is to determine ...
Definition: WorkOrder.cpp:779
 
Project * project() const
Returns the Project this WorkOrder is attached to.
Definition: WorkOrder.cpp:1298
 
virtual ~WorkOrder()
The Destructor.
Definition: WorkOrder.cpp:155
 
ProgressBar * progressBar()
Returns the ProgressBar.
Definition: WorkOrder.cpp:973
 
void addCloneToProject()
Runs a copy of the current WorkOrder and stores it in the project.
Definition: WorkOrder.cpp:1450
 
ImageList * imageList()
Returns a pointer to the ImageList for this WorkOrder.
Definition: WorkOrder.cpp:629
 
bool isSynchronous() const
Returns true if this work order is run synchronously, otherwise false.
Definition: WorkOrder.cpp:839
 
Context
This enumeration is for recording the context of the current Workorder (whether it is part of a proje...
Definition: WorkOrder.h:339
 
@ NoContext
Definition: WorkOrder.h:340
 
@ ProjectContext
Definition: WorkOrder.h:341
 
QString bestText() const
Generate unique action names We don't use action text anymore because Directory likes to rename our a...
Definition: WorkOrder.cpp:793
 
int progressValue() const
Gets the current progress value of the WorkOrder.
Definition: WorkOrder.cpp:1345
 
bool isFinished() const
Returns the finished state of this WorkOrder.
Definition: WorkOrder.cpp:872
 
void deletingProgress(WorkOrder *)
 
virtual void postExecution()
Perform any necessary actions after execution of a workorder.
Definition: WorkOrder.cpp:1412
 
CorrelationMatrix correlationMatrix()
Returns the CorrleationMatrix for this WorkOrder.
Definition: WorkOrder.cpp:694
 
FileItemQsp fileItem()
WorkOrder::fileItem.
Definition: WorkOrder.cpp:764
 
XML Handler that parses XMLs in a stack-oriented way.
Definition: XmlStackedHandler.h:118
 
Manage a stack of content handlers for reading XML files.
Definition: XmlStackedHandlerReader.h:30
 
This is free and unencumbered software released into the public domain.
Definition: AbstractTableModel.h:24
 
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16