Isis Developer Reference
Footprint2DView.h
Go to the documentation of this file.
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
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
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);
134 void onQueueSelectionChanged();
135 void onMosItemRemoved(Image *image);
136
137 private:
138 void enableActions();
139
145 class XmlHandler : public XmlStackedHandler {
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
158 Footprint2DView *m_footprintView;
159 };
160
161 private:
162 MosaicSceneWidget *m_sceneWidget;
163 ImageFileListWidget *m_fileListWidget;
164 QMainWindow *m_window;
165 ImageList m_images;
166 QMap<Image *, ProjectItem *> m_imageItemMap;
167 Directory *m_directory;
168
169 QToolBar *m_permToolBar;
170 QToolBar *m_activeToolBar;
171 ToolPad *m_toolPad;
172 };
173}
174
175#endif
AbstractProjectItemView is a base class for views of a ProjectItemModel in Qt's model-view framework.
Definition AbstractProjectItemView.h:79
A single control point.
Definition ControlPoint.h:356
Definition Directory.h:271
File name manipulation and expansion.
Definition FileName.h:100
View for displaying footprints of images in a QMos like way.
Definition Footprint2DView.h:102
ImageFileListWidget * fileListWidget()
Accessor for the FileListWidget.
Definition Footprint2DView.cpp:163
~Footprint2DView()
Destructor.
Definition Footprint2DView.cpp:140
MosaicSceneWidget * mosaicSceneWidget()
Accessor for the MosaicSceneWidget.
Definition Footprint2DView.cpp:155
void modifyControlPoint(ControlPoint *controlPoint)
void save(QXmlStreamWriter &stream, Project *project, FileName newProjectRoot) const
Save the footprint view widgets (ImageFileListWidget and MosaicSceneWidget to an XML file.
Definition Footprint2DView.cpp:364
Footprint2DView(Directory *directory, QWidget *parent=0)
Constructor.
Definition Footprint2DView.cpp:52
bool eventFilter(QObject *watched, QEvent *event)
Event filter to filter out drag and drop events.
Definition Footprint2DView.cpp:176
void deleteControlPoint(ControlPoint *controlPoint)
void controlPointAdded(QString newPointId)
void load(XmlStackedHandlerReader *xmlReader)
Loads the Footprint2DView from an XML file.
Definition Footprint2DView.cpp:349
void enableControlNetTool(bool value)
A slot function that is called when directory emits a siganl that an active control network is set.
Definition Footprint2DView.cpp:318
void createControlPoint(double latitude, double longitude)
A colored, grouped cube list.
Definition ImageFileListWidget.h:64
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.
Definition MosaicSceneWidget.h:153
The main project for ipce.
Definition Project.h:289
Represents an item of a ProjectItemModel in Qt's model-view framework.
Definition ProjectItem.h:134
Definition ToolPad.h:14
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 Apollo.h:16