26 #include <QMainWindow> 34 #include "GuiCameraList.h" 35 #include "ImageList.h" 36 #include "MosaicSceneWidget.h" 37 #include "TargetBodyList.h" 50 class AbstractProjectItemView;
51 class BundleObservation;
52 class BundleObservationView;
53 class ChipViewportsWidget;
55 class CnetEditorWidget;
58 class ControlPointEditView;
59 class ControlHealthMonitorView;
62 class Footprint2DView;
63 class HistoryTreeWidget;
64 class ImageFileListWidget;
65 class JigsawRunWidget;
66 class MatrixSceneWidget;
67 class MosaicSceneWidget;
70 class ProjectItemModel;
71 class ProjectItemTreeView;
72 class SensorInfoWidget;
74 class TargetInfoWidget;
75 class TemplateEditorWidget;
76 class WarningTreeWidget;
358 template <
typename DataType>
379 results.append(clone);
394 template <
typename Data>
405 void save(QXmlStreamWriter &stream,
FileName newProjectRoot)
const;
408 void directoryCleaned();
411 void newWidgetAvailable(
QWidget *newWidget);
413 void closeView(
QWidget *widget);
416 void activeControlModified();
418 void redrawMeasures();
420 void cleanProject(
bool);
433 void cleanupJigsawRunWidget(
QObject *);
442 bool isGroundSource =
false);
464 virtual bool startElement(
const QString &namespaceURI,
const QString &localName,
465 const QString &qName,
const QXmlAttributes &atts);
485 template <
typename WorkOrderType>
487 WorkOrderType *newWorkOrder =
new WorkOrderType(
m_project);
514 QPointer<ControlHealthMonitorView> m_controlHealthMonitorView;
515 QPointer <ControlPointEditView> m_controlPointEditViewWidget;
559 bool m_recentProjectsLoaded;
563 #endif // Directory_H This represents an ISIS control net in a project-based GUI interface.
~XmlHandler()
The Destructor for Directory::XmlHandler.
QList< QAction * > editMenuActions()
Get the list of actions that the Directory can provide for the edit menu.
QList< CnetEditorView * > cnetEditorViews()
Returns a list of all the control network views for this directory.
QList< MatrixSceneWidget * > matrixViews()
Accessor for the list of MatrixSceneWidgets currently available.
QList< QAction * > projectMenuActions()
Get the list of actions that the Directory can provide for the project menu.
QList< QAction * > toolPadActions()
Get the list of actions that the Directory can provide for the Tool Pad.
void cleanupMatrixViewWidgets(QObject *)
Removes pointers to deleted MatrixSceneWidget objects.
QPointer< WorkOrder > m_saveProjectWorkOrder
The Save Project WorkOrder.
Ipce view containing the CnetEditorWidget.
void modifyControlPoint(ControlPoint *controlPoint, QString serialNumber="")
Slot that is connected from a left mouse button operation on views.
QList< QAction * > activeToolBarActions()
Get the list of actions that the Directory can provide for the active Tool Bar.
The main project for ipce.
QList< QPointer< SensorInfoWidget > > m_sensorInfoWidgets
List of SensorInfoWidgets.
QList< QAction * > supportedActions(DataType data)
Returns a list of supported actions for a WorkOrder.
ImageFileListWidget * addImageFileListView(QString objectName="")
Add an imageFileList widget to the window.
File name manipulation and expansion.
void save(QXmlStreamWriter &stream, FileName newProjectRoot) const
Save the directory to an XML file.
QList< ImageFileListWidget * > imageFileListViews()
Accessor for the list of ImageFileListWidgets currently available.
QList< TemplateEditorWidget * > templateEditorViews()
Accessor for the list of TemplateEditorWidgets currently available.
QStringList recentProjectsList()
Public accessor for the list of recent projects.
void createControlPoint(double latitude, double longitude, Cube *cube=0, bool isGroundSource=false)
Slot that is connected from a right mouse button operation on views.
~Directory()
The Destructor.
void cleanupTemplateEditorWidgets(QObject *)
Removes pointers to deleted TemplateEditorWidget objects.
void cleanupTargetInfoWidgets(QObject *)
Removes pointers to deleted TargetInfoWidget objects.
void cleanupFootprint2DViewWidgets(QObject *)
Removes pointers to deleted Footprint2DView objects.
QMultiMap< Control *, CnetEditorView * > m_controlMap
Map to hold every view with an open Control.
QPointer< WorkOrder > m_importControlNetWorkOrder
The import ControlNetwork WorkOrder.
void cleanupFileListWidgets(QObject *)
Removes pointers to deleted ImageFileListWidget objects.
TargetInfoWidget * addTargetInfoView(TargetBodyQsp target)
Add target body data view widget to the window.
void cleanupSensorInfoWidgets(QObject *)
Removes pointers to deleted SensorInfoWidget objects.
QList< QAction * > m_settingsMenuActions
List of menu settings actions.
MatrixSceneWidget * addMatrixView()
Add the matrix view widget to the window.
QList< QAction * > m_helpMenuActions
List of help menu actions.
void showWarning(QString text)
Displays a Warning.
void cleanupCubeDnViewWidgets(QObject *)
Removes pointers to deleted CubeDnView objects.
Directory * m_directory
Pointer to a Directory which is set by the XmlHandler class.
static bool actionTextLessThan(QAction *lhs, QAction *rhs)
This is for determining the ordering of the descriptive text of for the actions.
bool controlUsedInCnetEditorWidget(Control *control)
Return true if control is not currently being viewed in a CnetEditorWidget
QPointer< WorkOrder > m_runJigsawWorkOrder
The Run Jigsaw WorkOrder.
QList< QAction * > viewMenuActions()
Get the list of actions that the Directory can provide for the view menu.
void clean()
Cleans directory of everything to do with the current project.
void cleanupControlPointEditViewWidget(QObject *)
Delete the ControlPointEditWidget and set it's pointer to NULL.
QList< QPointer< CubeDnView > > m_cubeDnViewWidgets
List of CubeDnCiew obs.
QString m_editPointId
Current control point that is in the ControlPointEditWidget.
QPointer< ProjectItemModel > m_projectItemModel
Pointer to the ProjectItemModel.
ControlPointEditView * controlPointEditView()
Gets the ControlPointEditWidget associated with the Directory.
void setRecentProjectsList(QStringList recentProjects)
Add recent projects to the recent projects list.
QList< TargetInfoWidget * > targetInfoViews()
Accessor for the list of TargetInfoWidgets currently available.
QString editPointId()
Return the current control point id loaded in the ControlPointEditWidget.
View for displaying BundleObservation CSV files.
QPointer< WorkOrder > m_importRegistrationTemplateWorkOrder
The Import Registration Template WorkOrder.
View for editing a single ControlPoint.
QList< QAction * > m_projectMenuActions
List of project menu actions.
QList< QAction * > permToolBarActions()
Get the list of actions that the Directory can provide for the permanent Tool Bar.
Provides access to data stored in a Project through Qt's model-view framework.
QAction * undoAction()
Creates an Action to undo the last action.
QPointer< WorkOrder > m_openProjectWorkOrder
The Open Project WorkOrder.
QList< QAction * > m_fileMenuActions
List of file menu actions.
void load(XmlStackedHandlerReader *xmlReader)
Loads the Directory from an XML file.
QList< Footprint2DView * > footprint2DViews()
Accessor for the list of Footprint2DViews currently available.
virtual bool startElement(const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &atts)
The XML reader invokes this method at the start of every element in the XML document.
virtual bool isExecutable(Context)
Re-implement this method if your work order utilizes controls for data in order to operate...
QList< QAction * > settingsMenuActions()
Get the list of actions that the Directory can provide for the settings menu.
void updateRecentProjects()
Loads and displays a list of recently opened projects in the file menu.
QPointer< WorkOrder > m_importShapesWorkOrder
The import shapes WorkOrder.
static QList< QAction * > restructureActions(QList< QPair< QString, QList< QAction *> > >)
Reformat actionPairings to be user friendly for use in menus.
QList< QAction * > fileMenuActions()
Get the list of actions that the Directory can provide for the file menu.
Directory(QObject *parent=0)
The Constructor.
ProjectItemModel * model()
Gets the ProjectItemModel for this directory.
Provide Undo/redo abilities, serialization, and history for an operation.
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
void initiateRenameProjectWorkOrder(QString projectName)
Slot which is connected to the model's signal, projectNameEdited, which is emitted when the user doub...
ProjectItemTreeView * addProjectItemTreeView()
Adds a ProjectItemTreeView to the window.
QList< QAction * > m_editMenuActions
List of edit menu actions.
QList< SensorInfoWidget * > sensorInfoViews()
Accessor for the list of SensorInfoWidgets currently available.
QList< QPointer< Footprint2DView > > m_footprint2DViewWidgets
List of Footprint2DView objs.
QAction * redoAction()
Creates an Action to redo the last action.
void cleanupBundleObservationViews(QObject *)
Removes pointers to deleted BundleObservationView objects.
Footprint2DView * addFootprint2DView(QString objectName="")
Add the qmos view widget to the window.
QList< QProgressBar * > progressBars()
Gets the ControlNetEditor associated with this the Directory.
BundleObservationView * addBundleObservationView(FileItemQsp fileItem)
Add the BundleObservationView to the window.
WorkOrderType * createWorkOrder()
Create a work order, append it to m_workOrders, and return it.
QPointer< WorkOrder > m_saveProjectAsWorkOrder
The Save Project As WorkOrder.
A ProjectItemTreeView displays items from a ProjectItemProxyModel in a tree structure.
XML Handler that parses XMLs in a stack-oriented way.
void setWarningContainer(QDockWidget *warningContainer)
Set up the warning info in the warning dockable widget.
QList< CubeDnView * > cubeDnViews()
Accessor for the list of CubeDnViews currently available.
void setHistoryContainer(QDockWidget *historyContainer)
Set up the history info in the history dockable widget.
virtual void setData(Context)
Sets the context data for this WorkOrder.
void cleanupCnetEditorViewWidgets(QObject *)
Removes pointers to deleted Control Health Monitor objects.
QPointer< WorkOrder > m_openRecentProjectWorkOrder
The Open Recent Project WorkOrder.
QPointer< Project > m_project
Pointer to the Project.
QList< QAction * > m_toolPadActions
List of ToolPad actions.
XmlHandler(Directory *directory)
This function sets the Directory pointer for the Directory::XmlHandler class.
QWidget * warningWidget()
Returns a pointer to the warning widget.
QPointer< WorkOrder > m_importMapTemplateWorkOrder
The Import Map Template WorkOrder.
QPointer< HistoryTreeWidget > m_historyTreeWidget
Pointer to the HistoryTreeWidget.
QList< QAction * > m_permToolBarActions
List of perm ToolBar actions.
void newActiveControl(bool newControl)
This slot is connected from the signal activeControlSet(bool) emitted from Project.
QPointer< WorkOrder > m_renameProjectWorkOrder
The Rename Project WorkOrder.
QList< QAction * > m_viewMenuActions
List of view menu actions.
View that displays cubes in a QView-like way.
QPointer< WarningTreeWidget > m_warningTreeWidget
Pointer to the WarningTreeWidget.
void updateControlNetEditConnections()
Updates the SIGNAL/SLOT connections for the cotrol net editor.
SensorInfoWidget * addSensorInfoView(GuiCameraQsp camera)
Add sensor data view widget to the window.
QList< QAction * > helpMenuActions()
Get the list of actions that the Directory can provide for the help menu.
QList< QPointer< MatrixSceneWidget > > m_matrixViewWidgets
List of MatrixSceneWidgets.
QPointer< WorkOrder > m_exportImagesWorkOrder
The export images WorkOrder.
QPointer< JigsawRunWidget > m_jigsawRunWidget
Pointer to the JigsawRunWidget.
Namespace for ISIS/Bullet specific routines.
Project * project() const
Gets the Project for this directory.
QPointer< WorkOrder > m_exportControlNetWorkOrder
The export ControlNetwork WorkOrder.
QList< QPointer< TargetInfoWidget > > m_targetInfoWidgets
List of TargetInfoWidgets.
QPointer< WorkOrder > m_importImagesWorkOrder
The import images WorkOrder.
QList< QPointer< CnetEditorView > > m_cnetEditorViewWidgets
List of CnetEditorViews.
QList< QAction * > m_activeToolBarActions
List of active ToolBar actions.
void reloadActiveControlInCnetEditorView()
This slot was created specifically for the CnetEditorWidgets when user chooses a new active control a...
void showWarning(QString text, Data data)
Shows warning text for a Widget.
View for the Control Net Health Monitor.
CnetEditorView * addCnetEditorView(Control *control, QString objectName="")
Add the widget for the cnet editor view to the window.
QList< QPointer< TemplateEditorWidget > > m_templateEditorWidgets
List of TemplateEditorWidgets.
QStringList m_recentProjects
List of the names of recent projects.
QList< QPointer< WorkOrder > > m_workOrders
List of WorkOrders.
Manage a stack of content handlers for reading XML files.
QList< QPointer< ImageFileListWidget > > m_fileListWidgets
List of ImageFileListWidgets.
void initializeActions()
Initializes the actions that the Directory can provide to a main window.
QPointer< WorkOrder > m_closeProjectWorkOrder
The Close Project WorkOrder.
TemplateEditorWidget * addTemplateEditorView(Template *currentTemplate)
Add template editor view widget to the window.
IO Handler for Isis Cubes.
CubeDnView * addCubeDnView(QString objectName="")
Add the qview workspace to the window.
void deleteControlPoint(ControlPoint *controlPoint)
Slot that is connected from a middle mouse button operation on views.