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 
21 class QAction;
22 class QEvent;
23 class QMainWindow;
24 class QToolBar;
25 class QWidgetAction;
26 class QXmlStreamWriter;
27 
28 namespace 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 
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 
159  };
160 
161  private:
165  ImageList m_images;
168 
172  };
173 }
174 
175 #endif
Isis::Footprint2DView::XmlHandler::startElement
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.
Definition: Footprint2DView.cpp:411
QWidget
Isis::Footprint2DView::onMosItemRemoved
void onMosItemRemoved(Image *image)
Slot at removes the mosaic item and corresponding image file list item when a cube is closed using th...
Definition: Footprint2DView.cpp:245
Isis::Directory
Definition: Directory.h:271
Isis::AbstractProjectItemView
AbstractProjectItemView is a base class for views of a ProjectItemModel in Qt's model-view framework.
Definition: AbstractProjectItemView.h:79
Isis::Footprint2DView
View for displaying footprints of images in a QMos like way.
Definition: Footprint2DView.h:102
Isis::Footprint2DView::onItemsAdded
void onItemsAdded()
Slot called once all selected images have been added to the proxy model.
Definition: Footprint2DView.cpp:231
Isis::FileName
File name manipulation and expansion.
Definition: FileName.h:100
Isis::Footprint2DView::onItemAdded
void onItemAdded(ProjectItem *item)
Slot to connect to the itemAdded signal from the model.
Definition: Footprint2DView.cpp:204
Isis::ImageFileListWidget
A colored, grouped cube list.
Definition: ImageFileListWidget.h:64
QMainWindow
Isis::Footprint2DView::onQueueSelectionChanged
void onQueueSelectionChanged()
Slot to connect to the queueSelectionChanged signal from a MosiacSceneWidget.
Definition: Footprint2DView.cpp:291
Isis::Footprint2DView::XmlHandler
Definition: Footprint2DView.h:145
Isis::Footprint2DView::Footprint2DView
Footprint2DView(Directory *directory, QWidget *parent=0)
Constructor.
Definition: Footprint2DView.cpp:54
Isis::Footprint2DView::m_permToolBar
QToolBar * m_permToolBar
The permanent tool bar.
Definition: Footprint2DView.h:169
Isis::Footprint2DView::m_activeToolBar
QToolBar * m_activeToolBar
The active tool bar.
Definition: Footprint2DView.h:170
Isis::MosaicSceneWidget
This widget encompasses the entire mosaic scene.
Definition: MosaicSceneWidget.h:153
QToolBar
Isis::XmlStackedHandlerReader
Manage a stack of content handlers for reading XML files.
Definition: XmlStackedHandlerReader.h:30
Isis::Footprint2DView::m_directory
Directory * m_directory
The directory.
Definition: Footprint2DView.h:167
Isis::Project
The main project for ipce.
Definition: Project.h:289
Isis::Footprint2DView::XmlHandler::XmlHandler
XmlHandler(Footprint2DView *footprintView)
This function sets the Directory pointer for the Directory::XmlHandler class.
Definition: Footprint2DView.cpp:383
Isis::ImageList
Internalizes a list of images and allows for operations on the entire list.
Definition: ImageList.h:55
Isis::Footprint2DView::enableControlNetTool
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:320
Isis::ControlPoint
A single control point.
Definition: ControlPoint.h:354
Isis::Footprint2DView::save
void save(QXmlStreamWriter &stream, Project *project, FileName newProjectRoot) const
Save the footprint view widgets (ImageFileListWidget and MosaicSceneWidget to an XML file.
Definition: Footprint2DView.cpp:366
Isis::Footprint2DView::XmlHandler::~XmlHandler
~XmlHandler()
The Destructor for Directory::XmlHandler.
Definition: Footprint2DView.cpp:392
Isis::Footprint2DView::m_toolPad
ToolPad * m_toolPad
The tool pad.
Definition: Footprint2DView.h:171
Isis::Footprint2DView::XmlHandler::m_footprintView
Footprint2DView * m_footprintView
The Footprint2DView.
Definition: Footprint2DView.h:158
Isis::Footprint2DView::eventFilter
bool eventFilter(QObject *watched, QEvent *event)
Event filter to filter out drag and drop events.
Definition: Footprint2DView.cpp:178
Isis::Footprint2DView::m_fileListWidget
ImageFileListWidget * m_fileListWidget
The file list widget.
Definition: Footprint2DView.h:163
Isis::Image
This represents a cube in a project-based GUI interface.
Definition: Image.h:107
Isis::ToolPad
Definition: ToolPad.h:14
Isis::Footprint2DView::mosaicSceneWidget
MosaicSceneWidget * mosaicSceneWidget()
Accessor for the MosaicSceneWidget.
Definition: Footprint2DView.cpp:157
Isis::Footprint2DView::enableActions
void enableActions()
Enables toolbars and toolpad actions.
Definition: Footprint2DView.cpp:337
Isis::Footprint2DView::m_imageItemMap
QMap< Image *, ProjectItem * > m_imageItemMap
Maps images to their items.
Definition: Footprint2DView.h:166
Isis::XmlStackedHandler
XML Handler that parses XMLs in a stack-oriented way.
Definition: XmlStackedHandler.h:118
Isis::Footprint2DView::~Footprint2DView
~Footprint2DView()
Destructor.
Definition: Footprint2DView.cpp:142
Isis::Footprint2DView::onItemRemoved
void onItemRemoved(ProjectItem *item)
Slot to connect to the itemRemoved signal from the model.
Definition: Footprint2DView.cpp:266
QMap
This is free and unencumbered software released into the public domain.
Definition: CubeIoHandler.h:22
Isis::Footprint2DView::m_sceneWidget
MosaicSceneWidget * m_sceneWidget
The scene widget.
Definition: Footprint2DView.h:162
QObject
Isis::Footprint2DView::fileListWidget
ImageFileListWidget * fileListWidget()
Accessor for the FileListWidget.
Definition: Footprint2DView.cpp:165
Isis::Footprint2DView::load
void load(XmlStackedHandlerReader *xmlReader)
Loads the Footprint2DView from an XML file.
Definition: Footprint2DView.cpp:351
QAction
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::ProjectItem
Represents an item of a ProjectItemModel in Qt's model-view framework.
Definition: ProjectItem.h:134
Isis::Footprint2DView::m_window
QMainWindow * m_window
Main window.
Definition: Footprint2DView.h:164