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
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
bool setupExecution()
Prompts the user for input.
Provide Undo/redo abilities, serialization, and history for an operation.
Definition: WorkOrder.h:322
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
void postExecution()
Display any warnings that occurred during the asynchronous computations.
void execute()
Use internalData() and write the images into the output directory.
This represents a cube in a project-based GUI interface.
Definition: Image.h:107
ProjectImageExportFunctor(QString destination)
Create an image export functor that will copy the image&#39;s cubes into the given destination directory...
bool isExecutable(ImageList *images)
Currently, this work order only works with either no data (file menu) or with any number of images...
ProjectImageExportFunctor & operator=(const ProjectImageExportFunctor &rhs)
Not implemented.
Isis exception class.
Definition: IException.h:107
This functor is meant for QtConcurrentMap.
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
Write project images to a user-specified location.
Project * project() const
Returns the Project this WorkOrder is attached to.
Definition: WorkOrder.cpp:1314
IException errors() const
Get the accumulated error list from this functor&#39;s run.
void * operator()(Image *const &imageToExport)
Write the given image&#39;s cube into the destination folder (preserves the base name).