File failed to load: https://isis.astrogeology.usgs.gov/6.0.0/Object/assets/jax/output/NativeMML/config.js
Isis 3 Programmer Reference
ImportControlNetWorkOrder.h
Go to the documentation of this file.
1 #ifndef ImportControlNetWorkOrder_H
2 #define ImportControlNetWorkOrder_H
3 
25 #include "WorkOrder.h"
26 
27 #include <functional>
28 
29 #include <QDir>
30 #include <QFutureWatcher>
31 #include <QString>
32 
33 #include "IException.h"
34 
35 namespace Isis {
36  class Control;
37  class FileName;
38  class Progress;
39  class Project;
40 
73  Q_OBJECT
74  public:
78 
79  virtual ImportControlNetWorkOrder *clone() const;
80 
81  virtual bool isExecutable(ProjectItem *item);
82  bool setupExecution();
83  void execute();
84 
85  protected:
86  void postExecution();
87 
88  private slots:
89  void cnetReady(int ready);
90 
91  private:
93 // Control *createControls(const QString &cnetFilename);
94 
101  class CreateControlsFunctor : public std::unary_function<
102  const QPair<FileName, Progress *> &, Control *> {
103  public:
104  CreateControlsFunctor(Project *project, QDir destinationFolder);
105  Control *operator()(const QPair<FileName, Progress *> &cnetFilename);
106  IException errors() const;
107 
108  private:
112  };
113 
114  private:
118  QString m_warning;
119  };
120 }
121 #endif // ImportControlNetWorkOrder_H
Isis::ImportControlNetWorkOrder::m_list
ControlList * m_list
List of controls added to project.
Definition: ImportControlNetWorkOrder.h:116
Isis::ImportControlNetWorkOrder::CreateControlsFunctor::operator()
Control * operator()(const QPair< FileName, Progress * > &cnetFilename)
Reads and writes the control network(s) asynchronously.
Definition: ImportControlNetWorkOrder.cpp:255
QList
This is free and unencumbered software released into the public domain.
Definition: BoxcarCachingAlgorithm.h:13
Isis::WorkOrder
Provide Undo/redo abilities, serialization, and history for an operation.
Definition: WorkOrder.h:311
Isis::ImportControlNetWorkOrder::m_watcher
QFutureWatcher< Control * > * m_watcher
QFutureWatcher, allows for asynchronous import.
Definition: ImportControlNetWorkOrder.h:115
Isis::ControlList
Maintains a list of Controls so that control nets can easily be copied from one Project to another,...
Definition: ControlList.h:44
Isis::ImportControlNetWorkOrder::CreateControlsFunctor::m_project
Project * m_project
The project to import to.
Definition: ImportControlNetWorkOrder.h:109
Isis::ImportControlNetWorkOrder::m_warning
QString m_warning
String of any errors/warnings that occurred during import.
Definition: ImportControlNetWorkOrder.h:118
Isis::ImportControlNetWorkOrder::clone
virtual ImportControlNetWorkOrder * clone() const
This method clones the current ImportControlNetWorkOrder and returns it.
Definition: ImportControlNetWorkOrder.cpp:92
Isis::ImportControlNetWorkOrder::setupExecution
bool setupExecution()
Sets up the work order for execution.
Definition: ImportControlNetWorkOrder.cpp:126
Isis::Control
This represents an ISIS control net in a project-based GUI interface.
Definition: Control.h:66
QSharedPointer
Definition: JigsawWorkOrder.h:28
Isis::ImportControlNetWorkOrder::postExecution
void postExecution()
Clears progress.
Definition: ImportControlNetWorkOrder.cpp:199
Isis::ImportControlNetWorkOrder::ImportControlNetWorkOrder
ImportControlNetWorkOrder(Project *project)
Creates a work order to import a control network.
Definition: ImportControlNetWorkOrder.cpp:47
Isis::ImportControlNetWorkOrder::CreateControlsFunctor::errors
IException errors() const
Indicates if any errors occurred during the import.
Definition: ImportControlNetWorkOrder.cpp:239
Isis::Project
The main project for ipce.
Definition: Project.h:289
Isis::ImportControlNetWorkOrder::CreateControlsFunctor::m_destinationFolder
QDir m_destinationFolder
The directory to copy the control net too.
Definition: ImportControlNetWorkOrder.h:110
Isis::ImportControlNetWorkOrder::~ImportControlNetWorkOrder
~ImportControlNetWorkOrder()
Destructor.
Definition: ImportControlNetWorkOrder.cpp:81
Isis::ImportControlNetWorkOrder::m_readProgresses
QList< Progress * > m_readProgresses
Keeps track of import progress.
Definition: ImportControlNetWorkOrder.h:117
Isis::WorkOrder::project
Project * project() const
Returns the Project this WorkOrder is attached to.
Definition: WorkOrder.cpp:1300
Isis::ImportControlNetWorkOrder
Add control networks to a project c Asks the user for a list of control nets and copies them into the...
Definition: ImportControlNetWorkOrder.h:72
Isis::IException
Isis exception class.
Definition: IException.h:91
Isis::ImportControlNetWorkOrder::CreateControlsFunctor::m_errors
QSharedPointer< IException > m_errors
Stores any errors that occur during import.
Definition: ImportControlNetWorkOrder.h:111
QPair
This is free and unencumbered software released into the public domain.
Definition: CubeIoHandler.h:23
QFutureWatcher
This is free and unencumbered software released into the public domain.
Definition: AbstractTableModel.h:24
Isis::ImportControlNetWorkOrder::isExecutable
virtual bool isExecutable(ProjectItem *item)
This method returns true if the user clicked on a project tree node with the text "Control Networks".
Definition: ImportControlNetWorkOrder.cpp:107
Isis::ImportControlNetWorkOrder::CreateControlsFunctor::CreateControlsFunctor
CreateControlsFunctor(Project *project, QDir destinationFolder)
CreateControlsFunctor constructor.
Definition: ImportControlNetWorkOrder.cpp:223
Isis::ImportControlNetWorkOrder::cnetReady
void cnetReady(int ready)
Adds the control net to the project.
Definition: ImportControlNetWorkOrder.cpp:289
Isis::ImportControlNetWorkOrder::CreateControlsFunctor
Definition: ImportControlNetWorkOrder.h:102
Isis::ImportControlNetWorkOrder::execute
void execute()
Imports the control network asynchronously.
Definition: ImportControlNetWorkOrder.cpp:151
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::ProjectItem
Represents an item of a ProjectItemModel in Qt's model-view framework.
Definition: ProjectItem.h:134

U.S. Department of the Interior | U.S. Geological Survey
ISIS | Privacy & Disclaimers | Astrogeology Research Program
To contact us, please post comments and questions on the USGS Astrogeology Discussion Board
To report a bug, or suggest a feature go to: ISIS Github
File Modified: 07/13/2023 15:16:39