23#include "ExportControlNetWorkOrder.h"
27#include <QInputDialog>
30#include "ControlList.h"
31#include "ControlNet.h"
33#include "IException.h"
50 QAction::setText(tr(
"&Export Control Network..."));
51 QUndoCommand::setText(tr(
"Export Control Network..."));
103 return (controls->count() == 1);
134 if (controls.count() > 0) {
143 foreach (
Control *control, *list) {
144 cnetChoices[control] = tr(
"%1/%2").arg(list->
name())
152 QString choice = QInputDialog::getItem(NULL, tr(
"Select Control"),
153 tr(
"Please choose a control to export."), cnetNames, 0,
false, &success);
155 control = cnetChoices.key(choice);
161 QString destination =
162 QFileDialog::getSaveFileName(NULL, QString(
"Export Control Network"),
165 if (destination.isEmpty()) {
200 QString currentLocation = control->
fileName();
201 if (!QFile::copy(currentLocation, destination) ) {
This represents an ISIS control net in a project-based GUI interface.
QString id() const
Access the unique ID associated with this Control.
ControlDisplayProperties * displayProperties()
Access a pointer to the display properties for the control network.
QString fileName() const
Access the name of the control network file associated with this Control.
Maintains a list of Controls so that control nets can easily be copied from one Project to another,...
QString name() const
Get the human-readable name of this control list.
QString displayName() const
Returns the display name.
virtual ExportControlNetWorkOrder * clone() const
Clones this work order.
virtual bool setupExecution()
Prepares for exporting a control net by soliciting information from the user.
virtual void execute()
Executes the work order.
bool isExecutable(ControlList *controls)
Determines if we can export a control net.
ExportControlNetWorkOrder(Project *project)
Creates a work order for exporting a control network from the project.
virtual void postExecution()
Display any warnings that occurred during the asynchronous computations.
QString m_warning
Stores any errors that may have occurred during export.
~ExportControlNetWorkOrder()
Destructor.
File name manipulation and expansion.
QString name() const
Returns the name of the file excluding the path and the attributes in the file name.
The main project for ipce.
Control * control(QString id)
Accessor for if the project is clearing or not.
QList< ControlList * > controls()
Return controls in project.
virtual void setData(Context)
Sets the context data for this WorkOrder.
bool m_isSynchronous
This is defaulted to true.
bool m_isUndoable
Set the workorder to be undoable/redoable This is defaulted to true - his will allow the workorder to...
virtual bool setupExecution()
This sets up the state for the work order.
QStringList internalData() const
Gets the internal data for this WorkOrder.
QPointer< ControlList > controlList()
Returns the Control List for this WorkOrder (a list of control networks).
void setInternalData(QStringList data)
Sets the internal data for this WorkOrder.
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.