1#ifndef ImportControlNetWorkOrder_H
2#define ImportControlNetWorkOrder_H
30#include <QFutureWatcher>
33#include "IException.h"
102 Control *(const QPair<FileName, Progress *> &)> {
This represents an ISIS control net in a project-based GUI interface.
Maintains a list of Controls so that control nets can easily be copied from one Project to another,...
File name manipulation and expansion.
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.
Project * m_project
The project to import to.
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()
Destructor.
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".
void postExecution()
Clears progress.
Program progress reporter.
The main project for ipce.
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.
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.
This is free and unencumbered software released into the public domain.