Isis 3 Programmer Reference
Isis::Directory Class Reference

#include <Directory.h>

Inheritance diagram for Isis::Directory:
Inheritance graph
Collaboration diagram for Isis::Directory:
Collaboration graph

Classes

class  XmlHandler
 

Public Slots

void cleanupBundleObservationViews (QObject *)
 Removes pointers to deleted BundleObservationView objects. More...
 
void cleanupCnetEditorViewWidgets (QObject *)
 Removes pointers to deleted Control Health Monitor objects. More...
 
void cleanupCubeDnViewWidgets (QObject *)
 Removes pointers to deleted CubeDnView objects. More...
 
void cleanupFileListWidgets (QObject *)
 Removes pointers to deleted ImageFileListWidget objects. More...
 
void cleanupFootprint2DViewWidgets (QObject *)
 Removes pointers to deleted Footprint2DView objects. More...
 
void cleanupControlPointEditViewWidget (QObject *)
 Delete the ControlPointEditWidget and set it's pointer to NULL. More...
 
void cleanupMatrixViewWidgets (QObject *)
 Removes pointers to deleted MatrixSceneWidget objects. More...
 
void cleanupSensorInfoWidgets (QObject *)
 Removes pointers to deleted SensorInfoWidget objects. More...
 
void cleanupTargetInfoWidgets (QObject *)
 Removes pointers to deleted TargetInfoWidget objects. More...
 
void cleanupTemplateEditorWidgets (QObject *)
 Removes pointers to deleted TemplateEditorWidget objects. More...
 
void cleanupJigsawRunWidget (QObject *)
 
void updateControlNetEditConnections ()
 Updates the SIGNAL/SLOT connections for the cotrol net editor. More...
 
void modifyControlPoint (ControlPoint *controlPoint, QString serialNumber="")
 Slot that is connected from a left mouse button operation on views. More...
 
void deleteControlPoint (ControlPoint *controlPoint)
 Slot that is connected from a middle mouse button operation on views. More...
 
void createControlPoint (double latitude, double longitude, Cube *cube=0, bool isGroundSource=false)
 Slot that is connected from a right mouse button operation on views. More...
 
void updateRecentProjects (Project *project)
 Adds a new Project object to the list of recent projects if it has not already been added. More...
 
void updateRecentProjects ()
 Loads and displays a list of recently opened projects in the file menu. More...
 

Signals

void directoryCleaned ()
 
void newWarning ()
 
void newDockAvailable (QMainWindow *newWidget)
 
void newWidgetAvailable (QWidget *newWidget)
 
void closeView (QWidget *widget)
 
void cnetModified ()
 
void activeControlModified ()
 
void redrawMeasures ()
 
void cleanProject (bool)
 

Public Member Functions

 Directory (QObject *parent=0)
 The Constructor. More...
 
 ~Directory ()
 The Destructor. More...
 
void clean ()
 Cleans directory of everything to do with the current project. More...
 
void setHistoryContainer (QDockWidget *historyContainer)
 Set up the history info in the history dockable widget. More...
 
void setWarningContainer (QDockWidget *warningContainer)
 Set up the warning info in the warning dockable widget. More...
 
void setRecentProjectsList (QStringList recentProjects)
 Add recent projects to the recent projects list. More...
 
QStringList recentProjectsList ()
 Public accessor for the list of recent projects. More...
 
BundleObservationViewaddBundleObservationView (FileItemQsp fileItem)
 Add the BundleObservationView to the window. More...
 
ControlHealthMonitorViewaddControlHealthMonitorView ()
 
CnetEditorViewaddCnetEditorView (Control *control, QString objectName="")
 Add the widget for the cnet editor view to the window. More...
 
CubeDnViewaddCubeDnView (QString objectName="")
 Add the qview workspace to the window. More...
 
Footprint2DViewaddFootprint2DView (QString objectName="")
 Add the qmos view widget to the window. More...
 
JigsawRunWidgetaddJigsawRunWidget ()
 
MatrixSceneWidgetaddMatrixView ()
 Add the matrix view widget to the window. More...
 
TargetInfoWidgetaddTargetInfoView (TargetBodyQsp target)
 Add target body data view widget to the window. More...
 
TemplateEditorWidgetaddTemplateEditorView (Template *currentTemplate)
 Add template editor view widget to the window. More...
 
SensorInfoWidgetaddSensorInfoView (GuiCameraQsp camera)
 Add sensor data view widget to the window. More...
 
ImageFileListWidgetaddImageFileListView (QString objectName="")
 Add an imageFileList widget to the window. More...
 
ControlPointEditViewaddControlPointEditView ()
 
ProjectItemTreeViewaddProjectItemTreeView ()
 Adds a ProjectItemTreeView to the window. More...
 
ProjectItemModelmodel ()
 Gets the ProjectItemModel for this directory. More...
 
Projectproject () const
 Gets the Project for this directory. More...
 
QList< QAction * > fileMenuActions ()
 Get the list of actions that the Directory can provide for the file menu. More...
 
QList< QAction * > projectMenuActions ()
 Get the list of actions that the Directory can provide for the project menu. More...
 
QList< QAction * > editMenuActions ()
 Get the list of actions that the Directory can provide for the edit menu. More...
 
QList< QAction * > viewMenuActions ()
 Get the list of actions that the Directory can provide for the view menu. More...
 
QList< QAction * > settingsMenuActions ()
 Get the list of actions that the Directory can provide for the settings menu. More...
 
QList< QAction * > helpMenuActions ()
 Get the list of actions that the Directory can provide for the help menu. More...
 
QList< QAction * > permToolBarActions ()
 Get the list of actions that the Directory can provide for the permanent Tool Bar. More...
 
QList< QAction * > activeToolBarActions ()
 Get the list of actions that the Directory can provide for the active Tool Bar. More...
 
QList< QAction * > toolPadActions ()
 Get the list of actions that the Directory can provide for the Tool Pad. More...
 
QList< BundleObservationView * > bundleObservationViews ()
 
QList< CnetEditorView * > cnetEditorViews ()
 Returns a list of all the control network views for this directory. More...
 
QList< CubeDnView * > cubeDnViews ()
 Accessor for the list of CubeDnViews currently available. More...
 
QList< Footprint2DView * > footprint2DViews ()
 Accessor for the list of Footprint2DViews currently available. More...
 
QList< MatrixSceneWidget * > matrixViews ()
 Accessor for the list of MatrixSceneWidgets currently available. More...
 
QList< SensorInfoWidget * > sensorInfoViews ()
 Accessor for the list of SensorInfoWidgets currently available. More...
 
QList< TargetInfoWidget * > targetInfoViews ()
 Accessor for the list of TargetInfoWidgets currently available. More...
 
QList< TemplateEditorWidget * > templateEditorViews ()
 Accessor for the list of TemplateEditorWidgets currently available. More...
 
QList< ImageFileListWidget * > imageFileListViews ()
 Accessor for the list of ImageFileListWidgets currently available. More...
 
QList< QProgressBar * > progressBars ()
 Gets the ControlNetEditor associated with this the Directory. More...
 
ControlHealthMonitorViewcontrolHealthMonitorView ()
 
ControlPointEditViewcontrolPointEditView ()
 Gets the ControlPointEditWidget associated with the Directory. More...
 
JigsawRunWidgetjigsawRunWidget ()
 
bool controlUsedInCnetEditorWidget (Control *control)
 Return true if control is not currently being viewed in a CnetEditorWidget More...
 
QString editPointId ()
 Return the current control point id loaded in the ControlPointEditWidget. More...
 
template<typename DataType >
QList< QAction * > supportedActions (DataType data)
 Returns a list of supported actions for a WorkOrder. More...
 
void showWarning (QString text)
 Displays a Warning. More...
 
template<typename Data >
void showWarning (QString text, Data data)
 Shows warning text for a Widget. More...
 
QWidgetwarningWidget ()
 Returns a pointer to the warning widget. More...
 
QActionredoAction ()
 Creates an Action to redo the last action. More...
 
QActionundoAction ()
 Creates an Action to undo the last action. More...
 
void load (XmlStackedHandlerReader *xmlReader)
 Loads the Directory from an XML file. More...
 
void save (QXmlStreamWriter &stream, FileName newProjectRoot) const
 Save the directory to an XML file. More...
 

Private Slots

void initiateRenameProjectWorkOrder (QString projectName)
 Slot which is connected to the model's signal, projectNameEdited, which is emitted when the user double-clicks the project name, the parent node located on the ProjectTreeView. More...
 
void newActiveControl (bool newControl)
 This slot is connected from the signal activeControlSet(bool) emitted from Project. More...
 
void reloadActiveControlInCnetEditorView ()
 This slot was created specifically for the CnetEditorWidgets when user chooses a new active control and wants to discard any edits in the old active control. More...
 

Private Member Functions

 Directory (const Directory &other)
 
Directoryoperator= (const Directory &rhs)
 
template<typename WorkOrderType >
WorkOrderType * createWorkOrder ()
 Create a work order, append it to m_workOrders, and return it. More...
 
void initializeActions ()
 Initializes the actions that the Directory can provide to a main window. More...
 

Static Private Member Functions

static QList< QAction * > restructureActions (QList< QPair< QString, QList< QAction *> > >)
 Reformat actionPairings to be user friendly for use in menus. More...
 
static bool actionTextLessThan (QAction *lhs, QAction *rhs)
 This is for determining the ordering of the descriptive text of for the actions. More...
 

Private Attributes

QPointer< ProjectItemModelm_projectItemModel
 Pointer to the ProjectItemModel. More...
 
QPointer< HistoryTreeWidgetm_historyTreeWidget
 Pointer to the HistoryTreeWidget. More...
 
QPointer< Projectm_project
 Pointer to the Project. More...
 
QPointer< WarningTreeWidgetm_warningTreeWidget
 Pointer to the WarningTreeWidget. More...
 
QPointer< JigsawRunWidgetm_jigsawRunWidget
 Pointer to the JigsawRunWidget. More...
 
QList< QPointer< BundleObservationView > > m_bundleObservationViews
 
QList< QPointer< CnetEditorView > > m_cnetEditorViewWidgets
 List of CnetEditorViews. More...
 
QList< QPointer< CubeDnView > > m_cubeDnViewWidgets
 List of CubeDnCiew obs. More...
 
QList< QPointer< ImageFileListWidget > > m_fileListWidgets
 List of ImageFileListWidgets. More...
 
QList< QPointer< Footprint2DView > > m_footprint2DViewWidgets
 List of Footprint2DView objs. More...
 
QPointer< ControlHealthMonitorViewm_controlHealthMonitorView
 
QPointer< ControlPointEditViewm_controlPointEditViewWidget
 
QList< QPointer< MatrixSceneWidget > > m_matrixViewWidgets
 List of MatrixSceneWidgets. More...
 
QList< QPointer< SensorInfoWidget > > m_sensorInfoWidgets
 List of SensorInfoWidgets. More...
 
QList< QPointer< TargetInfoWidget > > m_targetInfoWidgets
 List of TargetInfoWidgets. More...
 
QList< QPointer< TemplateEditorWidget > > m_templateEditorWidgets
 List of TemplateEditorWidgets. More...
 
QList< QPointer< WorkOrder > > m_workOrders
 List of WorkOrders. More...
 
QStringList m_recentProjects
 List of the names of recent projects. More...
 
QPointer< WorkOrderm_exportControlNetWorkOrder
 The export ControlNetwork WorkOrder. More...
 
QPointer< WorkOrderm_exportImagesWorkOrder
 The export images WorkOrder. More...
 
QPointer< WorkOrderm_importControlNetWorkOrder
 The import ControlNetwork WorkOrder. More...
 
QPointer< WorkOrderm_importImagesWorkOrder
 The import images WorkOrder. More...
 
QPointer< WorkOrderm_importShapesWorkOrder
 The import shapes WorkOrder. More...
 
QPointer< WorkOrderm_openProjectWorkOrder
 The Open Project WorkOrder. More...
 
QPointer< WorkOrderm_saveProjectWorkOrder
 The Save Project WorkOrder. More...
 
QPointer< WorkOrderm_saveProjectAsWorkOrder
 The Save Project As WorkOrder. More...
 
QPointer< WorkOrderm_openRecentProjectWorkOrder
 The Open Recent Project WorkOrder. More...
 
QPointer< WorkOrderm_closeProjectWorkOrder
 The Close Project WorkOrder. More...
 
QPointer< WorkOrderm_importMapTemplateWorkOrder
 The Import Map Template WorkOrder. More...
 
QPointer< WorkOrderm_importRegistrationTemplateWorkOrder
 The Import Registration Template WorkOrder. More...
 
QPointer< WorkOrderm_runJigsawWorkOrder
 The Run Jigsaw WorkOrder. More...
 
QPointer< WorkOrderm_renameProjectWorkOrder
 The Rename Project WorkOrder. More...
 
QList< QAction * > m_fileMenuActions
 List of file menu actions. More...
 
QList< QAction * > m_projectMenuActions
 List of project menu actions. More...
 
QList< QAction * > m_editMenuActions
 List of edit menu actions. More...
 
QList< QAction * > m_viewMenuActions
 List of view menu actions. More...
 
QList< QAction * > m_settingsMenuActions
 List of menu settings actions. More...
 
QList< QAction * > m_helpMenuActions
 List of help menu actions. More...
 
QList< QAction * > m_permToolBarActions
 List of perm ToolBar actions. More...
 
QList< QAction * > m_activeToolBarActions
 List of active ToolBar actions. More...
 
QList< QAction * > m_toolPadActions
 List of ToolPad actions. More...
 
QMultiMap< Control *, CnetEditorView * > m_controlMap
 Map to hold every view with an open Control. More...
 
QString m_editPointId
 Current control point that is in the ControlPointEditWidget. More...
 
bool m_recentProjectsLoaded
 

Detailed Description

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

2012-07-30 Steven Lambright - The save action now has enabling/disabling of state functional (as long as there are work orders in the undo stack).

2012-08-28 Tracie Sucharski - Instead of this class adding tabs to a TabWidget, it now emits a signal which is connected to ipceMainWindow to create a new dock widget. This class no longer needs the viewContainer since it is not adding tabs.

2012-09-12 Steven Lambright - Added xml save/load capabilities, removed dead code relating to having only one image list (now we have N image lists).

2012-09-19 Steven Lambright - Re-implemented workOrders(ImageList *) into a generic templated version. Added m_workOrders and createWorkOrder().

2012-10-02 Stuart Sides and Steven Lambright - Renamed workOrders() to supportedActions(). This method now asks the footprint views for their supported actions in addition to the known work orders. Added sorting/smart arranging of the actions that come from the footprint views.

2012-10-03 Steven Lambright - Added 'All' option generation in restructureActions()

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

2015-10-05 Jeffrey Covington - Added a ProjectItemModel and the addProjectItemTreeView() method to start supporting Qt's model-view framework.

2016-01-04 Jeffrey Covington - Added support for CubeDnView and Footprint2DView, replacing old classes.

2016-06-17 Tyler Wilson - Added documentation for member functions/variables.

2016-07-06 Tracie Sucharski - Added ImportShapesWorkOrder, changed ControlNetEditor to ControlPointEditView.

2016-08-02 Tracie Sucharski - Added RemoveImagesWorkOrder.

2016-09-14 Tracie Sucharski - Added slots for mouse clicks on Footprint2DView and CubeDnViews for modifying, deleting and creating control points.

2016-11-07 Ian Humphrey - Restored saving and loading Footprint2DViews when saving and opening a project (modified save() and startElement()). Fixes #4486.

2016-11-10 Tracie Sucharski - Added functionality to save/restore CubeDnViews.

2016-12-21 Tracie Sucharski - Added QObject parameter to cleanupFootprint2DViewWidgets. All footprint views were being destroyed rather than simply the view which was closed. TODO: This also needs to be fixed for all other cleanup(View) methods.

2017-02-08 Tracie Sucharski - Implemented quick&dirty auto-save for active control net.

2017-02-23 Tracie Sucharski - Removed populateMainMenu method. It became obsolete during changes Jeffrey Covington made on 1-4-2016, rev 6511.

2017-02-28 Tracie Sucharski - Added ability to set the colors for the ControlPoint display on views which show ControlPoints such as CubeDnView and Footprint2DView. This is done as an application setting so that all views use the same colors. Directory stores the colors so that any registered view can get the current colors.

2017-04-17 Tracie Sucharski - Added connection between model's projectNameEdited, initiated by double-clicking the project name on the ProjectTreeView and Directory's slot, initiateRenameProjectWorkOrder. Fixes #2295.

2017-04-17 Ian Humphrey - Modified how ExportControlNet, ExportImages, and Jigsaw WorkOrder's are added to the main window menu. These are disabled by default, and connections are setup to listen for when cnets are added, when images are added, and when both an active cnet and image list have been set. Fixes #4749.

2017-04-25 Ian Humphrey - Modified initializeActions() so that the jigsaw work order is enabled whenever there are both images and cnets in the project. Otherwise, it is disabled until then. Fixes #4819.

2017-05-03 Tracie Sucharski - Added methods and member variables for the BundleObservationView. Fixes #4839. Fixes #4840.

2017-05-18 Tracie Sucharski - Added serialNumber to the modifyControlPoint slot.

2017-05-23 Tracie Sucharski - Fixed all of the cleanup methods to properly remove the correct view/widget from the lists. Fixes #4847.

2017-06-14 Ken Edmundson - Commented out ChipViewport widget code. This will be temporary until the widget is fully developed.

2017-07-10 Tracie Sucharski - Removed deletion of m_controlPointEditViewWidget. Because it is a QPointer, it is set to null when ControlPointEditView is destroyed. Currently, cleanupControlPointEditViewWidget is not doing anything. However, I'm leaving the method for now, because once the views are connected, we will probably need to cleanup the connections when the view is closed. Fixes #4959.

2017-07-12 Cole Neubauer - Added clean function to directory that clears everything from a previous project when opening a new one. This functionality had to be added because a new directory can not be created to support a new project being opened. Fixes #4969

2017-07-17 Cole Neubauer - Disabled CNet tool when a Footprint2DView is added if a control net is not active and slotted it to reenable when Project emits activeControlSet(bool). Fixes #5046. Fixes #5046

2017-07-18 Cole Neubauer - Because the ImageFileListWidget now exists only inside the Footprint2DView the ImageFileListWidgetWorkOrder was removed from the context menu Fixes #4996

2017-07-24 Makayla Shepherd - Fixed a seg fault in ipce that occurs when attempting to edit a control point when there is not an active control network. Fixes #5048.

2017-07-26 Cole Neubauer -Set save button to default be disabled Fixes #4960

2017-08-02 Tracie Sucharski - Add member variable and accessor method for the current edit control point ID. Fixes #5007, #5008.

2017-08-07 Cole Neubauer - Changed all references from IpceTool to ControlNetTool Fixes #5090

2017-08-08 Makayla Shepherd - Fixed a seg fault that occurs when trying to edit a control net without having an active control net set. Fixes #5048.

2017-08-08 Makayla Shepherd - Fixed a seg fault that occurs when right clicking a control network when it is the only item on the project. Fixes #5071.

2017-08-09 Cole Neubauer - Disabled Ipce tool when a CubeDnView is added if a control net is not active and slotted to reenable when Project emits activeControlSet(bool). Added a m_controlmap variable to hold which Controls are currently being used and closes the controls not needed at the moment Fixes #5026

2017-08-11 Christopher Combs - Added serialization of CnetEditorWidgets to save() and startElement(). Fixes #4989.

2017-08-11 Cole Neubauer - Added project setClean(false) call to all views cleanup slot. This will make a a view closing be treated as a project change Fixes #5113

2017-08-14 Summer Stapleton - Updated icons/images to properly licensed or open source images. Fixes #5105.

2017-08-15 Tracie Sucharski - Added comments explaing connections for control point editing actions between views.

2017-08-18 Tracie Sucharski - Removed deletion of control net from ::makeBackupActiveControl, don't know why it was being deleted.

2017-08-23 Tracie Sucharski - Fixed some code involving connections in in ::addFootprint2DView which got messed up in a svn merge. Removed unused signal, controlPointAdded.

2017-11-02 Tyler Wilson - Added the updateRecentProjects() function which updates the Recent Projects file menu with recently loaded projects. Fixes #4492.

2017-11-03 Christopher Combs - Added support for new Template and TemplateList classes. Fixes #5117.

2017-11-09 Tyler Wilson - Made changes to updateRecentProjects() to handle deleting the OpenRecentProjectWorkOrder. Fixes #5220.

2017-11-13 Makayla Shepherd - Modifying the name of an ImageList, ShapeList or BundeSolutionInfo on the ProjectTree now sets the project to not clean. Fixes #5174.

2017-12-01 Summer Stapleton - Commented-out RemoveImagesWorkOrder being created. Fixes #5224

2017-12-01 Adam Goins Modified updateRecentProjects() to update the recent projects menu it display a chronologically ordered list of recently loaded projects. Fixes #5216.

2017-12-05 Christopher Combs - Added support for TemplateEditorWidget and TemplateEditViewWorkOrder. Fixes #5168.

2018-03-14 Ken Edmundson - Modified m_controlMap value from QWidget to CnetEditorWidget and changed connection to take signal from a CnetEditorWidget instead of a QWidget for destruction of CnetEditorWidgets. Added ability to view bundleout.txt file in method addBundleObservationView.

2018-03-14 Tracie Sucharski - Changed MosaicControlNetTool to ControlNetTool in addCubeDnView. Added method controlUsedInCnetEditorWidget so Project knows whether it is safe to close a control net when a new active is set. References #5026.

2018-03-30 Tracie Sucharski - Use the Control::write to write the control net to disk instead of directly calling ControlNet::Write, so that the Control can keep track of the modified status of the control net. Connect cnetModified signal to Project::activeControlModified so modified state of the active control can be set so project knows that control has unsaved changes.

2018-04-02 Tracie Sucharski - Cleanup m_controlPointEditViewWidget pointer when the ControlPointEditView is deleted. Added slot to reload the active control net in cneteditor view, effectively discarding any edits. This was done because there is no way to re-load a control net in the CnetEditor widget classes.

2018-04-04 Tracie Sucharski - Created CnetEditorView class to use to add to QMdiArea instead of a CnetEditorWidget. This way there is no longer a disconnect between what has been added to the QMdiArea and what is stored in m_cnetEditorViewWidgets.

2018-05-08 Tracie Sucharski - When saving active control, reset the "Save Net" button to black in the ControlPointEditorWidget.

2018-05-14 Tracie Sucharski - Serialize Footprint2DView rather than MosaicSceneWidget. This will allow all parts of Footprint2DView to be saved/restored including the ImageFileListWidget. Fixes #5422.

2018-05-25 Christopher Combs - Made changes to reflect updates to JigsawRunWidget. Added addJigsawView method and m_jigsawRunWidget member variable. Fixes #5428.

2018-06-07 Adam Goins - Added the addControlHealthMonitorView() method to directory. Fixes #5435.

2018-06-13 Kaitlyn Lee - The signal activeControlSet() in addCubeDnView() and addFootprint2DView() now connects to enableControlNetTool() in CubeDnView and Footprint2DView, instead of enabling the tool directly. Removed saveActiveControl() since users can save the control network with the project save button.

2018-06-18 Summer Stapleton - Added connection to each view on creation to catch a windowChangeEvent on moveEvent or resizeEvent of these views to allow for saving of the project at these times. Fixes #5114.

2018-06-19 Adam Goins - Gave the ControlHealthMonitorView() a reference to the directory instance rather than the activeControl. Fixes #5435.

2018-07-07 Summer Stapleton - Implemented changes to handle implementation of separate import work orders for both map and registration templates.

2018-07-09 Tracie Sucharski - When adding views, check if the objectName is set which it should be when creating a view from a project serialization. If the objectName has not been set, this is a new view and the unique objectName needs to be created.

2018-07-09 Kaitlyn Lee - Uncommented code that closes a ControlPointEditView when a new active control is set.

2018-07-12 Tracie Sucharski - Renamed viewClosed signal to closeView. Moved the close/open control net from reloadActiveControlInCnetEditorView to Project::setActiveControl to prevent seg fault when there are multiple cnetEditorViews with same cnet.

2018-07-12 Kaitlyn Lee - Changed connection between cnetModified() and project's activeControlModified() to cnetModified() and project's renamed method cnetModified(). This will allow users to save a nonactive cnet, since changes to multiple cnets will be connected. Fixes #5414.

2018-07-13 Kaitlyn Lee - Added connection to color the save net button to black when a cnet is saved. Added signal activeControlModified() and changed connections that alerted views to redraw themselves when a cnet was modified. Now, views will only be redrawn when activeControlModified() is signaled, instead of cnetModified(). This stops views from being redrawn when any cnet is modified, but still occurs when the active is modified. Fixes #5396.

2018-08-08 Tracie Sucharski - Removed makeBackupActive slot which was a temporary autosave of active control, most likely causing problems with large networks.

Definition at line 285 of file Directory.h.

Constructor & Destructor Documentation

◆ Directory()

◆ ~Directory()

Isis::Directory::~Directory ( )

The Destructor.

Definition at line 205 of file Directory.cpp.

References m_project, and m_workOrders.

Member Function Documentation

◆ actionTextLessThan()

bool Isis::Directory::actionTextLessThan ( QAction lhs,
QAction rhs 
)
staticprivate

This is for determining the ordering of the descriptive text of for the actions.

Parameters
lhsThe first QAction argument.
rhsThe second QAction argument.
Returns
bool Returns True if the text for the lhs QAction is less than the text for the rhs QAction. Returns False otherwise.

Definition at line 1807 of file Directory.cpp.

Referenced by restructureActions().

◆ activeToolBarActions()

QList< QAction * > Isis::Directory::activeToolBarActions ( )

Get the list of actions that the Directory can provide for the active Tool Bar.

Returns
QList<QAction *> Returns a list of active Tool Bar actions.

Definition at line 283 of file Directory.cpp.

References m_activeToolBarActions.

◆ addBundleObservationView()

BundleObservationView * Isis::Directory::addBundleObservationView ( FileItemQsp  fileItem)

◆ addCnetEditorView()

◆ addCubeDnView()

CubeDnView * Isis::Directory::addCubeDnView ( QString  objectName = "")

◆ addFootprint2DView()

Footprint2DView * Isis::Directory::addFootprint2DView ( QString  objectName = "")

◆ addImageFileListView()

ImageFileListWidget * Isis::Directory::addImageFileListView ( QString  objectName = "")

Add an imageFileList widget to the window.

Returns
(ImageFileListWidget *) A pointer to the widget to add to the window.

Definition at line 1040 of file Directory.cpp.

References cleanupFileListWidgets(), and m_fileListWidgets.

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

◆ addMatrixView()

MatrixSceneWidget * Isis::Directory::addMatrixView ( )

Add the matrix view widget to the window.

Returns
(MatrixSceneWidget*) The widget to view.

Definition at line 938 of file Directory.cpp.

References cleanupMatrixViewWidgets(), and m_matrixViewWidgets.

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

◆ addProjectItemTreeView()

ProjectItemTreeView * Isis::Directory::addProjectItemTreeView ( )

Adds a ProjectItemTreeView to the window.

Returns
(ProjectItemTreeView *) The added view.

Definition at line 1067 of file Directory.cpp.

References initiateRenameProjectWorkOrder(), m_project, m_projectItemModel, and Isis::AbstractProjectItemView::setModel().

◆ addSensorInfoView()

SensorInfoWidget * Isis::Directory::addSensorInfoView ( GuiCameraQsp  camera)

Add sensor data view widget to the window.

Returns
(SensorInfoWidget*) The widget to view.

Definition at line 1018 of file Directory.cpp.

References cleanupSensorInfoWidgets(), and m_sensorInfoWidgets.

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

◆ addTargetInfoView()

TargetInfoWidget * Isis::Directory::addTargetInfoView ( TargetBodyQsp  target)

Add target body data view widget to the window.

Returns
(TargetInfoWidget*) The widget to view.

Definition at line 959 of file Directory.cpp.

References cleanupTargetInfoWidgets(), and m_targetInfoWidgets.

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

◆ addTemplateEditorView()

TemplateEditorWidget * Isis::Directory::addTemplateEditorView ( Template currentTemplate)

Add template editor view widget to the window.

Returns
(TemplateEditorWidget*) The widget to view.

Definition at line 980 of file Directory.cpp.

References cleanupTemplateEditorWidgets(), Isis::Template::fileName(), and m_templateEditorWidgets.

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

◆ clean()

void Isis::Directory::clean ( )

Cleans directory of everything to do with the current project.

This function was implemented to be called from the Project::clear function to allow for a new project to be opened in IPCE.

Definition at line 303 of file Directory.cpp.

References m_cnetEditorViewWidgets, m_cubeDnViewWidgets, m_fileListWidgets, m_footprint2DViewWidgets, m_historyTreeWidget, m_jigsawRunWidget, m_matrixViewWidgets, m_projectItemModel, m_sensorInfoWidgets, m_targetInfoWidgets, m_templateEditorWidgets, and m_warningTreeWidget.

Referenced by Isis::Project::clear().

◆ cleanupBundleObservationViews

void Isis::Directory::cleanupBundleObservationViews ( QObject obj)
slot

Removes pointers to deleted BundleObservationView objects.

Definition at line 1122 of file Directory.cpp.

References m_project.

Referenced by addBundleObservationView().

◆ cleanupCnetEditorViewWidgets

void Isis::Directory::cleanupCnetEditorViewWidgets ( QObject obj)
slot

Removes pointers to deleted Control Health Monitor objects.

Removes pointers to deleted CnetEditorWidget objects.

Definition at line 1149 of file Directory.cpp.

References Isis::Project::activeControl(), Isis::Control::closeControlNet(), m_cnetEditorViewWidgets, m_controlMap, m_project, and project().

Referenced by addCnetEditorView().

◆ cleanupControlPointEditViewWidget

void Isis::Directory::cleanupControlPointEditViewWidget ( QObject obj)
slot

Delete the ControlPointEditWidget and set it's pointer to NULL.

Definition at line 1233 of file Directory.cpp.

References controlPointEditView(), and m_project.

◆ cleanupCubeDnViewWidgets

void Isis::Directory::cleanupCubeDnViewWidgets ( QObject obj)
slot

Removes pointers to deleted CubeDnView objects.

Definition at line 1191 of file Directory.cpp.

References m_cubeDnViewWidgets, and m_project.

Referenced by addCubeDnView().

◆ cleanupFileListWidgets

void Isis::Directory::cleanupFileListWidgets ( QObject obj)
slot

Removes pointers to deleted ImageFileListWidget objects.

Definition at line 1205 of file Directory.cpp.

References m_fileListWidgets, and m_project.

Referenced by addImageFileListView().

◆ cleanupFootprint2DViewWidgets

void Isis::Directory::cleanupFootprint2DViewWidgets ( QObject obj)
slot

Removes pointers to deleted Footprint2DView objects.

Definition at line 1219 of file Directory.cpp.

References m_footprint2DViewWidgets, and m_project.

Referenced by addFootprint2DView().

◆ cleanupMatrixViewWidgets

void Isis::Directory::cleanupMatrixViewWidgets ( QObject obj)
slot

Removes pointers to deleted MatrixSceneWidget objects.

Definition at line 1248 of file Directory.cpp.

References m_matrixViewWidgets, and m_project.

Referenced by addMatrixView().

◆ cleanupSensorInfoWidgets

void Isis::Directory::cleanupSensorInfoWidgets ( QObject obj)
slot

Removes pointers to deleted SensorInfoWidget objects.

Definition at line 1262 of file Directory.cpp.

References m_project, and m_sensorInfoWidgets.

Referenced by addSensorInfoView().

◆ cleanupTargetInfoWidgets

void Isis::Directory::cleanupTargetInfoWidgets ( QObject obj)
slot

Removes pointers to deleted TargetInfoWidget objects.

Definition at line 1276 of file Directory.cpp.

References m_project, and m_targetInfoWidgets.

Referenced by addTargetInfoView().

◆ cleanupTemplateEditorWidgets

void Isis::Directory::cleanupTemplateEditorWidgets ( QObject obj)
slot

Removes pointers to deleted TemplateEditorWidget objects.

Definition at line 1290 of file Directory.cpp.

References m_project, and m_templateEditorWidgets.

Referenced by addTemplateEditorView().

◆ cnetEditorViews()

QList< CnetEditorView * > Isis::Directory::cnetEditorViews ( )

Returns a list of all the control network views for this directory.

Returns
QList<CnetEditorView *> A pointer list of all the CnetEditorWidget objects.

Definition at line 1334 of file Directory.cpp.

References m_cnetEditorViewWidgets.

Referenced by Isis::CnetEditorViewWorkOrder::undoExecution().

◆ controlPointEditView()

◆ controlUsedInCnetEditorWidget()

bool Isis::Directory::controlUsedInCnetEditorWidget ( Control control)

Return true if control is not currently being viewed in a CnetEditorWidget

Parameters
Control* Control used to search current CnetEditorWidgets
Returns
(bool) Returns true if control is currently being viewed in CnetEditorWidget

Definition at line 1175 of file Directory.cpp.

References m_controlMap.

◆ createControlPoint

void Isis::Directory::createControlPoint ( double  latitude,
double  longitude,
Cube cube = 0,
bool  isGroundSource = false 
)
slot

Slot that is connected from a right mouse button operation on views.

Parameters
latitude(double) Latitude location where the control point was created
longitude(double) Longitude location where the control point was created
cube(Cube *) The Cube in the CubeDnView that was used to select location for new control point. This parameter will be empty if control point was selected from Footprint2DView.
isGroundSource(bool) Indicates whether the Cube in the CubeDnView that was used to select location for new control point is a ground source. This parameter will be empty if control point was selected from Footprint2DView.

Definition at line 1903 of file Directory.cpp.

References controlPointEditView(), Isis::ControlPointEditView::controlPointEditWidget(), Isis::ControlPointEditWidget::createControlPoint(), and m_editPointId.

Referenced by addCubeDnView(), and addFootprint2DView().

◆ createWorkOrder()

template<typename WorkOrderType >
WorkOrderType* Isis::Directory::createWorkOrder ( )
inlineprivate

Create a work order, append it to m_workOrders, and return it.

Example: createWorkOrder<ImageFileListViewWorkOrder>(); This will create a new ImageFileListViewWorkOrder and append it to m_workOrders.

Returns
A pointer to the WorkOrder created by this function.

Definition at line 486 of file Directory.h.

References m_project, and m_workOrders.

◆ cubeDnViews()

QList< CubeDnView * > Isis::Directory::cubeDnViews ( )

Accessor for the list of CubeDnViews currently available.

Returns
QList<CubeDnView *> The list CubeDnView objects.

Definition at line 1349 of file Directory.cpp.

References m_cubeDnViewWidgets.

Referenced by Isis::CubeDnViewWorkOrder::execute(), and Isis::CubeDnViewWorkOrder::setupExecution().

◆ deleteControlPoint

void Isis::Directory::deleteControlPoint ( ControlPoint controlPoint)
slot

Slot that is connected from a middle mouse button operation on views.

Parameters
controlPoint(ControlPoint *) The control point selected from view for editing

Definition at line 1872 of file Directory.cpp.

References controlPointEditView(), Isis::ControlPointEditView::controlPointEditWidget(), Isis::ControlPointEditWidget::deletePoint(), Isis::ControlPoint::GetId(), and m_editPointId.

Referenced by addCubeDnView(), addFootprint2DView(), and updateControlNetEditConnections().

◆ editMenuActions()

QList< QAction * > Isis::Directory::editMenuActions ( )

Get the list of actions that the Directory can provide for the edit menu.

Returns
QList<QAction *> Returns a list of edit menu actions.

Definition at line 238 of file Directory.cpp.

References m_editMenuActions.

◆ editPointId()

QString Isis::Directory::editPointId ( )

Return the current control point id loaded in the ControlPointEditWidget.

Returns
QString Id of the control point loaded in the ControlPointEditWidget

Definition at line 1923 of file Directory.cpp.

References m_editPointId.

Referenced by Isis::ControlPointGraphicsItem::paint().

◆ fileMenuActions()

QList< QAction * > Isis::Directory::fileMenuActions ( )

Get the list of actions that the Directory can provide for the file menu.

Returns
QList<QAction *> Returns a list of file menu actions.

Definition at line 220 of file Directory.cpp.

References m_fileMenuActions.

◆ footprint2DViews()

QList< Footprint2DView * > Isis::Directory::footprint2DViews ( )

Accessor for the list of Footprint2DViews currently available.

Returns
QList<Footprint2DView *> The list of MosaicSceneWidget objects.

Definition at line 1424 of file Directory.cpp.

References m_footprint2DViewWidgets.

Referenced by Isis::Footprint2DViewWorkOrder::execute(), and Isis::Footprint2DViewWorkOrder::setupExecution().

◆ helpMenuActions()

QList< QAction * > Isis::Directory::helpMenuActions ( )

Get the list of actions that the Directory can provide for the help menu.

Returns
QList<QAction *> Returns a list of help menu actions.

Definition at line 265 of file Directory.cpp.

References m_helpMenuActions.

◆ imageFileListViews()

QList< ImageFileListWidget * > Isis::Directory::imageFileListViews ( )

Accessor for the list of ImageFileListWidgets currently available.

Returns
QList<ImageFileListWidget *> The list of ImageFileListWidgets.

Definition at line 1439 of file Directory.cpp.

References m_fileListWidgets.

Referenced by Isis::ImageFileListViewWorkOrder::execute(), and Isis::ImageFileListViewWorkOrder::setupExecution().

◆ initializeActions()

void Isis::Directory::initializeActions ( )
private

Initializes the actions that the Directory can provide to a main window.

Any work orders that need to be disabled by default can be done so here. You need to grab the clone pointer, setEnabled(false), then set up the proper connections between the project signals (representing changes to state) and WorkOrder::enableWorkOrder.

Todo:
2017-02-14 Tracie Sucharski - As far as I can tell the created menus are never used. Instead of creating menus to use the addAction method, can't we simply create actions and add them to the member variables which save the list of actions for each menu?

Definition at line 422 of file Directory.cpp.

References m_closeProjectWorkOrder, m_editMenuActions, m_exportControlNetWorkOrder, m_exportImagesWorkOrder, m_fileMenuActions, m_helpMenuActions, m_importControlNetWorkOrder, m_importImagesWorkOrder, m_importMapTemplateWorkOrder, m_importRegistrationTemplateWorkOrder, m_importShapesWorkOrder, m_openProjectWorkOrder, m_permToolBarActions, m_project, m_projectMenuActions, m_renameProjectWorkOrder, m_runJigsawWorkOrder, m_saveProjectAsWorkOrder, m_saveProjectWorkOrder, m_settingsMenuActions, m_viewMenuActions, and project().

Referenced by Directory().

◆ initiateRenameProjectWorkOrder

void Isis::Directory::initiateRenameProjectWorkOrder ( QString  projectName)
privateslot

Slot which is connected to the model's signal, projectNameEdited, which is emitted when the user double-clicks the project name, the parent node located on the ProjectTreeView.

A RenameProjectWorkOrder is created then passed to the Project which executes the WorkOrder.

Parameters
QStringprojectName New project name

Definition at line 1092 of file Directory.cpp.

References Isis::Project::addToProject(), and project().

Referenced by addProjectItemTreeView().

◆ load()

void Isis::Directory::load ( XmlStackedHandlerReader xmlReader)

Loads the Directory from an XML file.

Parameters
xmlReaderThe reader that takes in and parses the XML file.

Definition at line 1523 of file Directory.cpp.

References Isis::XmlStackedHandlerReader::pushContentHandler().

◆ matrixViews()

QList< MatrixSceneWidget * > Isis::Directory::matrixViews ( )

Accessor for the list of MatrixSceneWidgets currently available.

Returns
QList<MatrixSceneWidget *> The list of MatrixSceneWidget objects.

Definition at line 1364 of file Directory.cpp.

References m_matrixViewWidgets.

Referenced by Isis::MatrixViewWorkOrder::setupExecution(), and Isis::MatrixViewWorkOrder::undoExecution().

◆ model()

◆ modifyControlPoint

void Isis::Directory::modifyControlPoint ( ControlPoint controlPoint,
QString  serialNumber = "" 
)
slot

Slot that is connected from a left mouse button operation on views.

Parameters
controlPoint(ControlPoint *) The control point selected from view for editing
serialNumber(QString) The serial number of Cube that was used to select control point from the CubeDnView. This parameter will be empty if control point was selected from Footprint2DView.

Definition at line 1850 of file Directory.cpp.

References controlPointEditView(), Isis::ControlPointEditView::controlPointEditWidget(), Isis::ControlPoint::GetId(), m_editPointId, and Isis::ControlPointEditWidget::setEditPoint().

Referenced by addCnetEditorView(), addCubeDnView(), and addFootprint2DView().

◆ newActiveControl

void Isis::Directory::newActiveControl ( bool  newControl)
privateslot

◆ permToolBarActions()

QList< QAction * > Isis::Directory::permToolBarActions ( )

Get the list of actions that the Directory can provide for the permanent Tool Bar.

Returns
QList<QAction *> Returns a list of permanent tool bar menu actions.

Definition at line 274 of file Directory.cpp.

References m_permToolBarActions.

◆ progressBars()

QList< QProgressBar * > Isis::Directory::progressBars ( )

Gets the ControlNetEditor associated with this the Directory.

Returns
(ControlNetEditor *) Returns a pointer to the ControlNetEditor. Returns a list of progress bars associated with this Directory.
QList<QProgressBar *>

Definition at line 1485 of file Directory.cpp.

◆ project()

◆ projectMenuActions()

QList< QAction * > Isis::Directory::projectMenuActions ( )

Get the list of actions that the Directory can provide for the project menu.

Returns
QList<QAction *> Returns a list of project menu actions.

Definition at line 229 of file Directory.cpp.

References m_projectMenuActions.

◆ recentProjectsList()

QStringList Isis::Directory::recentProjectsList ( )

Public accessor for the list of recent projects.

Returns
QStringList List of recent projects.

Definition at line 607 of file Directory.cpp.

References m_recentProjects.

◆ redoAction()

QAction * Isis::Directory::redoAction ( )

Creates an Action to redo the last action.

Returns
(QAction *) Returns an action pointer to redo the last action.

Definition at line 1505 of file Directory.cpp.

References project(), and Isis::Project::undoStack().

◆ reloadActiveControlInCnetEditorView

void Isis::Directory::reloadActiveControlInCnetEditorView ( )
privateslot

This slot was created specifically for the CnetEditorWidgets when user chooses a new active control and wants to discard any edits in the old active control.

The only view which will not be updated with the new control are any CnetEditorViews showing the old active control. CnetEditorWidget classes do not have the ability to reload a control net, so the CnetEditor view displaying the old control is removed, then recreated.

Definition at line 563 of file Directory.cpp.

References Isis::Project::activeControl(), addCnetEditorView(), Isis::CnetEditorView::control(), m_cnetEditorViewWidgets, and project().

Referenced by Directory().

◆ restructureActions()

QList< QAction * > Isis::Directory::restructureActions ( QList< QPair< QString, QList< QAction *> > >  actionPairings)
staticprivate

Reformat actionPairings to be user friendly for use in menus.

actionPairings is: Widget A -> Action 1 Action 2 Action 3 Widget B -> Action 1 Action 3 NULL Action 4 ...

We convert this into a list of actions, that when added to a menu, looks like: Action 1 -> Widget A Widget B Action 2 on Widget A Action 3 -> Widget A

Widget B

Action 4 on Widget B

The NULL separators aren't 100% yet, but work a good part of the time.

This works by doing a data transformation and then using the resulting data structures to populate the menu.

actionPairings is transformed into: restructuredData: Action 1 -> (Widget A, QAction *) (Widget B, QAction *) Action 2 -> (Widget A, QAction *) Action 3 -> (Widget A, QAction *) (Widget B, QAction *) Action 4 -> (Widget B, QAction *)

and

sortedActionTexts - A list of unique (if not empty) strings: "Action 1" "Action 2" "Action 3" "" "Action 4"

This transformation is done by looping linearly through actionPairings and for each action in the pairings we add to the restructured data and append the action's text to sortedActionTexts.

We loop through sortedActionTexts and populate the menu based based on the current (sorted) action text. If the action text is NULL (we saw a separator in the input), we add a NULL (separator) to the resulting list of actions. If it isn't NULL, we create a menu or utilize the action directly depending on if there are multiple actions with the same text.

Parameters
actionPairingsA list of action pairings.
Returns
QList<QAction *> A list of actions that can be added to a menu.

Definition at line 1707 of file Directory.cpp.

References actionTextLessThan().

◆ save()

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

Save the directory to an XML file.

Parameters
streamThe XML stream writer
newProjectRootThe FileName of the project this Directory is attached to.
History:
2016-11-07 Ian Humphrey - Restored saving of footprints (footprint2view). References #4486.

Definition at line 1537 of file Directory.cpp.

References m_cnetEditorViewWidgets, m_cubeDnViewWidgets, m_fileListWidgets, m_footprint2DViewWidgets, project(), Isis::ImageFileListWidget::save(), Isis::CnetEditorView::save(), and Isis::Footprint2DView::save().

◆ sensorInfoViews()

QList< SensorInfoWidget * > Isis::Directory::sensorInfoViews ( )

Accessor for the list of SensorInfoWidgets currently available.

Returns
QList<SensorInfoWidget *> The list of SensorInfoWidget objects.

Definition at line 1379 of file Directory.cpp.

References m_sensorInfoWidgets.

Referenced by Isis::SensorGetInfoWorkOrder::isExecutable().

◆ setHistoryContainer()

void Isis::Directory::setHistoryContainer ( QDockWidget historyContainer)

Set up the history info in the history dockable widget.

Parameters
historyContainerThe widget to fill.

Definition at line 525 of file Directory.cpp.

References m_historyTreeWidget, and project().

◆ setRecentProjectsList()

void Isis::Directory::setRecentProjectsList ( QStringList  recentProjects)

Add recent projects to the recent projects list.

Parameters
recentProjectsList of projects to add to list.

Definition at line 549 of file Directory.cpp.

References m_recentProjects.

◆ settingsMenuActions()

QList< QAction * > Isis::Directory::settingsMenuActions ( )

Get the list of actions that the Directory can provide for the settings menu.

Returns
QList<QAction *> Returns a list of menu actions for the settings.

Definition at line 256 of file Directory.cpp.

References m_settingsMenuActions.

◆ setWarningContainer()

void Isis::Directory::setWarningContainer ( QDockWidget warningContainer)

Set up the warning info in the warning dockable widget.

Parameters
warningContainerThe widget to fill.

Definition at line 537 of file Directory.cpp.

References m_warningTreeWidget.

◆ showWarning() [1/2]

void Isis::Directory::showWarning ( QString  text)

Displays a Warning.

Parameters
textThe text to be displayed as a warning.

Definition at line 1495 of file Directory.cpp.

References m_warningTreeWidget.

Referenced by Isis::Project::open().

◆ showWarning() [2/2]

template<typename Data >
void Isis::Directory::showWarning ( QString  text,
Data  data 
)
inline

Shows warning text for a Widget.

Parameters
textThe warning text.
DataThe Widget object we are passing the warning to.

Definition at line 395 of file Directory.h.

◆ supportedActions()

template<typename DataType >
QList<QAction *> Isis::Directory::supportedActions ( DataType  data)
inline

Returns a list of supported actions for a WorkOrder.

Parameters
dataThe WorkOrder type we are using.
Returns
QList<QAction *> A list of supported actions.

Definition at line 359 of file Directory.h.

References Isis::WorkOrder::isExecutable(), m_workOrders, and Isis::WorkOrder::setData().

Referenced by Isis::MosaicSceneItem::contextMenuEvent(), and Isis::MosaicSceneWidget::contextMenuEvent().

◆ targetInfoViews()

QList< TargetInfoWidget * > Isis::Directory::targetInfoViews ( )

Accessor for the list of TargetInfoWidgets currently available.

Returns
QList<TargetInfoWidget *> The list of TargetInfoWidget objects.

Definition at line 1394 of file Directory.cpp.

References m_targetInfoWidgets.

Referenced by Isis::TargetGetInfoWorkOrder::isExecutable().

◆ templateEditorViews()

QList< TemplateEditorWidget * > Isis::Directory::templateEditorViews ( )

Accessor for the list of TemplateEditorWidgets currently available.

Returns
QList<TemplateEditorWidget *> The list of TemplateEditorWidget objects.

Definition at line 1409 of file Directory.cpp.

References m_templateEditorWidgets.

Referenced by Isis::TemplateEditViewWorkOrder::isExecutable().

◆ toolPadActions()

QList< QAction * > Isis::Directory::toolPadActions ( )

Get the list of actions that the Directory can provide for the Tool Pad.

Returns
QList<QAction *> Returns a list of Tool Pad actions.

Definition at line 292 of file Directory.cpp.

References m_toolPadActions.

◆ undoAction()

QAction * Isis::Directory::undoAction ( )

Creates an Action to undo the last action.

Returns
(QAction *) Returns an action pointer to undo the last action.

Definition at line 1514 of file Directory.cpp.

References project(), and Isis::Project::undoStack().

◆ updateControlNetEditConnections

void Isis::Directory::updateControlNetEditConnections ( )
slot

Updates the SIGNAL/SLOT connections for the cotrol net editor.

Definition at line 1816 of file Directory.cpp.

References deleteControlPoint(), and m_footprint2DViewWidgets.

◆ updateRecentProjects [1/2]

void Isis::Directory::updateRecentProjects ( Project project)
slot

Adds a new Project object to the list of recent projects if it has not already been added.

Parameters
projectA pointer to the Project to add.

Definition at line 1316 of file Directory.cpp.

References m_recentProjects, project(), and Isis::Project::projectRoot().

◆ updateRecentProjects [2/2]

void Isis::Directory::updateRecentProjects ( )
slot

Loads and displays a list of recently opened projects in the file menu.

History:

Tyler Wilson 2017-10-17 - This function updates the Recent Projects File menu. References #4492.

Adam Goins 2017-11-27 - Updated this function to add the most recent project to the recent projects menu. References #5216.

Definition at line 332 of file Directory.cpp.

References Isis::FileName::fileExists(), m_fileMenuActions, m_openProjectWorkOrder, m_recentProjects, and Isis::Project::maxRecentProjects().

Referenced by Directory().

◆ viewMenuActions()

QList< QAction * > Isis::Directory::viewMenuActions ( )

Get the list of actions that the Directory can provide for the view menu.

Returns
QList<QAction *> Returns a list of view menu actions.

Definition at line 247 of file Directory.cpp.

References m_viewMenuActions.

◆ warningWidget()

QWidget * Isis::Directory::warningWidget ( )

Returns a pointer to the warning widget.

Returns
(QWidget *) The WarningTreeWidget pointer.

Definition at line 1114 of file Directory.cpp.

References m_warningTreeWidget.

Member Data Documentation

◆ m_activeToolBarActions

QList<QAction *> Isis::Directory::m_activeToolBarActions
private

List of active ToolBar actions.

Definition at line 552 of file Directory.h.

Referenced by activeToolBarActions().

◆ m_closeProjectWorkOrder

QPointer<WorkOrder> Isis::Directory::m_closeProjectWorkOrder
private

The Close Project WorkOrder.

Definition at line 537 of file Directory.h.

Referenced by Directory(), and initializeActions().

◆ m_cnetEditorViewWidgets

QList< QPointer<CnetEditorView> > Isis::Directory::m_cnetEditorViewWidgets
private

◆ m_controlMap

QMultiMap<Control*, CnetEditorView *> Isis::Directory::m_controlMap
private

Map to hold every view with an open Control.

Definition at line 555 of file Directory.h.

Referenced by addCnetEditorView(), cleanupCnetEditorViewWidgets(), and controlUsedInCnetEditorWidget().

◆ m_cubeDnViewWidgets

QList< QPointer<CubeDnView> > Isis::Directory::m_cubeDnViewWidgets
private

List of CubeDnCiew obs.

Definition at line 510 of file Directory.h.

Referenced by addCubeDnView(), clean(), cleanupCubeDnViewWidgets(), cubeDnViews(), and save().

◆ m_editMenuActions

QList<QAction *> Isis::Directory::m_editMenuActions
private

List of edit menu actions.

Definition at line 546 of file Directory.h.

Referenced by editMenuActions(), and initializeActions().

◆ m_editPointId

QString Isis::Directory::m_editPointId
private

Current control point that is in the ControlPointEditWidget.

Definition at line 557 of file Directory.h.

Referenced by createControlPoint(), deleteControlPoint(), Directory(), editPointId(), and modifyControlPoint().

◆ m_exportControlNetWorkOrder

QPointer<WorkOrder> Isis::Directory::m_exportControlNetWorkOrder
private

The export ControlNetwork WorkOrder.

Definition at line 528 of file Directory.h.

Referenced by Directory(), and initializeActions().

◆ m_exportImagesWorkOrder

QPointer<WorkOrder> Isis::Directory::m_exportImagesWorkOrder
private

The export images WorkOrder.

Definition at line 529 of file Directory.h.

Referenced by Directory(), and initializeActions().

◆ m_fileListWidgets

QList< QPointer<ImageFileListWidget> > Isis::Directory::m_fileListWidgets
private

List of ImageFileListWidgets.

Definition at line 511 of file Directory.h.

Referenced by addImageFileListView(), clean(), cleanupFileListWidgets(), imageFileListViews(), and save().

◆ m_fileMenuActions

QList<QAction *> Isis::Directory::m_fileMenuActions
private

List of file menu actions.

Definition at line 544 of file Directory.h.

Referenced by fileMenuActions(), initializeActions(), and updateRecentProjects().

◆ m_footprint2DViewWidgets

QList< QPointer<Footprint2DView> > Isis::Directory::m_footprint2DViewWidgets
private

◆ m_helpMenuActions

QList<QAction *> Isis::Directory::m_helpMenuActions
private

List of help menu actions.

Definition at line 549 of file Directory.h.

Referenced by helpMenuActions(), and initializeActions().

◆ m_historyTreeWidget

QPointer<HistoryTreeWidget> Isis::Directory::m_historyTreeWidget
private

Pointer to the HistoryTreeWidget.

Definition at line 501 of file Directory.h.

Referenced by clean(), and setHistoryContainer().

◆ m_importControlNetWorkOrder

QPointer<WorkOrder> Isis::Directory::m_importControlNetWorkOrder
private

The import ControlNetwork WorkOrder.

Definition at line 530 of file Directory.h.

Referenced by Directory(), and initializeActions().

◆ m_importImagesWorkOrder

QPointer<WorkOrder> Isis::Directory::m_importImagesWorkOrder
private

The import images WorkOrder.

Definition at line 531 of file Directory.h.

Referenced by Directory(), and initializeActions().

◆ m_importMapTemplateWorkOrder

QPointer<WorkOrder> Isis::Directory::m_importMapTemplateWorkOrder
private

The Import Map Template WorkOrder.

Definition at line 538 of file Directory.h.

Referenced by Directory(), and initializeActions().

◆ m_importRegistrationTemplateWorkOrder

QPointer<WorkOrder> Isis::Directory::m_importRegistrationTemplateWorkOrder
private

The Import Registration Template WorkOrder.

Definition at line 539 of file Directory.h.

Referenced by Directory(), and initializeActions().

◆ m_importShapesWorkOrder

QPointer<WorkOrder> Isis::Directory::m_importShapesWorkOrder
private

The import shapes WorkOrder.

Definition at line 532 of file Directory.h.

Referenced by Directory(), and initializeActions().

◆ m_jigsawRunWidget

QPointer<JigsawRunWidget> Isis::Directory::m_jigsawRunWidget
private

Pointer to the JigsawRunWidget.

List of BundleObservationView

Definition at line 504 of file Directory.h.

Referenced by clean().

◆ m_matrixViewWidgets

QList< QPointer<MatrixSceneWidget> > Isis::Directory::m_matrixViewWidgets
private

List of MatrixSceneWidgets.

Definition at line 517 of file Directory.h.

Referenced by addMatrixView(), clean(), cleanupMatrixViewWidgets(), and matrixViews().

◆ m_openProjectWorkOrder

QPointer<WorkOrder> Isis::Directory::m_openProjectWorkOrder
private

The Open Project WorkOrder.

Definition at line 533 of file Directory.h.

Referenced by Directory(), initializeActions(), and updateRecentProjects().

◆ m_openRecentProjectWorkOrder

QPointer<WorkOrder> Isis::Directory::m_openRecentProjectWorkOrder
private

The Open Recent Project WorkOrder.

Definition at line 536 of file Directory.h.

◆ m_permToolBarActions

QList<QAction *> Isis::Directory::m_permToolBarActions
private

List of perm ToolBar actions.

Definition at line 551 of file Directory.h.

Referenced by initializeActions(), and permToolBarActions().

◆ m_project

◆ m_projectItemModel

QPointer<ProjectItemModel> Isis::Directory::m_projectItemModel
private

Pointer to the ProjectItemModel.

Definition at line 498 of file Directory.h.

Referenced by addCubeDnView(), addFootprint2DView(), addProjectItemTreeView(), clean(), Directory(), and model().

◆ m_projectMenuActions

QList<QAction *> Isis::Directory::m_projectMenuActions
private

List of project menu actions.

Definition at line 545 of file Directory.h.

Referenced by initializeActions(), and projectMenuActions().

◆ m_recentProjects

QStringList Isis::Directory::m_recentProjects
private

List of the names of recent projects.

Definition at line 524 of file Directory.h.

Referenced by recentProjectsList(), setRecentProjectsList(), and updateRecentProjects().

◆ m_renameProjectWorkOrder

QPointer<WorkOrder> Isis::Directory::m_renameProjectWorkOrder
private

The Rename Project WorkOrder.

Definition at line 542 of file Directory.h.

Referenced by Directory(), and initializeActions().

◆ m_runJigsawWorkOrder

QPointer<WorkOrder> Isis::Directory::m_runJigsawWorkOrder
private

The Run Jigsaw WorkOrder.

Definition at line 541 of file Directory.h.

Referenced by Directory(), and initializeActions().

◆ m_saveProjectAsWorkOrder

QPointer<WorkOrder> Isis::Directory::m_saveProjectAsWorkOrder
private

The Save Project As WorkOrder.

Definition at line 535 of file Directory.h.

Referenced by Directory(), and initializeActions().

◆ m_saveProjectWorkOrder

QPointer<WorkOrder> Isis::Directory::m_saveProjectWorkOrder
private

The Save Project WorkOrder.

Definition at line 534 of file Directory.h.

Referenced by Directory(), and initializeActions().

◆ m_sensorInfoWidgets

QList< QPointer<SensorInfoWidget> > Isis::Directory::m_sensorInfoWidgets
private

List of SensorInfoWidgets.

Definition at line 518 of file Directory.h.

Referenced by addSensorInfoView(), clean(), cleanupSensorInfoWidgets(), and sensorInfoViews().

◆ m_settingsMenuActions

QList<QAction *> Isis::Directory::m_settingsMenuActions
private

List of menu settings actions.

Definition at line 548 of file Directory.h.

Referenced by initializeActions(), and settingsMenuActions().

◆ m_targetInfoWidgets

QList< QPointer<TargetInfoWidget> > Isis::Directory::m_targetInfoWidgets
private

List of TargetInfoWidgets.

Definition at line 519 of file Directory.h.

Referenced by addTargetInfoView(), clean(), cleanupTargetInfoWidgets(), and targetInfoViews().

◆ m_templateEditorWidgets

QList< QPointer<TemplateEditorWidget> > Isis::Directory::m_templateEditorWidgets
private

List of TemplateEditorWidgets.

Definition at line 520 of file Directory.h.

Referenced by addTemplateEditorView(), clean(), cleanupTemplateEditorWidgets(), and templateEditorViews().

◆ m_toolPadActions

QList<QAction *> Isis::Directory::m_toolPadActions
private

List of ToolPad actions.

Definition at line 553 of file Directory.h.

Referenced by toolPadActions().

◆ m_viewMenuActions

QList<QAction *> Isis::Directory::m_viewMenuActions
private

List of view menu actions.

Definition at line 547 of file Directory.h.

Referenced by initializeActions(), and viewMenuActions().

◆ m_warningTreeWidget

QPointer<WarningTreeWidget> Isis::Directory::m_warningTreeWidget
private

Pointer to the WarningTreeWidget.

Definition at line 503 of file Directory.h.

Referenced by clean(), setWarningContainer(), showWarning(), and warningWidget().

◆ m_workOrders

QList< QPointer<WorkOrder> > Isis::Directory::m_workOrders
private

List of WorkOrders.

Definition at line 522 of file Directory.h.

Referenced by createWorkOrder(), supportedActions(), and ~Directory().


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