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