Isis 3.0 Programmer Reference
Home
Isis::Footprint2DView Class Reference

View for displaying footprints of images in a QMos like way. More...

#include <Footprint2DView.h>

Inheritance diagram for Isis::Footprint2DView:
Inheritance graph
Collaboration diagram for Isis::Footprint2DView:
Collaboration graph

Public Slots

virtual void addItem (ProjectItem *item)
 Adds an item to the view. More...
 
virtual void addItems (QList< ProjectItem * > items)
 Adds several items to the view. More...
 
virtual void removeItem (ProjectItem *item)
 Removes an item to the view. More...
 
virtual void removeItems (QList< ProjectItem * > items)
 Removes several items from the view. More...
 

Signals

void modifyControlPoint (ControlPoint *controlPoint)
 
void deleteControlPoint (ControlPoint *controlPoint)
 
void createControlPoint (double latitude, double longitude)
 
void controlPointAdded (QString newPointId)
 

Public Member Functions

 Footprint2DView (Directory *directory, QWidget *parent=0)
 Constructor. More...
 
 ~Footprint2DView ()
 Destructor. More...
 
MosaicSceneWidgetmosaicSceneWidget ()
 
virtual QList< QAction * > permToolBarActions ()
 Returns a list of actions for the permanent tool bar. More...
 
virtual QList< QAction * > activeToolBarActions ()
 Returns a list of actions for the active tool bar. More...
 
virtual QList< QAction * > toolPadActions ()
 Returns a list of actions for the tool pad. More...
 
QSize sizeHint () const
 Returns the suggested size for the widget. More...
 
virtual void setModel (ProjectItemModel *model)
 Sets the model used by the view. More...
 
virtual ProjectItemModelmodel ()
 Returns the model used by the view. More...
 
virtual void dragEnterEvent (QDragEnterEvent *event)
 Accepts the drag enter event if the internal model can accept the mime data. More...
 
virtual void dragMoveEvent (QDragMoveEvent *event)
 Accepts the drag event if the internal model can accept the mime data. More...
 
virtual void dropEvent (QDropEvent *event)
 Drops the data into the internal model if it can accept the data. More...
 
virtual QList< QAction * > contextMenuActions ()
 Returns a list of actions appropriate for a context menu. More...
 
virtual QList< QAction * > fileMenuActions ()
 Returns a list of actions appropriate for a file menu. More...
 
virtual QList< QAction * > projectMenuActions ()
 Returns a list of actions appropriate for a project menu. More...
 
virtual QList< QAction * > editMenuActions ()
 Returns a list of actions appropriate for an edit menu. More...
 
virtual QList< QAction * > viewMenuActions ()
 Returns a list of actions appropriate for a view menu. More...
 
virtual QList< QAction * > settingsMenuActions ()
 Returns a list of actions appropriate for a settings menu. More...
 
virtual QList< QAction * > helpMenuActions ()
 Returns a list of actions appropriate for a help menu. More...
 
virtual ProjectItemcurrentItem ()
 Returns the current item of the model. More...
 
virtual QList< ProjectItem * > selectedItems ()
 Return the selected items of the model. More...
 
virtual ProjectItemModelinternalModel ()
 Returns the internal model of the view. More...
 
virtual void setInternalModel (ProjectItemModel *model)
 Sets the internal model of the view. More...
 

Protected Member Functions

bool eventFilter (QObject *watched, QEvent *event)
 Event filter to filter out drag and drop events. More...
 

Private Slots

void onItemAdded (ProjectItem *item)
 Slot to connect to the itemAdded signal from the model. More...
 
void onItemRemoved (ProjectItem *item)
 Slot to connect to the itemRemoved signal from the model. More...
 
void onQueueSelectionChanged ()
 Slot to connect to the queueSelectionChanged signal from a MosiacSceneWidget. More...
 

Private Attributes

MosaicSceneWidgetm_sceneWidget
 The scene widget. More...
 
QMap< Image *, ProjectItem * > m_imageItemMap
 Maps images to their items. More...
 
QToolBarm_permToolBar
 The permanent tool bar. More...
 
QToolBarm_activeToolBar
 The active tool bar. More...
 
ToolPadm_toolPad
 The tool pad. More...
 
QWidgetAction * m_activeToolBarAction
 Stores the active tool bar. More...
 

Detailed Description

View for displaying footprints of images in a QMos like way.

Author
2016-01-13 Jeffrey Covington
History:

2016-01-13 Jeffrey Covington - Original version.

2016-06-27 Ian Humphrey - Minor updates to documentation, checked coding standards. Fixes #4004.

2016-08-25 Adam Paquette - Updated documentation. Fixes #4299.

2016-09-14 Tracie Sucharski - Added signals for mouse clicks for modifying, deleting and creating control points. These are passed on to Directory slots.

2016-10-20 Tracie Sucharski - Added back the capability for choosing either a new view or using an existing view.

Definition at line 59 of file Footprint2DView.h.

Constructor & Destructor Documentation

Isis::Footprint2DView::Footprint2DView ( Directory directory,
QWidget parent = 0 
)
Isis::Footprint2DView::~Footprint2DView ( )

Destructor.

Definition at line 129 of file Footprint2DView.cpp.

References m_activeToolBar, m_permToolBar, and m_toolPad.

Member Function Documentation

QList< QAction * > Isis::Footprint2DView::activeToolBarActions ( )
virtual

Returns a list of actions for the active tool bar.

Returns
QList<QAction*> The actions

Reimplemented from Isis::AbstractProjectItemView.

Definition at line 286 of file Footprint2DView.cpp.

References m_activeToolBarAction.

void Isis::AbstractProjectItemView::addItem ( ProjectItem item)
virtualslotinherited

Adds an item to the view.

The item must be part of the view's model. This method can be overriden in a subclass to filter out unneeded items.

Parameters
[in]item(ProjectItem *) The item to add.

Definition at line 273 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::internalModel().

Referenced by Isis::CubeDnView::addItem(), and Isis::AbstractProjectItemView::addItems().

void Isis::AbstractProjectItemView::addItems ( QList< ProjectItem * >  items)
virtualslotinherited

Adds several items to the view.

The items must be a part of the view's model.

Parameters
[in]items(QList<ProjectItem *>) The items to add.

Definition at line 287 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::addItem().

Referenced by Isis::CubeDnViewWorkOrder::syncRedo(), and Isis::Footprint2DViewWorkOrder::syncRedo().

QList< QAction * > Isis::AbstractProjectItemView::contextMenuActions ( )
virtualinherited

Returns a list of actions appropriate for a context menu.

Returns
QList<QAction *> The actions

Definition at line 181 of file AbstractProjectItemView.cpp.

ProjectItem * Isis::AbstractProjectItemView::currentItem ( )
virtualinherited

Returns the current item of the model.

Returns
ProjectItem * The item

Definition at line 251 of file AbstractProjectItemView.cpp.

References Isis::ProjectItemModel::currentItem(), and Isis::AbstractProjectItemView::model().

void Isis::AbstractProjectItemView::dragEnterEvent ( QDragEnterEvent *  event)
virtualinherited

Accepts the drag enter event if the internal model can accept the mime data.

Parameters
[in]event(QDragEnterEvent *) The drag event

Definition at line 106 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::internalModel().

Referenced by eventFilter().

void Isis::AbstractProjectItemView::dragMoveEvent ( QDragMoveEvent *  event)
virtualinherited

Accepts the drag event if the internal model can accept the mime data.

Parameters
[in]event(QDragMoveEvent *) The drag event

Definition at line 121 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::internalModel().

Referenced by eventFilter().

void Isis::AbstractProjectItemView::dropEvent ( QDropEvent *  event)
virtualinherited

Drops the data into the internal model if it can accept the data.

Parameters
[in]event(QDropEvent *) The drop event

Definition at line 135 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::internalModel().

Referenced by eventFilter().

QList< QAction * > Isis::AbstractProjectItemView::editMenuActions ( )
virtualinherited

Returns a list of actions appropriate for an edit menu.

Returns
QList<QAction *> The actions

Reimplemented in Isis::CubeDnView.

Definition at line 211 of file AbstractProjectItemView.cpp.

bool Isis::Footprint2DView::eventFilter ( QObject watched,
QEvent *  event 
)
protected

Event filter to filter out drag and drop events.

Parameters
[in]watched(QObject *) The object being filtered
[in]event(QEvent *) The event
Returns
bool True if the event was intercepted

Definition at line 163 of file Footprint2DView.cpp.

References Isis::AbstractProjectItemView::dragEnterEvent(), Isis::AbstractProjectItemView::dragMoveEvent(), and Isis::AbstractProjectItemView::dropEvent().

QList< QAction * > Isis::AbstractProjectItemView::fileMenuActions ( )
virtualinherited

Returns a list of actions appropriate for a file menu.

Returns
QList<QAction *> The actions

Reimplemented in Isis::CubeDnView.

Definition at line 191 of file AbstractProjectItemView.cpp.

QList< QAction * > Isis::AbstractProjectItemView::helpMenuActions ( )
virtualinherited

Returns a list of actions appropriate for a help menu.

Returns
QList<QAction *> The actions

Reimplemented in Isis::CubeDnView.

Definition at line 241 of file AbstractProjectItemView.cpp.

ProjectItemModel * Isis::AbstractProjectItemView::model ( )
virtualinherited

Returns the model used by the view.

If the internal model is a proxy model, it returns the source model.

Returns
ProjectItemModel * The model.

Definition at line 70 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::internalModel().

Referenced by Isis::AbstractProjectItemView::currentItem(), Isis::AbstractProjectItemView::selectedItems(), and Isis::AbstractProjectItemView::setInternalModel().

void Isis::Footprint2DView::onItemAdded ( ProjectItem item)
privateslot

Slot to connect to the itemAdded signal from the model.

If the item is an image it adds it to the scene.

Parameters
[in]item(ProjectItem *) The item

Definition at line 187 of file Footprint2DView.cpp.

References Isis::ImageList::append(), Isis::Shape::cube(), Isis::ProjectItem::image(), Isis::ProjectItem::isImage(), Isis::ProjectItem::isShape(), m_imageItemMap, m_sceneWidget, and Isis::ProjectItem::shape().

Referenced by Footprint2DView().

void Isis::Footprint2DView::onItemRemoved ( ProjectItem item)
privateslot

Slot to connect to the itemRemoved signal from the model.

If the item is an image it removes it from the scene.

Parameters
[in]item(ProjectItem *) The item to be removed

Definition at line 220 of file Footprint2DView.cpp.

References Isis::ImageList::append(), Isis::ProjectItem::image(), Isis::ProjectItem::isImage(), m_imageItemMap, and m_sceneWidget.

Referenced by Footprint2DView().

void Isis::Footprint2DView::onQueueSelectionChanged ( )
privateslot

Slot to connect to the queueSelectionChanged signal from a MosiacSceneWidget.

Updates the selection in the model.

Definition at line 247 of file Footprint2DView.cpp.

References Isis::AbstractProjectItemView::internalModel(), m_imageItemMap, m_sceneWidget, Isis::MosaicSceneWidget::selectedImages(), and Isis::ProjectItemModel::selectionModel().

Referenced by Footprint2DView().

QList< QAction * > Isis::Footprint2DView::permToolBarActions ( )
virtual

Returns a list of actions for the permanent tool bar.

Returns
QList<QAction*> The actions

Reimplemented from Isis::AbstractProjectItemView.

Definition at line 276 of file Footprint2DView.cpp.

References m_permToolBar.

QList< QAction * > Isis::AbstractProjectItemView::projectMenuActions ( )
virtualinherited

Returns a list of actions appropriate for a project menu.

Returns
QList<QAction *> The actions

Reimplemented in Isis::CubeDnView.

Definition at line 201 of file AbstractProjectItemView.cpp.

void Isis::AbstractProjectItemView::removeItem ( ProjectItem item)
virtualslotinherited

Removes an item to the view.

The item must be part of the view's model. This method can be overriden in a subclass to filter out unneeded items.

Parameters
[in]item(ProjectItem *) The item to remove.

Definition at line 301 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::internalModel().

Referenced by Isis::AbstractProjectItemView::removeItems().

void Isis::AbstractProjectItemView::removeItems ( QList< ProjectItem * >  items)
virtualslotinherited

Removes several items from the view.

The items must be a part of the view's model.

Parameters
[in]items(QList<ProjectItem *>) The items to remove.

Definition at line 316 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::removeItem().

QList< ProjectItem * > Isis::AbstractProjectItemView::selectedItems ( )
virtualinherited

Return the selected items of the model.

Returns
QList<ProjectItem *> The items

Definition at line 261 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::model(), and Isis::ProjectItemModel::selectedItems().

void Isis::AbstractProjectItemView::setInternalModel ( ProjectItemModel model)
virtualinherited

Sets the internal model of the view.

Parameters
[in]model(ProjectItemModel *) The new internal model

Reimplemented in Isis::ProjectItemTreeView.

Definition at line 84 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::m_internalModel, and Isis::AbstractProjectItemView::model().

Referenced by Isis::ProjectItemTreeView::setInternalModel().

void Isis::AbstractProjectItemView::setModel ( ProjectItemModel model)
virtualinherited

Sets the model used by the view.

If the internal model is a proxy model, it sets the source model.

Parameters
[in]model(ProjectItemModel *) The new model

Definition at line 56 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::internalModel().

Referenced by Isis::Directory::addCubeDnView(), Isis::Directory::addFootprint2DView(), and Isis::Directory::addProjectItemTreeView().

QList< QAction * > Isis::AbstractProjectItemView::settingsMenuActions ( )
virtualinherited

Returns a list of actions appropriate for a settings menu.

Returns
QList<QAction *> The actions

Reimplemented in Isis::CubeDnView.

Definition at line 231 of file AbstractProjectItemView.cpp.

QSize Isis::Footprint2DView::sizeHint ( ) const

Returns the suggested size for the widget.

Returns
QSize The size

Definition at line 145 of file Footprint2DView.cpp.

QList< QAction * > Isis::Footprint2DView::toolPadActions ( )
virtual

Returns a list of actions for the tool pad.

Returns
QList<QAction*> The actions

Reimplemented from Isis::AbstractProjectItemView.

Definition at line 298 of file Footprint2DView.cpp.

References m_toolPad.

QList< QAction * > Isis::AbstractProjectItemView::viewMenuActions ( )
virtualinherited

Returns a list of actions appropriate for a view menu.

Returns
QList<QAction *> The actions

Reimplemented in Isis::CubeDnView.

Definition at line 221 of file AbstractProjectItemView.cpp.

Member Data Documentation

QToolBar* Isis::Footprint2DView::m_activeToolBar
private

The active tool bar.

Definition at line 94 of file Footprint2DView.h.

Referenced by Footprint2DView(), and ~Footprint2DView().

QWidgetAction* Isis::Footprint2DView::m_activeToolBarAction
private

Stores the active tool bar.

Definition at line 97 of file Footprint2DView.h.

Referenced by activeToolBarActions(), and Footprint2DView().

QMap<Image *, ProjectItem *> Isis::Footprint2DView::m_imageItemMap
private

Maps images to their items.

Definition at line 91 of file Footprint2DView.h.

Referenced by onItemAdded(), onItemRemoved(), and onQueueSelectionChanged().

QToolBar* Isis::Footprint2DView::m_permToolBar
private

The permanent tool bar.

Definition at line 93 of file Footprint2DView.h.

Referenced by Footprint2DView(), permToolBarActions(), and ~Footprint2DView().

MosaicSceneWidget* Isis::Footprint2DView::m_sceneWidget
private

The scene widget.

Definition at line 90 of file Footprint2DView.h.

Referenced by Footprint2DView(), onItemAdded(), onItemRemoved(), and onQueueSelectionChanged().

ToolPad* Isis::Footprint2DView::m_toolPad
private

The tool pad.

Definition at line 95 of file Footprint2DView.h.

Referenced by Footprint2DView(), toolPadActions(), and ~Footprint2DView().


The documentation for this class was generated from the following files: