Isis Developer Reference
ExportImagesWorkOrder.h
Go to the documentation of this file.
1 #ifndef ExportImagesWorkOrder_H
2 #define ExportImagesWorkOrder_H
3 
4 #include "WorkOrder.h"
5 
6 #include <functional>
7 
8 #include <QMutex>
9 
10 namespace Isis {
11  class IException;
12  class Image;
13 
34  Q_OBJECT
35  public:
39 
40  virtual ExportImagesWorkOrder *clone() const;
41 
42  bool isExecutable(ImageList *images);
43 
44 
45  bool setupExecution();
46 
47  void execute();
48  void postExecution();
49 
50  private:
61  class ProjectImageExportFunctor : public std::unary_function<Image * const &, void *> {
62  public:
63  ProjectImageExportFunctor(QString destination);
64  ProjectImageExportFunctor(const ProjectImageExportFunctor &other);
65  ~ProjectImageExportFunctor();
66 
67  void *operator()(Image * const &imageToExport);
68 
69  IException errors() const;
70 
71  private:
73  ProjectImageExportFunctor &operator=(const ProjectImageExportFunctor &rhs);
74 
75  QString m_destination;
76 
77  QMutex m_errorsLock;
79  QSharedPointer<int> m_numErrors;
80  };
81 
82  private:
83  ExportImagesWorkOrder &operator=(const ExportImagesWorkOrder &rhs);
84 
85  QString m_warning;
86  };
87 }
88 
89 #endif
FileName.h
Cube.h
Isis::WorkOrder::setupExecution
virtual bool setupExecution()
This sets up the state for the work order.
Definition: WorkOrder.cpp:1261
Isis::ExportImagesWorkOrder::ExportImagesWorkOrder
ExportImagesWorkOrder(Project *project)
Definition: ExportImagesWorkOrder.cpp:42
Isis::WorkOrder
Provide Undo/redo abilities, serialization, and history for an operation.
Definition: WorkOrder.h:311
Project.h
ExportImagesWorkOrder.h
Isis::WorkOrder::imageList
ImageList * imageList()
Returns a pointer to the ImageList for this WorkOrder.
Definition: WorkOrder.cpp:631
Isis::ExportImagesWorkOrder::postExecution
void postExecution()
Display any warnings that occurred during the asynchronous computations.
Definition: ExportImagesWorkOrder.cpp:167
Isis::IException::Unknown
@ Unknown
A type of error that cannot be classified as any of the other error types.
Definition: IException.h:118
Isis::WorkOrder::setInternalData
void setInternalData(QStringList data)
Sets the internal data for this WorkOrder.
Definition: WorkOrder.cpp:1318
Image.h
Isis::ExportImagesWorkOrder::~ExportImagesWorkOrder
~ExportImagesWorkOrder()
Definition: ExportImagesWorkOrder.cpp:58
QSharedPointer
Definition: JigsawWorkOrder.h:28
Isis::ExportImagesWorkOrder
Write project images to a user-specified location.
Definition: ExportImagesWorkOrder.h:33
Isis::WorkOrder::m_isSynchronous
bool m_isSynchronous
This is defaulted to true.
Definition: WorkOrder.h:530
QStringList
IString.h
Isis::Project
The main project for ipce.
Definition: Project.h:289
Isis::ImageList
Internalizes a list of images and allows for operations on the entire list.
Definition: ImageList.h:55
WorkOrder.h
Isis::WorkOrder::m_isUndoable
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
_FILEINFO_
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
Isis::Project::warn
void warn(QString text, Data relevantData)
Definition: Project.cpp:2643
Isis::ImageList::name
QString name() const
Get the human-readable name of this image list.
Definition: ImageList.cpp:724
Isis::WorkOrder::project
Project * project() const
Returns the Project this WorkOrder is attached to.
Definition: WorkOrder.cpp:1300
ImageList.h
Isis::Image
This represents a cube in a project-based GUI interface.
Definition: Image.h:107
Isis::IException
Isis exception class.
Definition: IException.h:91
Isis::WorkOrder::setProgressRange
void setProgressRange(int, int)
Sets the progress range of the WorkOrder.
Definition: WorkOrder.cpp:1358
Isis::ExportImagesWorkOrder::execute
void execute()
Use internalData() and write the images into the output directory.
Definition: ExportImagesWorkOrder.cpp:134
IException.h
Isis::ExportImagesWorkOrder::isExecutable
bool isExecutable(ImageList *images)
Currently, this work order only works with either no data (file menu) or with any number of images.
Definition: ExportImagesWorkOrder.cpp:76
Isis::WorkOrder::setProgressValue
void setProgressValue(int)
Sets the current progress value for the WorkOrder.
Definition: WorkOrder.cpp:1368
Isis::WorkOrder::internalData
QStringList internalData() const
Gets the internal data for this WorkOrder.
Definition: WorkOrder.cpp:1377
Isis::ExportImagesWorkOrder::clone
virtual ExportImagesWorkOrder * clone() const
Definition: ExportImagesWorkOrder.cpp:63
Isis::Project::imageList
ImageList * imageList(QString name)
Return an imagelist given its name.
Definition: Project.cpp:1520
CubeAttribute.h
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::ExportImagesWorkOrder::setupExecution
bool setupExecution()
Prompts the user for input.
Definition: ExportImagesWorkOrder.cpp:91