Isis 3 Programmer Reference
Footprint2DView.h
1#ifndef Footprint2DView_h
2#define Footprint2DView_h
3
10/* SPDX-License-Identifier: CC0-1.0 */
11
12#include <QList>
13#include <QMap>
14#include <QSize>
15
16#include "AbstractProjectItemView.h"
17#include "FileName.h"
18#include "ImageList.h"
19#include "XmlStackedHandler.h"
20
21class QAction;
22class QEvent;
23class QMainWindow;
24class QToolBar;
25class QWidgetAction;
26class QXmlStreamWriter;
27
28namespace Isis {
29
30 class ControlPoint;
31 class Directory;
32 class Image;
33 class ImageFileListWidget;
34 class MosaicSceneWidget;
35 class Project;
36 class ToolPad;
37 class XmlStackedHandlerReader;
38
103
104 Q_OBJECT
105
106 public:
107 Footprint2DView(Directory *directory, QWidget *parent=0);
109
112
113 void load(XmlStackedHandlerReader *xmlReader);
114 void save(QXmlStreamWriter &stream, Project *project, FileName newProjectRoot) const;
115
116 signals:
117 void modifyControlPoint(ControlPoint *controlPoint);
118 void deleteControlPoint(ControlPoint *controlPoint);
119 void createControlPoint(double latitude, double longitude);
120
121 void redrawMeasures();
122 void controlPointAdded(QString newPointId);
123
124 public slots:
125 void enableControlNetTool(bool value);
126
127 protected:
128 bool eventFilter(QObject *watched, QEvent *event);
129
130 private slots:
131 void onItemAdded(ProjectItem *item);
132 void onItemsAdded();
133 void onItemRemoved(ProjectItem *item);
135 void onMosItemRemoved(Image *image);
136
137 private:
138 void enableActions();
139
146 public:
147 XmlHandler(Footprint2DView *footprintView);
148 ~XmlHandler();
149
150 virtual bool startElement(const QString &namespaceURI, const QString &localName,
151 const QString &qName, const QXmlAttributes &atts);
152 virtual bool endElement(const QString &namespaceURI, const QString &localName,
153 const QString &qName);
154
155 private:
156 Q_DISABLE_COPY(XmlHandler);
157
159 };
160
161 private:
165 ImageList m_images;
166 QMap<Image *, ProjectItem *> m_imageItemMap;
168
172 };
173}
174
175#endif
AbstractProjectItemView is a base class for views of a ProjectItemModel in Qt's model-view framework.
A single control point.
File name manipulation and expansion.
Definition FileName.h:100
Footprint2DView * m_footprintView
The Footprint2DView.
~XmlHandler()
The Destructor for Directory::XmlHandler.
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.
XmlHandler(Footprint2DView *footprintView)
This function sets the Directory pointer for the Directory::XmlHandler class.
View for displaying footprints of images in a QMos like way.
QMainWindow * m_window
Main window.
void enableActions()
Enables toolbars and toolpad actions.
ToolPad * m_toolPad
The tool pad.
ImageFileListWidget * fileListWidget()
Accessor for the FileListWidget.
MosaicSceneWidget * mosaicSceneWidget()
Accessor for the MosaicSceneWidget.
MosaicSceneWidget * m_sceneWidget
The scene widget.
void save(QXmlStreamWriter &stream, Project *project, FileName newProjectRoot) const
Save the footprint view widgets (ImageFileListWidget and MosaicSceneWidget to an XML file.
QMap< Image *, ProjectItem * > m_imageItemMap
Maps images to their items.
Footprint2DView(Directory *directory, QWidget *parent=0)
Constructor.
Directory * m_directory
The directory.
bool eventFilter(QObject *watched, QEvent *event)
Event filter to filter out drag and drop events.
void onItemsAdded()
Slot called once all selected images have been added to the proxy model.
void onQueueSelectionChanged()
Slot to connect to the queueSelectionChanged signal from a MosiacSceneWidget.
void onItemAdded(ProjectItem *item)
Slot to connect to the itemAdded signal from the model.
QToolBar * m_permToolBar
The permanent tool bar.
void load(XmlStackedHandlerReader *xmlReader)
Loads the Footprint2DView from an XML file.
ImageFileListWidget * m_fileListWidget
The file list widget.
QToolBar * m_activeToolBar
The active tool bar.
void enableControlNetTool(bool value)
A slot function that is called when directory emits a siganl that an active control network is set.
void onMosItemRemoved(Image *image)
Slot at removes the mosaic item and corresponding image file list item when a cube is closed using th...
void onItemRemoved(ProjectItem *item)
Slot to connect to the itemRemoved signal from the model.
A colored, grouped cube list.
This represents a cube in a project-based GUI interface.
Definition Image.h:107
Internalizes a list of images and allows for operations on the entire list.
Definition ImageList.h:55
This widget encompasses the entire mosaic scene.
The main project for ipce.
Definition Project.h:289
Represents an item of a ProjectItemModel in Qt's model-view framework.
XML Handler that parses XMLs in a stack-oriented way.
Manage a stack of content handlers for reading XML files.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16