Isis 3 Developer Reference
|
This represents an ISIS control net in a project-based GUI interface. More...
#include <Control.h>
Public Slots | |
void | updateFileName (Project *) |
Change the on-disk file name for this control to be where the control ought to be in the given project. More... | |
void | closeControlNet () |
Cleans up the ControlNet pointer. More... | |
Public Member Functions | |
Control (QString cnetFileName, QObject *parent=0) | |
Create a Control from control net located on disk. More... | |
Control (Project *project, QString cnetFileName, QObject *parent=0) | |
Create a Control from control net located on disk associated with a Project. More... | |
Control (ControlNet *controlNet, QString cnetFileName, QObject *parent=0) | |
Create a Control from a control network that has already been created and read from disk. More... | |
Control (FileName cnetFolder, XmlStackedHandlerReader *xmlReader, QObject *parent=0) | |
Construct this control from XML. More... | |
~Control () | |
Destroys Control object. More... | |
ControlNet * | controlNet () |
Open and return a pointer to the ControlNet for this Control. More... | |
void | openControlNet () |
Sets the ControlNet from the control net file name provided in the constructor. More... | |
ControlDisplayProperties * | displayProperties () |
Access a pointer to the display properties for the control network. More... | |
const ControlDisplayProperties * | displayProperties () const |
Access a const pointer to the display properties for the control network. More... | |
QString | fileName () const |
Access the name of the control network file associated with this Control. More... | |
QString | id () const |
Access the unique ID associated with this Control. More... | |
bool | isModified () |
Has this control been modified? More... | |
void | setModified (bool modified=true) |
Sets the modification state of this control. More... | |
bool | write () |
Write control net to disk. More... | |
void | save (QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const |
Method to write this Control object's member data to an XML stream. More... | |
void | copyToNewProjectRoot (const Project *project, FileName newProjectRoot) |
Copies the files of the given Project to the given location. More... | |
void | deleteFromDisk () |
Delete the control net from disk. More... | |
Public Attributes | |
ControlNet * | m_controlNet |
A pointer to the ControlNet object associated with this Control object. More... | |
This represents an ISIS control net in a project-based GUI interface.
This encapsulates ideas about a control net such as it's filename and display properties.
|
explicit |
Create a Control from control net located on disk.
cNetFileName | The name of the control net on disk |
parent | The Qt-relationship parent |
References _FILEINFO_, m_controlNet, openControlNet(), and Isis::IException::Programmer.
Create a Control from control net located on disk associated with a Project.
cNetFileName | The name of the control net on disk |
parent | The Qt-relationship parent |
References m_controlNet.
|
explicit |
Create a Control from a control network that has already been created and read from disk.
controlNet | The actual control network |
cnetFileName | The name of the control net on disk |
parent | The Qt-relationship parent |
References controlNet(), and m_controlNet.
Isis::Control::Control | ( | FileName | cnetFolder, |
XmlStackedHandlerReader * | xmlReader, | ||
QObject * | parent = 0 |
||
) |
Construct this control from XML.
cnetFolder | Location of control xml |
xmlReader | An XML reader that's up to an <control> tag. |
parent | The Qt-relationship parent |
References m_controlNet, and Isis::XmlStackedHandlerReader::pushContentHandler().
Isis::Control::~Control | ( | ) |
Destroys Control object.
References m_controlNet.
|
slot |
Cleans up the ControlNet pointer.
This method should be called once there is no more need for this network because the OS will limit how many of these can be open.
References m_controlNet.
Referenced by Isis::Directory::cleanupCnetEditorViewWidgets(), and updateFileName().
ControlNet * Isis::Control::controlNet | ( | ) |
Open and return a pointer to the ControlNet for this Control.
References m_controlNet, and openControlNet().
Referenced by Control(), Isis::CnetEditorWidget::control(), Isis::ControlHealthMonitorView::ControlHealthMonitorView(), copyToNewProjectRoot(), Isis::CnetEditorWidget::filteredNetwork(), Isis::ControlNetTool::loadNetwork(), Isis::MosaicControlNetTool::loadNetwork(), Isis::Project::setActiveImageList(), and Isis::ControlPointEditWidget::setControl().
Copies the files of the given Project to the given location.
project | A pointer to the Project. |
newProjectRoot | The name of the new root directory where the project will be copied. |
References _FILEINFO_, Isis::Project::cnetRoot(), controlNet(), Isis::FileName::dir(), Isis::IException::Io, isModified(), Isis::FileName::name(), Isis::Project::projectRoot(), setModified(), Isis::FileName::toString(), Isis::toString(), write(), and Isis::ControlNet::Write().
void Isis::Control::deleteFromDisk | ( | ) |
Delete the control net from disk.
The control net will no longer be accessible until you call updateFileName().
IException::Io | "Could not remove file." |
References _FILEINFO_, and Isis::IException::Io.
Referenced by Isis::ControlList::deleteFromDisk().
ControlDisplayProperties * Isis::Control::displayProperties | ( | ) |
Access a pointer to the display properties for the control network.
Referenced by Isis::Directory::addCnetEditorView(), and Isis::ExportControlNetWorkOrder::setupExecution().
const ControlDisplayProperties * Isis::Control::displayProperties | ( | ) | const |
Access a const pointer to the display properties for the control network.
QString Isis::Control::fileName | ( | ) | const |
Access the name of the control network file associated with this Control.
Referenced by Isis::Project::addControl(), Isis::BundleAdjust::BundleAdjust(), Isis::ExportControlNetWorkOrder::execute(), Isis::JigsawRunWidget::JigsawRunWidget(), Isis::BundleSolutionInfo::outputControlNetFileName(), Isis::BundleSolutionInfo::save(), Isis::ControlPointEditWidget::setControl(), Isis::ProjectItem::setControl(), Isis::ExportControlNetWorkOrder::setupExecution(), Isis::BundleSolutionInfo::updateFileName(), and write().
QString Isis::Control::id | ( | ) | const |
Access the unique ID associated with this Control.
Referenced by Isis::Project::addControl(), and Isis::ExportControlNetWorkOrder::setupExecution().
bool Isis::Control::isModified | ( | ) |
Has this control been modified?
Referenced by copyToNewProjectRoot(), and Isis::Project::save().
void Isis::Control::openControlNet | ( | ) |
Sets the ControlNet from the control net file name provided in the constructor.
IException::Programmer | "Error opening control net." |
References _FILEINFO_, m_controlNet, Isis::Project::mutex(), Isis::IException::Programmer, and Isis::ControlNet::SetMutex().
Referenced by Control(), and controlNet().
void Isis::Control::save | ( | QXmlStreamWriter & | stream, |
const Project * | project, | ||
FileName | newProjectRoot | ||
) | const |
Method to write this Control object's member data to an XML stream.
stream | The stream to which the Control will be saved. |
project | The Project to which this Control will be added. |
newProjectRoot | The location of the project root directory. |
References Isis::ControlDisplayProperties::save().
Referenced by Isis::ControlList::save(), and Isis::BundleSolutionInfo::save().
void Isis::Control::setModified | ( | bool | modified = true | ) |
Sets the modification state of this control.
This is needed for now since many classes make changes to the control net contained in this object, but the control does not know the state of the control net. TODO: Change this class to always know the state of the control Net.
Referenced by copyToNewProjectRoot().
|
slot |
Change the on-disk file name for this control to be where the control ought to be in the given project.
project | The project that this control is stored in |
References closeControlNet(), Isis::Project::cnetRoot(), Isis::FileName::dir(), and Isis::FileName::name().
bool Isis::Control::write | ( | ) |
Write control net to disk.
This method is used instead of calling ControlNet::Write directly so that Control knows the modification state of the control net. Note that if there is not a control net opened, there should no be any changes to write.
IException::Programmer | "Cannot write control net to disk" |
References _FILEINFO_, fileName(), m_controlNet, Isis::IException::Programmer, and Isis::ControlNet::Write().
Referenced by copyToNewProjectRoot(), and Isis::Project::save().
ControlNet* Isis::Control::m_controlNet |
A pointer to the ControlNet object associated with this Control object.
Referenced by closeControlNet(), Control(), controlNet(), openControlNet(), write(), and ~Control().