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
10namespace 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::function<void *(Image * const &)> {
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;
78 QSharedPointer<IException> m_errors;
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
Write project images to a user-specified location.
Definition ExportImagesWorkOrder.h:33
void postExecution()
Display any warnings that occurred during the asynchronous computations.
Definition ExportImagesWorkOrder.cpp:167
bool setupExecution()
Prompts the user for input.
Definition ExportImagesWorkOrder.cpp:91
ExportImagesWorkOrder(Project *project)
Definition ExportImagesWorkOrder.cpp:42
virtual ExportImagesWorkOrder * clone() const
Definition ExportImagesWorkOrder.cpp:63
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
void execute()
Use internalData() and write the images into the output directory.
Definition ExportImagesWorkOrder.cpp:134
~ExportImagesWorkOrder()
Definition ExportImagesWorkOrder.cpp:58
Isis exception class.
Definition IException.h:91
This represents a cube in a project-based GUI interface.
Definition Image.h:107
Internalizes a list of images and allows for operations on the entire list.
Definition ImageList.h:55
The main project for ipce.
Definition Project.h:289
Provide Undo/redo abilities, serialization, and history for an operation.
Definition WorkOrder.h:311
Project * project() const
Returns the Project this WorkOrder is attached to.
Definition WorkOrder.cpp:1298
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16