Isis 3.0 Programmer Reference
Home
Isis::Project Class Reference

The main project for cnetsuite. More...

#include <Project.h>

Inheritance diagram for Isis::Project:
Inheritance graph
Collaboration diagram for Isis::Project:
Collaboration graph

Classes

class  XmlHandler
 

Public Slots

void open (QString)
 Open the project at the given path. More...
 

Signals

void controlListAdded (ControlList *controls)
 apparently not used? More...
 
void controlAdded (Control *control)
 Emitted when new Control added to Project receivers: ProjectTreeWidget. More...
 
void imagesAdded (ImageList *images)
 Emitted when new images are available. More...
 
void shapesAdded (ShapeList *shapes)
 Emitted when new shape model images are available. More...
 
void bundleSolutionInfoAdded (BundleSolutionInfo *bundleSolutionInfo)
 Emitted when new BundleSolutionInfo available from jigsaw receivers: ProjectTreeWidget (TODO: should this be the Directory?) More...
 
void targetsAdded (TargetBodyList *targets)
 Emitted when new TargetBody objects added to project receivers: Directory. More...
 
void guiCamerasAdded (GuiCameraList *targets)
 Emitted when new GuiCamera objects added to project receivers: Directory. More...
 
void nameChanged (QString newName)
 Emitted when project name is changed receivers: ProjectTreeWidget. More...
 
void projectLoaded (Project *)
 Emitted when project loaded receivers: CNetSuiteMainWindow, Directory, HistoryTreeWidget. More...
 
void projectRelocated (Project *)
 Emitted when project location moved receivers: Control, BundleSolutionInfo, Image, TargetBody. More...
 
void workOrderStarting (WorkOrder *)
 
void workOrderFinished (WorkOrder *)
 

Public Member Functions

 Project (Directory &directory, QObject *parent=0)
 Create a new Project. More...
 
 ~Project ()
 Clean up the project. More...
 
QList< QAction * > userPreferenceActions ()
 Get a list of configuration/settings actions related to reading images into this Project. More...
 
QDir addBundleSolutionInfoFolder (QString folder)
 Create and return the name of a folder for placing BundleSolutionInfo. More...
 
QDir addCnetFolder (QString prefix)
 Create and return the name of a folder for placing control networks. More...
 
void addControl (Control *control)
 Add the given Control's to the current project. More...
 
QDir addImageFolder (QString prefix)
 Create and return the name of a folder for placing images. More...
 
void addImages (QStringList imageFiles)
 Read the given cube file names as Images and add them to the project. More...
 
void addImages (ImageList newImages)
 
QDir addShapeFolder (QString prefix)
 Create and return the name of a folder for placing shape models. More...
 
void addShapes (QStringList shapeFiles)
 Read the given shape model cube file names as Images and add them to the project. More...
 
void addShapes (ShapeList newShapes)
 
void addBundleSolutionInfo (BundleSolutionInfo *bundleSolutionInfo)
 Add the given BundleSolutionInfo to the current project. More...
 
void loadBundleSolutionInfo (BundleSolutionInfo *bundleSolutionInfo)
 
Controlcontrol (QString id)
 
Directorydirectory () const
 Returns the directory associated with this Project. More...
 
Imageimage (QString id)
 
ImageListimageList (QString name)
 
Shapeshape (QString id)
 
ShapeListshapeList (QString name)
 
bool isTemporaryProject () const
 
WorkOrderlastNotUndoneWorkOrder ()
 
const WorkOrderlastNotUndoneWorkOrder () const
 
QString name () const
 Get the project's GUI name. More...
 
QMutex * mutex ()
 Return mutex used for Naif calls. More...
 
QString projectRoot () const
 Get the top-level folder of the project. More...
 
void setName (QString newName)
 Change the project's name (GUI only, doesn't affect location on disk). More...
 
QUndoStack * undoStack ()
 
void waitForImageReaderFinished ()
 
void waitForShapeReaderFinished ()
 
QList< WorkOrder * > workOrderHistory ()
 Get the entire list of work orders that have executed. More...
 
void setActiveControl (Control *)
 Set the Active Control (control network) More...
 
ControlactiveControl ()
 Return the Active Control (control network) More...
 
void setActiveImageList (ImageList *)
 Set the Active ImageList. More...
 
ImageListactiveImageList ()
 Returns the active ImageList. More...
 
QString cnetRoot () const
 Get where control networks ought to be stored inside the project. More...
 
QList< ControlList * > controls ()
 
ControlListcontrolList (QString name)
 
QString imageDataRoot () const
 Accessor for the root directory of the image data. More...
 
QList< ImageList * > images ()
 
QString shapeDataRoot () const
 Accessor for the root directory of the shape model data. More...
 
QList< ShapeList * > shapes ()
 
QString targetBodyRoot () const
 Accessor for the root directory of the target body data. More...
 
TargetBodyList targetBodies ()
 
QString resultsRoot () const
 Accessor for the root directory of the results data. More...
 
QString bundleSolutionInfoRoot () const
 Accessor for the root directory of the results data. More...
 
QList< BundleSolutionInfo * > bundleSolutionInfo ()
 
void deleteAllProjectFiles ()
 Delete all of the files, that this project stores, from disk. More...
 
void relocateProjectRoot (QString newRoot)
 This is called when the project is moved. More...
 
BundleSettingsbundleSettings ()
 
QProgressBarprogress ()
 
void removeImages (ImageList &imageList)
 
void save ()
 
void save (FileName newPath, bool verifyPathDoesntExist=true)
 
void addToProject (WorkOrder *)
 Run the work order and stores it in the project. More...
 
template<typename Data >
void warn (QString text, Data relevantData)
 
void warn (QString text)
 

Static Public Member Functions

static QStringList images (QStringList)
 Verify that the input fileNames are image files. More...
 
static QStringList shapes (QStringList)
 
static QString cnetRoot (QString projectRoot)
 Appends the root directory name 'cnets' to the project. More...
 
static QString imageDataRoot (QString projectRoot)
 Appends the root directory name 'images' to the project . More...
 
static QString shapeDataRoot (QString projectRoot)
 Appends the root directory name 'shapes' to the project . More...
 
static QString targetBodyRoot (QString projectRoot)
 Appends the root directory name 'targets' to the project . More...
 
static QString resultsRoot (QString projectRoot)
 Appends the root directory name 'results' to the project. More...
 
static QString bundleSolutionInfoRoot (QString projectRoot)
 Appends the root directory name 'bundle' to the project results directory. More...
 

Private Slots

void controlClosed (QObject *control)
 A control is being deleted from the project. More...
 
void controlListDeleted (QObject *controlList)
 An control list is being deleted from the project. More...
 
void imagesReady (ImageList)
 
void addTargetsFromImportedImagesToProject (ImageList *imageList)
 
void addCamerasFromImportedImagesToProject (ImageList *imageList)
 
void imageClosed (QObject *image)
 An image is being deleted from the project. More...
 
void imageListDeleted (QObject *imageList)
 An image list is being deleted from the project. More...
 
void bundleSolutionInfoClosed (QObject *bundleSolutionInfo)
 A BundleSolutionInfo object is being deleted from the project. More...
 
void targetBodyClosed (QObject *targetBodyObj)
 A target body is being deleted from the project. More...
 
void shapesReady (ShapeList shapes)
 
void shapeClosed (QObject *shape)
 A shape model is being deleted from the project. More...
 
void shapeListDeleted (QObject *shapeList)
 A shape model list is being deleted from the project. More...
 

Private Member Functions

 Project (const Project &other)
 
Projectoperator= (const Project &rhs)
 
void createFolders ()
 This creates the project root, image root, and control net root directories. More...
 
ControlListcreateOrRetrieveControlList (QString name)
 
ImageListcreateOrRetrieveImageList (QString name)
 
ShapeListcreateOrRetrieveShapeList (QString name)
 
QString nextImageListGroupName ()
 
void save (QXmlStreamWriter &stream, FileName newProjectRoot) const
 Converts the project settings into XML. More...
 
void saveHistory (QXmlStreamWriter &stream) const
 Serialize the work orders into the given XML. More...
 
void saveWarnings (QXmlStreamWriter &stream) const
 Serialize the warnings into the given XML. More...
 
void storeWarning (QString text)
 
void storeWarning (QString text, const ImageList &relevantData)
 

Private Attributes

QDir * m_projectRoot
 
QDir * m_cnetRoot
 
QDir m_currentCnetFolder
 
QPointer< Directorym_directory
 
QList< ImageList * > * m_images
 
QList< ControlList * > * m_controls
 
QList< ShapeList * > * m_shapes
 
TargetBodyListm_targets
 
GuiCameraListm_guiCameras
 
QPointer< Controlm_activeControl
 
QPointer< ImageListm_activeImageList
 
QList< BundleSolutionInfo * > * m_bundleSolutionInfo
 
BundleSettingsm_bundleSettings
 
QMap< QString, Control * > * m_idToControlMap
 This variable will probably go away when we add the bundle results object because it will be under: BundleSolutionInfo BundleResults CorrelationMatrix. More...
 
QMap< QString, Image * > * m_idToImageMap
 
QMap< QString, Shape * > * m_idToShapeMap
 
QMap< QString,
BundleSolutionInfo * > * 
m_idToBundleSolutionInfoMap
 
QMap< QString, TargetBody * > * m_idToTargetBodyMap
 
QMap< QString, GuiCamera * > * m_idToGuiCameraMap
 
QString m_name
 
QStringListm_warnings
 
QList< QPointer< WorkOrder > > * m_workOrderHistory
 
QPointer< ImageReaderm_imageReader
 
bool m_isTemporaryProject
 
int m_numImagesCurrentlyReading
 
QMutex * m_mutex
 
QMutex * m_imageReadingMutex
 
int m_numShapesCurrentlyReading
 
QMutex * m_shapeMutex
 
QPointer< ShapeReaderm_shapeReader
 
QMutex * m_shapeReadingMutex
 
QUndoStack m_undoStack
 

Detailed Description

The main project for cnetsuite.

Author
2012-??-?? ???
History:

2012-07-27 Kimberly Oyama - Added comments to some of the methods.

2012-09-04 Tracie Sucharski - Renamed addCNets to addCnets, controlNetRoot to cnetRoot, networkLoaded to cnetLoaded. Added new method, addCnetFolder.

2012-09-11 Tracie Sucharski - Added mutex accessor method.

2012-09-12 Tracie Sucharski - Implemented ControlList instead of QList<Control *>, re-ordered some methods to match header order.

2012-09-12 Steven Lambright - Renamed imageList() to createOrRetrieveImageList(), added imageList() and image().

2012-09-17 Steven Lambright - Reduced the time complexity of image() to log(n) from n/2. This method is often called n times.

2012-09-17 Steven Lambright - Added crash detection/cleanup. Prompt is coded but disabled (we'll find a good wording or handle recovery better when we don't expect so many crashes during development).

2012-10-29 Steven Lambright and Stuart Sides - Added isTemporaryProject(). This is useful for the import images to know if it should prompt the user to save their project.

2013-05-14 Jeannie Backer - Used return status of c++ system() in the constructor to verify that the call was successful.

2014-07-14 Kimberly Oyama - Updated to better meet programming standards. Added support for correlation matrix.

2015-02-20 Jeannie Backer - Replaced BundleResults references with BundleSolutionInfo and BundleStatistics references with BundleResults due to class name changes.

2015-09-03 Jeannie Backer - Removed svn merge conflict comment lines. Removed call to save BundleSolutionInfo as an xml file. Added hdf5 preliminary serialization calls. Some ISIS coding standards improvements.

2015-10-14 Jeffrey Covington - Declared Project * as a Qt metatype for use with QVariant.

2016-06-23 Tracie Sucharski - Added a member variable for active control network and active image list, along with accessor methods.

2016-07-06 Tracie Sucharski - Changed the ImageReader to require footprints, because ImageReader class was changed so that footprints are no longer created if not required.

2016-07-06 Tracie Sucharski - Add import shape models to project.

2016-11-09 Tyler Wilson - Added try-catch blocks around reader.parse calls in the open function, so that warnings/errors are output to the warnings tab of the GUI instead of causing the application to exit. Fixes #4488.

Definition at line 105 of file Project.h.

Constructor & Destructor Documentation

Isis::Project::Project ( Directory directory,
QObject parent = 0 
)

Create a new Project.

This creates a project on disk at /tmp/username_appname_pid.

Definition at line 73 of file Project.cpp.

References _FILEINFO_, createFolders(), directory(), imagesAdded(), m_idToControlMap, Isis::IException::Programmer, Isis::toString(), and Isis::Environment::userName().

Isis::Project::~Project ( )

Clean up the project.

This will bring the Project back to a safe on-disk state.

Definition at line 219 of file Project.cpp.

References deleteAllProjectFiles(), m_idToControlMap, and Isis::WorkOrder::modifiesDiskState().

Member Function Documentation

Control * Isis::Project::activeControl ( )

Return the Active Control (control network)

Returns the active control (control network) for views which need to operate on the same control, ie. Footprint2dView, CubeDnView, ControlPointEditView.

History:
2016-06-23 Tracie Sucharski - Original version.

Definition at line 1182 of file Project.cpp.

Referenced by Isis::CubeDnView::CubeDnView(), Isis::SetActiveControlWorkOrder::execute(), Isis::SetActiveControlWorkOrder::isExecutable(), and Isis::MosaicControlNetTool::openControlNet().

ImageList * Isis::Project::activeImageList ( )

Returns the active ImageList.

Returns the active ImageList for views which need to operate on the same list of images, ie. Footprint2dView, CubeDnView, ControlPointEditView.

History:
2016-06-23 Tracie Sucharski - Original version.

Definition at line 1210 of file Project.cpp.

void Isis::Project::addBundleSolutionInfo ( BundleSolutionInfo bundleSolutionInfo)

Add the given BundleSolutionInfo to the current project.

This will cause the BundleSolutionInfo to be saved/restored from disk, Project-related GUIs to display the BundleSolutionInfo, and enable access to the BundleSolutionInfo given access to the project.

Definition at line 789 of file Project.cpp.

References addBundleSolutionInfoFolder(), Isis::BundleSolutionInfo::bundleSettings(), bundleSolutionInfoClosed(), Isis::BundleSolutionInfo::createH5File(), projectRelocated(), and Isis::BundleSolutionInfo::runTime().

Referenced by Isis::JigsawDialog::bundleFinished().

QDir Isis::Project::addBundleSolutionInfoFolder ( QString  folder)

Create and return the name of a folder for placing BundleSolutionInfo.

TODO: don't know if sentence below is accurate. This can be called from multiple threads, but should only be called by one thread at a time.

Definition at line 594 of file Project.cpp.

References _FILEINFO_, bundleSolutionInfoRoot(), and Isis::IException::Io.

Referenced by addBundleSolutionInfo().

QDir Isis::Project::addCnetFolder ( QString  prefix)

Create and return the name of a folder for placing control networks.

This can be called from multiple threads, but should only be called by one thread at a time.

Definition at line 614 of file Project.cpp.

References _FILEINFO_, cnetRoot(), and Isis::IException::Io.

Referenced by Isis::ImportControlNetWorkOrder::syncRedo().

void Isis::Project::addControl ( Control control)

Add the given Control's to the current project.

This will cause the controls to be saved/restored from disk, Project-related GUIs to display the control, and enable access to the controls given access to the project.

Definition at line 646 of file Project.cpp.

References controlAdded(), controlClosed(), Isis::Control::fileName(), Isis::Control::id(), and projectRelocated().

QDir Isis::Project::addImageFolder ( QString  prefix)

Create and return the name of a folder for placing images.

This can be called from multiple threads, but should only be called by one thread at a time.

Definition at line 686 of file Project.cpp.

References _FILEINFO_, imageDataRoot(), and Isis::IException::Io.

Referenced by Isis::ImportImagesWorkOrder::importConfirmedImages().

void Isis::Project::addImages ( QStringList  imageFiles)

Read the given cube file names as Images and add them to the project.

Definition at line 714 of file Project.cpp.

Referenced by Isis::ImportImagesWorkOrder::postSyncRedo().

QDir Isis::Project::addShapeFolder ( QString  prefix)

Create and return the name of a folder for placing shape models.

This can be called from multiple threads, but should only be called by one thread at a time.

Definition at line 736 of file Project.cpp.

References _FILEINFO_, Isis::IException::Io, and shapeDataRoot().

Referenced by Isis::ImportShapesWorkOrder::importConfirmedShapes().

void Isis::Project::addShapes ( QStringList  shapeFiles)

Read the given shape model cube file names as Images and add them to the project.

Definition at line 764 of file Project.cpp.

Referenced by Isis::ImportShapesWorkOrder::postSyncRedo().

void Isis::Project::addToProject ( WorkOrder workOrder)

Run the work order and stores it in the project.

If WorkOrder::execute() returns true then the work order's redo is called. This takes ownership of workOrder.

The order of events is: 1) WorkOrder::execute() 2) emit workOrderStarting() 3) WorkOrder::redo() [optional - see WorkOrder]

Parameters
workOrderThe work order to be executed. This work order must not already be in the project.

Definition at line 1546 of file Project.cpp.

References Isis::WorkOrder::createsCleanState(), Isis::WorkOrder::execute(), Isis::WorkOrder::previous(), Isis::WorkOrder::setNext(), and Isis::WorkOrder::setPrevious().

Referenced by Isis::WorkOrder::addCloneToProject().

void Isis::Project::bundleSolutionInfoAdded ( BundleSolutionInfo bundleSolutionInfo)
signal

Emitted when new BundleSolutionInfo available from jigsaw receivers: ProjectTreeWidget (TODO: should this be the Directory?)

void Isis::Project::bundleSolutionInfoClosed ( QObject bundleSolutionInfo)
privateslot

A BundleSolutionInfo object is being deleted from the project.

Definition at line 1802 of file Project.cpp.

Referenced by addBundleSolutionInfo().

QString Isis::Project::bundleSolutionInfoRoot ( QString  projectRoot)
static

Appends the root directory name 'bundle' to the project results directory.

Returns
The path to the root directory of bundle results data.

Definition at line 1360 of file Project.cpp.

QString Isis::Project::bundleSolutionInfoRoot ( ) const

Accessor for the root directory of the results data.

Returns
The path to the root directory of the results data.

Definition at line 1370 of file Project.cpp.

Referenced by addBundleSolutionInfoFolder(), createFolders(), and open().

QString Isis::Project::cnetRoot ( QString  projectRoot)
static

Appends the root directory name 'cnets' to the project.

Returns
The path to the root directory of the cnet data.

Definition at line 1220 of file Project.cpp.

Referenced by Isis::Control::copyToNewProjectRoot(), Isis::ControlList::deleteFromDisk(), Isis::Control::updateFileName(), and Isis::BundleSolutionInfo::updateFileName().

QString Isis::Project::cnetRoot ( ) const

Get where control networks ought to be stored inside the project.

This is a full path.

Returns
The path to the root directory of the cnet data.

Definition at line 1230 of file Project.cpp.

Referenced by addCnetFolder(), createFolders(), deleteAllProjectFiles(), and Isis::ControlList::save().

void Isis::Project::controlAdded ( Control control)
signal

Emitted when new Control added to Project receivers: ProjectTreeWidget.

Referenced by addControl().

void Isis::Project::controlClosed ( QObject control)
privateslot

A control is being deleted from the project.

Definition at line 1761 of file Project.cpp.

References m_idToControlMap, and Isis::ControlList::removeAt().

Referenced by addControl().

void Isis::Project::controlListAdded ( ControlList controls)
signal

apparently not used?

Emitted when new ControlList added to Project receivers: ProjectTreeWidget

void Isis::Project::controlListDeleted ( QObject controlList)
privateslot

An control list is being deleted from the project.

Definition at line 1780 of file Project.cpp.

void Isis::Project::createFolders ( )
private

This creates the project root, image root, and control net root directories.

Definition at line 335 of file Project.cpp.

References _FILEINFO_, bundleSolutionInfoRoot(), cnetRoot(), imageDataRoot(), Isis::IException::Io, resultsRoot(), and shapeDataRoot().

Referenced by Project().

void Isis::Project::deleteAllProjectFiles ( )

Delete all of the files, that this project stores, from disk.

Definition at line 1378 of file Project.cpp.

References cnetRoot(), Isis::ImageList::deleteFromDisk(), imageDataRoot(), resultsRoot(), and shapeDataRoot().

Referenced by ~Project().

void Isis::Project::guiCamerasAdded ( GuiCameraList targets)
signal

Emitted when new GuiCamera objects added to project receivers: Directory.

void Isis::Project::imageClosed ( QObject image)
privateslot

An image is being deleted from the project.

Definition at line 1730 of file Project.cpp.

References Isis::ImageList::removeAt().

QString Isis::Project::imageDataRoot ( QString  projectRoot)
static

Appends the root directory name 'images' to the project .

Returns
The path to the root directory of the image data.

Definition at line 1260 of file Project.cpp.

Referenced by Isis::ImageList::deleteFromDisk(), and Isis::Image::updateFileName().

QString Isis::Project::imageDataRoot ( ) const

Accessor for the root directory of the image data.

Returns
The path to the root directory of the image data.

Definition at line 1270 of file Project.cpp.

Referenced by addImageFolder(), Isis::Image::copyToNewProjectRoot(), createFolders(), deleteAllProjectFiles(), and Isis::ImageList::save().

void Isis::Project::imageListDeleted ( QObject imageList)
privateslot

An image list is being deleted from the project.

Definition at line 1750 of file Project.cpp.

QStringList Isis::Project::images ( QStringList  fileNames)
static

Verify that the input fileNames are image files.

Parameters
fileNamesnames of files on disk
Returns
the files that are images.

Definition at line 561 of file Project.cpp.

Referenced by Isis::ImportImagesWorkOrder::asyncUndo(), Isis::ImportImagesWorkOrder::postSyncUndo(), and Isis::ProjectItem::ProjectItem().

void Isis::Project::imagesAdded ( ImageList images)
signal

Emitted when new images are available.

receivers: Directory, Project, WorkOrder

Referenced by Project().

QMutex * Isis::Project::mutex ( )

Return mutex used for Naif calls.

This method is thread-safe.

Author
2012-09-11 Tracie Sucharski
Returns
QMutex*

Definition at line 1079 of file Project.cpp.

QString Isis::Project::name ( ) const

Get the project's GUI name.

Definition at line 1050 of file Project.cpp.

Referenced by Isis::RenameProjectWorkOrder::execute(), and Isis::ProjectItem::setProject().

void Isis::Project::nameChanged ( QString  newName)
signal

Emitted when project name is changed receivers: ProjectTreeWidget.

Referenced by setName().

void Isis::Project::open ( QString  projectPathStr)
slot

Open the project at the given path.

Parameters
Thepath to the project folder
History:
Tyler Wilson - Added try-catch blocks around all reader.parse calls. The exception information is not piped to the Warnings tab in the GUI instead of the command line, and the application starts instead of executing prematurely. Fixes #4488.

Definition at line 838 of file Project.cpp.

References _FILEINFO_, bundleSolutionInfoRoot(), directory(), Isis::IException::Io, projectLoaded(), Isis::Directory::showWarning(), and Isis::IException::toString().

Referenced by Isis::OpenProjectWorkOrder::execute(), and Isis::OpenRecentProjectWorkOrder::execute().

void Isis::Project::projectLoaded ( Project )
signal

Emitted when project loaded receivers: CNetSuiteMainWindow, Directory, HistoryTreeWidget.

Referenced by open().

void Isis::Project::projectRelocated ( Project )
signal

Emitted when project location moved receivers: Control, BundleSolutionInfo, Image, TargetBody.

Referenced by addBundleSolutionInfo(), addControl(), and relocateProjectRoot().

QString Isis::Project::projectRoot ( ) const

Get the top-level folder of the project.

This is where the project is opened from/saved to.

Definition at line 1087 of file Project.cpp.

Referenced by Isis::Control::copyToNewProjectRoot(), Isis::Shape::copyToNewProjectRoot(), Isis::Image::copyToNewProjectRoot(), and Isis::Directory::updateRecentProjects().

void Isis::Project::relocateProjectRoot ( QString  newProjectRoot)

This is called when the project is moved.

Parameters
newProjectRootThe new root directory for the project.

Definition at line 1413 of file Project.cpp.

References projectRelocated().

QString Isis::Project::resultsRoot ( QString  projectRoot)
static

Appends the root directory name 'results' to the project.

Returns
The path to the root directory of bundleresults data.

Definition at line 1335 of file Project.cpp.

QString Isis::Project::resultsRoot ( ) const

Accessor for the root directory of the results data.

Returns
The path to the root directory of the results data.

Definition at line 1345 of file Project.cpp.

Referenced by createFolders(), and deleteAllProjectFiles().

void Isis::Project::save ( QXmlStreamWriter &  stream,
FileName  newProjectRoot 
) const
private

Converts the project settings into XML.

The format of the project settings is:

  <project>
    <controlNets>
      <controlNet name="...">
    </controlNets>
  </project>
 

Definition at line 434 of file Project.cpp.

void Isis::Project::saveHistory ( QXmlStreamWriter &  stream) const
private

Serialize the work orders into the given XML.

The format of the history xml is:

  <history>
    <workOrder>
       ...
    </workOrder>
    <workOrder>
       ...
    </workOrder>
  </history>

Definition at line 518 of file Project.cpp.

References Isis::WorkOrder::save().

void Isis::Project::saveWarnings ( QXmlStreamWriter &  stream) const
private

Serialize the warnings into the given XML.

The format of the warnings xml is:

  <warnings>
    <warning text="...">
    <warning text="...">
  </warnings>

Definition at line 541 of file Project.cpp.

void Isis::Project::setActiveControl ( Control control)

Set the Active Control (control network)

Set the active control (control network) for views which need to operate on the same control, ie. Footprint2dView, CubeDnView, ControlPointEditView.

History:
2016-06-23 Tracie Sucharski - Original version.

Definition at line 1168 of file Project.cpp.

Referenced by Isis::SetActiveControlWorkOrder::execute().

void Isis::Project::setActiveImageList ( ImageList imageList)

Set the Active ImageList.

Set the active ImageList for views which need to operate on the same list of images, ie. Footprint2dView, CubeDnView, ControlPointEditView.

History:
2016-06-23 Tracie Sucharski - Original version.

Definition at line 1196 of file Project.cpp.

Referenced by Isis::SetActiveImageListWorkOrder::execute().

void Isis::Project::setName ( QString  newName)

Change the project's name (GUI only, doesn't affect location on disk).

Definition at line 1095 of file Project.cpp.

References nameChanged().

Referenced by Isis::RenameProjectWorkOrder::syncRedo(), and Isis::RenameProjectWorkOrder::syncUndo().

void Isis::Project::shapeClosed ( QObject shape)
privateslot

A shape model is being deleted from the project.

Definition at line 1884 of file Project.cpp.

References Isis::ShapeList::removeAt().

QString Isis::Project::shapeDataRoot ( QString  projectRoot)
static

Appends the root directory name 'shapes' to the project .

Returns
The path to the root directory of the shape models data.

Definition at line 1280 of file Project.cpp.

Referenced by Isis::ShapeList::deleteFromDisk(), and Isis::Shape::updateFileName().

QString Isis::Project::shapeDataRoot ( ) const

Accessor for the root directory of the shape model data.

Returns
The path to the root directory of the shape model data.

Definition at line 1290 of file Project.cpp.

Referenced by addShapeFolder(), Isis::Shape::copyToNewProjectRoot(), createFolders(), deleteAllProjectFiles(), and Isis::ShapeList::save().

void Isis::Project::shapeListDeleted ( QObject shapeList)
privateslot

A shape model list is being deleted from the project.

Definition at line 1791 of file Project.cpp.

void Isis::Project::shapesAdded ( ShapeList shapes)
signal

Emitted when new shape model images are available.

receivers: Directory, Project, WorkOrder

void Isis::Project::targetBodyClosed ( QObject targetBodyObj)
privateslot

A target body is being deleted from the project.

TODO: should prevent deleting a target body if there are currently images in the project with this target?

Definition at line 1828 of file Project.cpp.

QString Isis::Project::targetBodyRoot ( QString  projectRoot)
static

Appends the root directory name 'targets' to the project .

Returns
The path to the root directory of the target body data.

Definition at line 1310 of file Project.cpp.

QString Isis::Project::targetBodyRoot ( ) const

Accessor for the root directory of the target body data.

Returns
The path to the root directory of the target body data.

Definition at line 1320 of file Project.cpp.

void Isis::Project::targetsAdded ( TargetBodyList targets)
signal

Emitted when new TargetBody objects added to project receivers: Directory.

QList< QAction * > Isis::Project::userPreferenceActions ( )

Get a list of configuration/settings actions related to reading images into this Project.

These are things like default opacity, default filled, etc.

Definition at line 583 of file Project.cpp.

References Isis::ImageDisplayProperties::FootprintViewProperties.

QList< WorkOrder * > Isis::Project::workOrderHistory ( )

Get the entire list of work orders that have executed.

Definition at line 1149 of file Project.cpp.

Referenced by Isis::HistoryTreeWidget::showHistory().

Member Data Documentation

QMap<QString, Control *>* Isis::Project::m_idToControlMap
private

This variable will probably go away when we add the bundle results object because it will be under: BundleSolutionInfo BundleResults CorrelationMatrix.

Definition at line 349 of file Project.h.

Referenced by controlClosed(), Project(), and ~Project().


The documentation for this class was generated from the following files: