Isis 3 Programmer Reference
ImportShapesWorkOrder.h
Go to the documentation of this file.
1 #ifndef ImportShapesWorkOrder_H
2 #define ImportShapesWorkOrder_H
3 
23 #include "WorkOrder.h"
24 
25 #include <functional>
26 
27 #include <QDir>
28 #include <QMutex>
29 
30 #include "IException.h"
31 
32 class QString;
33 
34 namespace Isis {
35  class Cube;
36  class FileName;
37  class ShapeList;
38 
67  Q_OBJECT
68  public:
72 
73  virtual ImportShapesWorkOrder *clone() const;
74 
75  virtual bool isExecutable(ProjectItem *item);
76  bool setupExecution();
77 
78  void execute();
79  void postExecution();
80  void undoExecution();
81  void postUndoExecution();
82 
83  private:
84  ImportShapesWorkOrder &operator=(const ImportShapesWorkOrder &rhs);
85 
96  public std::unary_function<const FileName &, Cube *> {
97  public:
99  QDir destinationFolder, bool copyDnData);
102 
103  Cube *operator()(const FileName &original);
104 
105  IException errors() const;
106 
107  private:
110 
114 
115  QMutex m_errorsLock;
118  };
119 
120  private:
121  void importConfirmedShapes(QStringList confirmedShapes, bool copyDnData);
122 
123  private:
126  QString m_warning;
127  };
128 }
129 #endif // ImportShapesWorkOrder_H
Internalizes a list of shapes and allows for operations on the entire list.
Definition: ShapeList.h:33
This copies the given shape model cube(s) into the project.
The main project for ipce.
Definition: Project.h:289
File name manipulation and expansion.
Definition: FileName.h:116
Cube * operator()(const FileName &original)
Creates ecubs and copies the DN data of the cubes, if m_copyDnData is true.
Add shape model cubes to a project.
void execute()
Creates a project shape folder and copies the shape cubes into it.
OriginalFileToProjectCubeFunctor & operator=(const OriginalFileToProjectCubeFunctor &rhs)
Not implemented.
void importConfirmedShapes(QStringList confirmedShapes, bool copyDnData)
Creates a project shape folder and copies the shape cubes into it.
void postExecution()
Add the imported shapes into the project.
virtual ImportShapesWorkOrder * clone() const
This method clones the current ImportShapesWorkOrder and returns it.
QDir m_destinationFolder
Directory where the DN data is going to be stored.
QString m_warning
QString of warning text.
IException errors() const
Returns the errors from importing.
void undoExecution()
delete the imported shapes from the disk.
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.
ShapeList * m_list
List of shapes this workorder added to the project.
ImportShapesWorkOrder(Project *project)
Creates a work order to import a shape model.
ShapeList * m_newShapes
List of shapes.
QSharedPointer< int > m_numErrors
Number of errors that have occured.
bool setupExecution()
Prompt the user for shape files to import and whether to copy DN data in to project.
void postUndoExecution()
delete the imported shapes from the project.
OriginalFileToProjectCubeFunctor(QThread *guiThread, QDir destinationFolder, bool copyDnData)
OriginalFileToProjectFunctor constructor.
Represents an item of a ProjectItemModel in Qt&#39;s model-view framework.
Definition: ProjectItem.h:146
QSharedPointer< IException > m_errors
Shared pointers for errors.
Isis exception class.
Definition: IException.h:107
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
virtual bool isExecutable(ProjectItem *item)
This method returns true if the user clicked on a project tree node with the text "Shapes"...
Project * project() const
Returns the Project this WorkOrder is attached to.
Definition: WorkOrder.cpp:1314
bool m_copyDnData
Stores if the user wants to copy the DN data or not.
IO Handler for Isis Cubes.
Definition: Cube.h:170