Isis 3 Developer Reference
Footprint2DView.h
Go to the documentation of this file.
1 #ifndef Footprint2DView_h
2 #define Footprint2DView_h
3 
25 #include <QList>
26 #include <QMap>
27 #include <QSize>
28 
30 #include "FileName.h"
31 #include "ImageList.h"
32 #include "XmlStackedHandler.h"
33 
34 class QAction;
35 class QEvent;
36 class QMainWindow;
37 class QToolBar;
38 class QWidgetAction;
39 class QXmlStreamWriter;
40 
41 namespace Isis {
42 
43  class ControlPoint;
44  class Directory;
45  class Image;
46  class ImageFileListWidget;
47  class MosaicSceneWidget;
48  class Project;
49  class ToolPad;
50  class XmlStackedHandlerReader;
51 
116 
117  Q_OBJECT
118 
119  public:
120  Footprint2DView(Directory *directory, QWidget *parent=0);
122 
125 
126  void load(XmlStackedHandlerReader *xmlReader);
127  void save(QXmlStreamWriter &stream, Project *project, FileName newProjectRoot) const;
128 
129  signals:
130  void modifyControlPoint(ControlPoint *controlPoint);
131  void deleteControlPoint(ControlPoint *controlPoint);
132  void createControlPoint(double latitude, double longitude);
133 
134  void redrawMeasures();
135  void controlPointAdded(QString newPointId);
136 
137  public slots:
138  void enableControlNetTool(bool value);
139 
140  protected:
141  bool eventFilter(QObject *watched, QEvent *event);
142 
143  private slots:
144  void onItemAdded(ProjectItem *item);
145  void onItemsAdded();
146  void onItemRemoved(ProjectItem *item);
147  void onQueueSelectionChanged();
148  void onMosItemRemoved(Image *image);
149 
150  private:
151  void enableActions();
152 
158  class XmlHandler : public XmlStackedHandler {
159  public:
160  XmlHandler(Footprint2DView *footprintView);
161  ~XmlHandler();
162 
163  virtual bool startElement(const QString &namespaceURI, const QString &localName,
164  const QString &qName, const QXmlAttributes &atts);
165  virtual bool endElement(const QString &namespaceURI, const QString &localName,
166  const QString &qName);
167 
168  private:
169  Q_DISABLE_COPY(XmlHandler);
170 
171  Footprint2DView *m_footprintView;
172  };
173 
174  private:
175  MosaicSceneWidget *m_sceneWidget;
176  ImageFileListWidget *m_fileListWidget;
177  QMainWindow *m_window;
178  ImageList m_images;
179  QMap<Image *, ProjectItem *> m_imageItemMap;
180  Directory *m_directory;
181 
182  QToolBar *m_permToolBar;
183  QToolBar *m_activeToolBar;
184  ToolPad *m_toolPad;
185  };
186 }
187 
188 #endif
Footprint2DView(Directory *directory, QWidget *parent=0)
Constructor.
Definition: Footprint2DView.cpp:68
Internalizes a list of images and allows for operations on the entire list.
Definition: ImageList.h:55
The main project for ipce.
Definition: Project.h:289
File name manipulation and expansion.
Definition: FileName.h:116
void modifyControlPoint(ControlPoint *controlPoint)
This widget encompasses the entire mosaic scene.
Definition: MosaicSceneWidget.h:153
View for displaying footprints of images in a QMos like way.
Definition: Footprint2DView.h:115
ImageFileListWidget * fileListWidget()
Accessor for the FileListWidget.
Definition: Footprint2DView.cpp:179
void controlPointAdded(QString newPointId)
void load(XmlStackedHandlerReader *xmlReader)
Loads the Footprint2DView from an XML file.
Definition: Footprint2DView.cpp:365
AbstractProjectItemView is a base class for views of a ProjectItemModel in Qt&#39;s model-view framework...
Definition: AbstractProjectItemView.h:93
bool eventFilter(QObject *watched, QEvent *event)
Event filter to filter out drag and drop events.
Definition: Footprint2DView.cpp:192
~Footprint2DView()
Destructor.
Definition: Footprint2DView.cpp:156
XML Handler that parses XMLs in a stack-oriented way.
Definition: XmlStackedHandler.h:112
A single control point.
Definition: ControlPoint.h:369
This represents a cube in a project-based GUI interface.
Definition: Image.h:107
void createControlPoint(double latitude, double longitude)
void deleteControlPoint(ControlPoint *controlPoint)
A colored, grouped cube list.
Definition: ImageFileListWidget.h:64
Represents an item of a ProjectItemModel in Qt&#39;s model-view framework.
Definition: ProjectItem.h:146
MosaicSceneWidget * mosaicSceneWidget()
Accessor for the MosaicSceneWidget.
Definition: Footprint2DView.cpp:171
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
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:334
$Date$ $Revision$
Definition: Directory.h:285
Manage a stack of content handlers for reading XML files.
Definition: XmlStackedHandlerReader.h:25
Definition: CubeIoHandler.h:38
void save(QXmlStreamWriter &stream, Project *project, FileName newProjectRoot) const
Save the footprint view widgets (ImageFileListWidget and MosaicSceneWidget to an XML file...
Definition: Footprint2DView.cpp:380
Definition: ToolPad.h:14