Isis 3 Programmer Reference
ExportImagesWorkOrder.h
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);
66 
67  void *operator()(Image * const &imageToExport);
68 
69  IException errors() const;
70 
71  private:
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
Isis::WorkOrder
Provide Undo/redo abilities, serialization, and history for an operation.
Definition: WorkOrder.h:311
Isis::ExportImagesWorkOrder::postExecution
void postExecution()
Display any warnings that occurred during the asynchronous computations.
Definition: ExportImagesWorkOrder.cpp:167
Isis::ExportImagesWorkOrder::ProjectImageExportFunctor::errors
IException errors() const
Get the accumulated error list from this functor's run.
Definition: ExportImagesWorkOrder.cpp:242
Isis::ExportImagesWorkOrder::ProjectImageExportFunctor::operator=
ProjectImageExportFunctor & operator=(const ProjectImageExportFunctor &rhs)
Not implemented.
QSharedPointer
Definition: JigsawWorkOrder.h:28
Isis::ExportImagesWorkOrder
Write project images to a user-specified location.
Definition: ExportImagesWorkOrder.h:33
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
Isis::ExportImagesWorkOrder::ProjectImageExportFunctor::ProjectImageExportFunctor
ProjectImageExportFunctor(QString destination)
Create an image export functor that will copy the image's cubes into the given destination directory.
Definition: ExportImagesWorkOrder.cpp:181
Isis::ExportImagesWorkOrder::ProjectImageExportFunctor::~ProjectImageExportFunctor
~ProjectImageExportFunctor()
Destroys the functor.
Definition: ExportImagesWorkOrder.cpp:205
Isis::ExportImagesWorkOrder::ProjectImageExportFunctor::operator()
void * operator()(Image *const &imageToExport)
Write the given image's cube into the destination folder (preserves the base name).
Definition: ExportImagesWorkOrder.cpp:216
Isis::WorkOrder::project
Project * project() const
Returns the Project this WorkOrder is attached to.
Definition: WorkOrder.cpp:1300
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::ExportImagesWorkOrder::execute
void execute()
Use internalData() and write the images into the output directory.
Definition: ExportImagesWorkOrder.cpp:134
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::ExportImagesWorkOrder::ProjectImageExportFunctor
This functor is meant for QtConcurrentMap.
Definition: ExportImagesWorkOrder.h:61
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