File failed to load: https://isis.astrogeology.usgs.gov/9.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
25#include "WorkOrder.h"
26
27#include <functional>
28
29#include <QDir>
30#include <QFutureWatcher>
31#include <QString>
32
33#include "IException.h"
34
35namespace 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::function<
102 Control *(const QPair<FileName, Progress *> &)> {
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
This represents an ISIS control net in a project-based GUI interface.
Definition Control.h:65
Maintains a list of Controls so that control nets can easily be copied from one Project to another,...
Definition ControlList.h:42
File name manipulation and expansion.
Definition FileName.h:100
Isis exception class.
Definition IException.h:91
QSharedPointer< IException > m_errors
Stores any errors that occur during import.
Control * operator()(const QPair< FileName, Progress * > &cnetFilename)
Reads and writes the control network(s) asynchronously.
IException errors() const
Indicates if any errors occurred during the import.
CreateControlsFunctor(Project *project, QDir destinationFolder)
CreateControlsFunctor constructor.
QDir m_destinationFolder
The directory to copy the control net too.
QList< Progress * > m_readProgresses
Keeps track of import progress.
ImportControlNetWorkOrder(Project *project)
Creates a work order to import a control network.
void execute()
Imports the control network asynchronously.
void cnetReady(int ready)
Adds the control net to the project.
bool setupExecution()
Sets up the work order for execution.
ControlList * m_list
List of controls added to project.
QString m_warning
String of any errors/warnings that occurred during import.
virtual ImportControlNetWorkOrder * clone() const
This method clones the current ImportControlNetWorkOrder and returns it.
QFutureWatcher< Control * > * m_watcher
QFutureWatcher, allows for asynchronous import.
virtual bool isExecutable(ProjectItem *item)
This method returns true if the user clicked on a project tree node with the text "Control Networks".
Program progress reporter.
Definition Progress.h:42
The main project for ipce.
Definition Project.h:287
Represents an item of a ProjectItemModel in Qt's model-view framework.
Project * project() const
Returns the Project this WorkOrder is attached to.
WorkOrder(Project *project)
Create a work order that will work with the given project.
Definition WorkOrder.cpp:38
This is free and unencumbered software released into the public domain.
This is free and unencumbered software released into the public domain.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16
This is free and unencumbered software released into the public domain.