36 class AbstractProjectItemView;
37 class BundleObservation;
38 class BundleObservationView;
39 class ChipViewportsWidget;
41 class CnetEditorWidget;
44 class ControlPointEditView;
45 class ControlHealthMonitorView;
48 class Footprint2DView;
49 class HistoryTreeWidget;
50 class ImageFileListWidget;
51 class JigsawRunWidget;
52 class MatrixSceneWidget;
53 class MosaicSceneWidget;
56 class ProjectItemModel;
57 class ProjectItemTreeView;
58 class SensorInfoWidget;
60 class TargetInfoWidget;
61 class TemplateEditorWidget;
62 class WarningTreeWidget;
344 template <
typename DataType>
346 QList<QAction *> results;
361 foreach (
WorkOrder *workOrder, m_workOrders) {
362 if (workOrder->isExecutable(data)) {
365 results.append(clone);
380 template <
typename Data>
391 void save(QXmlStreamWriter &stream,
FileName newProjectRoot)
const;
428 bool isGroundSource =
false);
435 void initiateRenameProjectWorkOrder(QString projectName);
436 void newActiveControl(
bool newControl);
437 void reloadActiveControlInCnetEditorView();
450 virtual bool startElement(
const QString &namespaceURI,
const QString &localName,
451 const QString &qName,
const QXmlAttributes &atts);
454 Q_DISABLE_COPY(XmlHandler);
471 template <
typename WorkOrderType>
472 WorkOrderType *createWorkOrder() {
473 WorkOrderType *newWorkOrder =
new WorkOrderType(m_project);
474 m_workOrders.append(newWorkOrder);
479 static QList<QAction *> restructureActions(
QList<
QPair< QString, QList<QAction *> > >);
482 void initializeActions();
484 QPointer<ProjectItemModel> m_projectItemModel;
487 QPointer<HistoryTreeWidget> m_historyTreeWidget;
488 QPointer<Project> m_project;
489 QPointer<WarningTreeWidget> m_warningTreeWidget;
490 QPointer<JigsawRunWidget> m_jigsawRunWidget;
494 QList< QPointer<BundleObservationView> > m_bundleObservationViews;
495 QList< QPointer<CnetEditorView> > m_cnetEditorViewWidgets;
496 QList< QPointer<CubeDnView> > m_cubeDnViewWidgets;
497 QList< QPointer<ImageFileListWidget> > m_fileListWidgets;
498 QList< QPointer<Footprint2DView> > m_footprint2DViewWidgets;
500 QPointer<ControlHealthMonitorView> m_controlHealthMonitorView;
501 QPointer <ControlPointEditView> m_controlPointEditViewWidget;
503 QList< QPointer<MatrixSceneWidget> > m_matrixViewWidgets;
504 QList< QPointer<SensorInfoWidget> > m_sensorInfoWidgets;
505 QList< QPointer<TargetInfoWidget> > m_targetInfoWidgets;
506 QList< QPointer<TemplateEditorWidget> > m_templateEditorWidgets;
508 QList< QPointer<WorkOrder> > m_workOrders;
514 QPointer<WorkOrder> m_exportControlNetWorkOrder;
515 QPointer<WorkOrder> m_exportImagesWorkOrder;
516 QPointer<WorkOrder> m_importControlNetWorkOrder;
517 QPointer<WorkOrder> m_importImagesWorkOrder;
518 QPointer<WorkOrder> m_importShapesWorkOrder;
519 QPointer<WorkOrder> m_openProjectWorkOrder;
520 QPointer<WorkOrder> m_saveProjectWorkOrder;
521 QPointer<WorkOrder> m_saveProjectAsWorkOrder;
522 QPointer<WorkOrder> m_openRecentProjectWorkOrder;
523 QPointer<WorkOrder> m_closeProjectWorkOrder;
524 QPointer<WorkOrder> m_importMapTemplateWorkOrder;
525 QPointer<WorkOrder> m_importRegistrationTemplateWorkOrder;
527 QPointer<WorkOrder> m_runJigsawWorkOrder;
528 QPointer<WorkOrder> m_renameProjectWorkOrder;
530 QList<QAction *> m_fileMenuActions;
531 QList<QAction *> m_projectMenuActions;
532 QList<QAction *> m_editMenuActions;
533 QList<QAction *> m_viewMenuActions;
534 QList<QAction *> m_settingsMenuActions;
535 QList<QAction *> m_helpMenuActions;
537 QList<QAction *> m_permToolBarActions;
538 QList<QAction *> m_activeToolBarActions;
539 QList<QAction *> m_toolPadActions;
541 QMultiMap<Control*, CnetEditorView *> m_controlMap;
543 QString m_editPointId;
545 bool m_recentProjectsLoaded;
View for displaying BundleObservation CSV files.
Definition BundleObservationView.h:44
Ipce view containing the CnetEditorWidget.
Definition CnetEditorView.h:65
View for the Control Net Health Monitor.
Definition ControlHealthMonitorView.h:43
This represents an ISIS control net in a project-based GUI interface.
Definition Control.h:66
View for editing a single ControlPoint.
Definition ControlPointEditView.h:53
A single control point.
Definition ControlPoint.h:356
View that displays cubes in a QView-like way.
Definition CubeDnView.h:97
IO Handler for Isis Cubes.
Definition Cube.h:168
Definition Directory.h:271
void load(XmlStackedHandlerReader *xmlReader)
Loads the Directory from an XML file.
Definition Directory.cpp:1509
JigsawRunWidget * addJigsawRunWidget()
Definition Directory.cpp:982
ProjectItemTreeView * addProjectItemTreeView()
Adds a ProjectItemTreeView to the window.
Definition Directory.cpp:1053
ControlHealthMonitorView * controlHealthMonitorView()
Definition Directory.cpp:809
void cleanupControlPointEditViewWidget(QObject *)
Delete the ControlPointEditWidget and set it's pointer to NULL.
Definition Directory.cpp:1219
QList< TemplateEditorWidget * > templateEditorViews()
Accessor for the list of TemplateEditorWidgets currently available.
Definition Directory.cpp:1395
QList< SensorInfoWidget * > sensorInfoViews()
Accessor for the list of SensorInfoWidgets currently available.
Definition Directory.cpp:1365
void updateRecentProjects()
Loads and displays a list of recently opened projects in the file menu.
Definition Directory.cpp:318
void cleanupFootprint2DViewWidgets(QObject *)
Removes pointers to deleted Footprint2DView objects.
Definition Directory.cpp:1205
void newDockAvailable(QMainWindow *newWidget)
void cleanupCnetEditorViewWidgets(QObject *)
Removes pointers to deleted CnetEditorWidget objects.
Definition Directory.cpp:1135
QList< QAction * > settingsMenuActions()
Get the list of actions that the Directory can provide for the settings menu.
Definition Directory.cpp:242
void setWarningContainer(QDockWidget *warningContainer)
Set up the warning info in the warning dockable widget.
Definition Directory.cpp:523
void cleanupBundleObservationViews(QObject *)
Removes pointers to deleted BundleObservationView objects.
Definition Directory.cpp:1108
QList< Footprint2DView * > footprint2DViews()
Accessor for the list of Footprint2DViews currently available.
Definition Directory.cpp:1410
MatrixSceneWidget * addMatrixView()
Add the matrix view widget to the window.
Definition Directory.cpp:924
void updateControlNetEditConnections()
Updates the SIGNAL/SLOT connections for the cotrol net editor.
Definition Directory.cpp:1802
TemplateEditorWidget * addTemplateEditorView(Template *currentTemplate)
Add template editor view widget to the window.
Definition Directory.cpp:966
QList< QAction * > fileMenuActions()
Get the list of actions that the Directory can provide for the file menu.
Definition Directory.cpp:206
Directory(QObject *parent=0)
The Constructor.
Definition Directory.cpp:105
void deleteControlPoint(ControlPoint *controlPoint)
Slot that is connected from a middle mouse button operation on views.
Definition Directory.cpp:1858
ControlPointEditView * addControlPointEditView()
Definition Directory.cpp:837
QAction * redoAction()
Creates an Action to redo the last action.
Definition Directory.cpp:1491
QList< QAction * > editMenuActions()
Get the list of actions that the Directory can provide for the edit menu.
Definition Directory.cpp:224
void save(QXmlStreamWriter &stream, FileName newProjectRoot) const
Save the directory to an XML file.
Definition Directory.cpp:1523
BundleObservationView * addBundleObservationView(FileItemQsp fileItem)
Add the BundleObservationView to the window.
Definition Directory.cpp:602
~Directory()
The Destructor.
Definition Directory.cpp:191
void cleanupTemplateEditorWidgets(QObject *)
Removes pointers to deleted TemplateEditorWidget objects.
Definition Directory.cpp:1276
QList< ImageFileListWidget * > imageFileListViews()
Accessor for the list of ImageFileListWidgets currently available.
Definition Directory.cpp:1425
QList< QAction * > activeToolBarActions()
Get the list of actions that the Directory can provide for the active Tool Bar.
Definition Directory.cpp:269
void modifyControlPoint(ControlPoint *controlPoint, QString serialNumber="")
Slot that is connected from a left mouse button operation on views.
Definition Directory.cpp:1836
QList< QAction * > supportedActions(DataType data)
Returns a list of supported actions for a WorkOrder.
Definition Directory.h:345
void showWarning(QString text, Data data)
Shows warning text for a Widget.
Definition Directory.h:381
void cleanupJigsawRunWidget(QObject *)
Definition Directory.cpp:1288
void cleanupTargetInfoWidgets(QObject *)
Removes pointers to deleted TargetInfoWidget objects.
Definition Directory.cpp:1262
QList< CnetEditorView * > cnetEditorViews()
Returns a list of all the control network views for this directory.
Definition Directory.cpp:1320
void closeView(QWidget *widget)
QList< QAction * > toolPadActions()
Get the list of actions that the Directory can provide for the Tool Pad.
Definition Directory.cpp:278
void cleanupMatrixViewWidgets(QObject *)
Removes pointers to deleted MatrixSceneWidget objects.
Definition Directory.cpp:1234
CubeDnView * addCubeDnView(QString objectName="")
Add the qview workspace to the window.
Definition Directory.cpp:706
QList< QAction * > permToolBarActions()
Get the list of actions that the Directory can provide for the permanent Tool Bar.
Definition Directory.cpp:260
void clean()
Cleans directory of everything to do with the current project.
Definition Directory.cpp:289
JigsawRunWidget * jigsawRunWidget()
Definition Directory.cpp:1445
QStringList recentProjectsList()
Public accessor for the list of recent projects.
Definition Directory.cpp:593
void setRecentProjectsList(QStringList recentProjects)
Add recent projects to the recent projects list.
Definition Directory.cpp:535
ImageFileListWidget * addImageFileListView(QString objectName="")
Add an imageFileList widget to the window.
Definition Directory.cpp:1026
QList< CubeDnView * > cubeDnViews()
Accessor for the list of CubeDnViews currently available.
Definition Directory.cpp:1335
TargetInfoWidget * addTargetInfoView(TargetBodyQsp target)
Add target body data view widget to the window.
Definition Directory.cpp:945
void setHistoryContainer(QDockWidget *historyContainer)
Set up the history info in the history dockable widget.
Definition Directory.cpp:511
QString editPointId()
Return the current control point id loaded in the ControlPointEditWidget.
Definition Directory.cpp:1909
ControlHealthMonitorView * addControlHealthMonitorView()
Definition Directory.cpp:814
void showWarning(QString text)
Displays a Warning.
Definition Directory.cpp:1481
QList< TargetInfoWidget * > targetInfoViews()
Accessor for the list of TargetInfoWidgets currently available.
Definition Directory.cpp:1380
QAction * undoAction()
Creates an Action to undo the last action.
Definition Directory.cpp:1500
Project * project() const
Gets the Project for this directory.
Definition Directory.cpp:1311
QList< QProgressBar * > progressBars()
Gets the ControlNetEditor associated with this the Directory.
Definition Directory.cpp:1471
void createControlPoint(double latitude, double longitude, Cube *cube=0, bool isGroundSource=false)
Slot that is connected from a right mouse button operation on views.
Definition Directory.cpp:1889
QList< QAction * > viewMenuActions()
Get the list of actions that the Directory can provide for the view menu.
Definition Directory.cpp:233
void cleanupCubeDnViewWidgets(QObject *)
Removes pointers to deleted CubeDnView objects.
Definition Directory.cpp:1177
QWidget * warningWidget()
Returns a pointer to the warning widget.
Definition Directory.cpp:1100
SensorInfoWidget * addSensorInfoView(GuiCameraQsp camera)
Add sensor data view widget to the window.
Definition Directory.cpp:1004
void cleanupFileListWidgets(QObject *)
Removes pointers to deleted ImageFileListWidget objects.
Definition Directory.cpp:1191
void cleanupSensorInfoWidgets(QObject *)
Removes pointers to deleted SensorInfoWidget objects.
Definition Directory.cpp:1248
ProjectItemModel * model()
Gets the ProjectItemModel for this directory.
Definition Directory.cpp:1091
QList< BundleObservationView * > bundleObservationViews()
Footprint2DView * addFootprint2DView(QString objectName="")
Add the qmos view widget to the window.
Definition Directory.cpp:757
QList< MatrixSceneWidget * > matrixViews()
Accessor for the list of MatrixSceneWidgets currently available.
Definition Directory.cpp:1350
QList< QAction * > projectMenuActions()
Get the list of actions that the Directory can provide for the project menu.
Definition Directory.cpp:215
void activeControlModified()
CnetEditorView * addCnetEditorView(Control *control, QString objectName="")
Add the widget for the cnet editor view to the window.
Definition Directory.cpp:656
ControlPointEditView * controlPointEditView()
Gets the ControlPointEditWidget associated with the Directory.
Definition Directory.cpp:1439
bool controlUsedInCnetEditorWidget(Control *control)
@description Return true if control is not currently being viewed in a CnetEditorWidget
Definition Directory.cpp:1161
QList< QAction * > helpMenuActions()
Get the list of actions that the Directory can provide for the help menu.
Definition Directory.cpp:251
void newWidgetAvailable(QWidget *newWidget)
File name manipulation and expansion.
Definition FileName.h:100
The main project for ipce.
Definition Project.h:289
Provides access to data stored in a Project through Qt's model-view framework.
Definition ProjectItemModel.h:132
A ProjectItemTreeView displays items from a ProjectItemProxyModel in a tree structure.
Definition ProjectItemTreeView.h:56
Provide Undo/redo abilities, serialization, and history for an operation.
Definition WorkOrder.h:311
virtual void setData(Context)
Sets the context data for this WorkOrder.
Definition WorkOrder.cpp:246
virtual WorkOrder * clone() const =0
XML Handler that parses XMLs in a stack-oriented way.
Definition XmlStackedHandler.h:118
Manage a stack of content handlers for reading XML files.
Definition XmlStackedHandlerReader.h:30
This is free and unencumbered software released into the public domain.
Definition BoxcarCachingAlgorithm.h:13
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16
This is free and unencumbered software released into the public domain.
Definition CubeIoHandler.h:23