Isis 3.0 Programmer Reference
Home
Isis::CubeDnView Class Reference

View that displays cubes in a QView-like way. More...

#include <CubeDnView.h>

Inheritance diagram for Isis::CubeDnView:
Inheritance graph
Collaboration diagram for Isis::CubeDnView:
Collaboration graph

Classes

class  XmlHandler
 

Public Slots

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, Cube *cube, bool isGroundSource=false)
 
void controlPointAdded (QString newPointId)
 

Public Member Functions

 CubeDnView (Directory *directory, QWidget *parent=0)
 Constructs the view, initializing the tools. More...
 
 ~CubeDnView ()
 Destructor. 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 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. More...
 
bool viewportContainsShape (MdiCubeViewport *viewport)
 
void load (XmlStackedHandlerReader *xmlReader, Project *project)
 
void save (QXmlStreamWriter &stream, Project *project, FileName newProjectRoot) const
 
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 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...
 

Private Slots

void onCurrentChanged (const QModelIndex &current)
 Slot to connect to the currentChanged() signal from a selection model. More...
 
void onCubeViewportActivated (MdiCubeViewport *)
 Slot to connect to the cubeViewportActivated signal from the Workspace. More...
 
void onItemAdded (ProjectItem *item)
 Slot to connect to the itemAdded signal from a ProjectItemModel. More...
 
void onCubeViewportAdded (MdiCubeViewport *viewport)
 Slot to connect to the viewportAdded signal from a Workspace. More...
 
void onCubeViewportDeleted (QObject *obj)
 Slot to connect to the destroyed signal from a viewport. More...
 

Private Member Functions

CubeworkspaceActiveCube ()
 Returns the cube of the active viewport in the Workspace, or a null pointer if no viewports are active. More...
 
void setWorkspaceActiveCube (Image *image)
 Raises the subwindow corresponding with an image to the top. More...
 

Private Attributes

QMap< Cube *, ProjectItem * > m_cubeItemMap
 Maps cubes to their items. More...
 
Workspacem_workspace
 The workspace. More...
 
QMenu * m_fileMenu
 File menu for storing actions. More...
 
QMenu * m_viewMenu
 View menu for storing actions. More...
 
QMenu * m_optionsMenu
 Options menu for storing actions. More...
 
QMenu * m_windowMenu
 Window menu for storing actions. More...
 
QMenu * m_helpMenu
 Help menu for storing actions. More...
 
QActionm_separatorAction
 A separator action that is reused. More...
 
QToolBarm_permToolBar
 A tool bar for storing actions. More...
 
QToolBarm_activeToolBar
 A tool bar for storing actions. More...
 
ToolPadm_toolPad
 A tool bar for storing actions. More...
 
QList< QAction * > m_permToolBarActions
 The permanent tool bar actions. More...
 
QWidgetAction * m_activeToolBarAction
 Widget of the active tool. More...
 
QList< QAction * > m_toolPadActions
 The tool pad actions. More...
 

Detailed Description

View that displays cubes in a QView-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 and coding standards. Fixes #4004.

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

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

2016-10-18 Tracie Sucharski - Added the status bar back in in order to display cube positional information (sample, line, latitude, longitude).

2016-10-18 Tracie Sucharski - Add method to return whether the viewport contains a Shape.

2016-11-10 Tracie Sucharski - Added functionality to save/restore CubeDnViews when opening projects.

Definition at line 74 of file CubeDnView.h.

Constructor & Destructor Documentation

Isis::CubeDnView::~CubeDnView ( )

Destructor.

Definition at line 265 of file CubeDnView.cpp.

References m_activeToolBar, m_permToolBar, and m_toolPad.

Member Function Documentation

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

Returns a list of actions for the active tool bar.

Returns
QList<QAction*> The actions

Reimplemented from Isis::AbstractProjectItemView.

Definition at line 391 of file CubeDnView.cpp.

References m_activeToolBarAction.

void Isis::CubeDnView::addItem ( ProjectItem item)
slot

Adds an item to the view.

Filters out items that are not Images or Shapes or ImageLists.

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

Definition at line 282 of file CubeDnView.cpp.

References Isis::AbstractProjectItemView::addItem(), Isis::ProjectItem::isImage(), Isis::ProjectItem::isImageList(), Isis::ProjectItem::isShape(), and Isis::ProjectItem::isShapeList().

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 Isis::Footprint2DView::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 Isis::Footprint2DView::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 Isis::Footprint2DView::eventFilter().

QList< QAction * > Isis::CubeDnView::editMenuActions ( )
virtual

Returns a list of actions appropriate for an edit menu.

Returns
QList<QAction*> The actions

Reimplemented from Isis::AbstractProjectItemView.

Definition at line 337 of file CubeDnView.cpp.

QList< QAction * > Isis::CubeDnView::fileMenuActions ( )
virtual

Returns a list of actions appropriate for a file menu.

Returns
QList<QAction*> The actions

Reimplemented from Isis::AbstractProjectItemView.

Definition at line 318 of file CubeDnView.cpp.

References m_fileMenu.

QList< QAction * > Isis::CubeDnView::helpMenuActions ( )
virtual

Returns a list of actions appropriate for a help menu.

Returns
QList<QAction*> The actions

Reimplemented from Isis::AbstractProjectItemView.

Definition at line 371 of file CubeDnView.cpp.

References m_helpMenu.

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::CubeDnView::onCubeViewportActivated ( MdiCubeViewport viewport)
privateslot

Slot to connect to the cubeViewportActivated signal from the Workspace.

Updates the selection model to reflect the activated viewport.

Parameters
[in]viewport(MdiCubeViewport *) The viewport

Definition at line 438 of file CubeDnView.cpp.

References Isis::CubeViewport::cube(), Isis::AbstractProjectItemView::internalModel(), m_cubeItemMap, and Isis::ProjectItemModel::selectionModel().

Referenced by CubeDnView().

void Isis::CubeDnView::onCubeViewportAdded ( MdiCubeViewport viewport)
privateslot

Slot to connect to the viewportAdded signal from a Workspace.

Removes the corresponding item from the model when its viewport is closed.

Parameters
[in]viewport(MdiCubeViewport *) The added viewport

Definition at line 465 of file CubeDnView.cpp.

References onCubeViewportDeleted().

Referenced by CubeDnView().

void Isis::CubeDnView::onCubeViewportDeleted ( QObject obj)
privateslot

Slot to connect to the destroyed signal from a viewport.

Removes the viewports corresponding item from the internal model.

Parameters
[in]obj(QObject *) The deleted viewport

Definition at line 477 of file CubeDnView.cpp.

References Isis::CubeViewport::cube(), Isis::AbstractProjectItemView::internalModel(), and m_cubeItemMap.

Referenced by onCubeViewportAdded().

void Isis::CubeDnView::onCurrentChanged ( const QModelIndex &  current)
privateslot

Slot to connect to the currentChanged() signal from a selection model.

If the new current item is an image the corresponding subwindow is activated.

Parameters
[in]current(const QModelIndex &) The new current index

Definition at line 415 of file CubeDnView.cpp.

References Isis::ProjectItem::image(), Isis::AbstractProjectItemView::internalModel(), Isis::ProjectItem::isImage(), Isis::ProjectItemModel::itemFromIndex(), and setWorkspaceActiveCube().

Referenced by CubeDnView().

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

Slot to connect to the itemAdded signal from a ProjectItemModel.

Adds the image or shape to the Workspace and the item to an internal map.

Parameters
[in]item(ProjectItem *) The added item

Definition at line 498 of file CubeDnView.cpp.

References Isis::Workspace::addCubeViewport(), Isis::Shape::cube(), Isis::Image::cube(), Isis::ProjectItem::image(), Isis::ProjectItem::isImage(), Isis::ProjectItem::isShape(), m_cubeItemMap, m_workspace, and Isis::ProjectItem::shape().

Referenced by CubeDnView().

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

Returns a list of actions for the permanent tool bar.

Returns
QList<QAction*> The actions

Reimplemented from Isis::AbstractProjectItemView.

Definition at line 381 of file CubeDnView.cpp.

References m_permToolBar.

QList< QAction * > Isis::CubeDnView::projectMenuActions ( )
virtual

Returns a list of actions appropriate for a project menu.

Returns
QList<QAction*> The actions

Reimplemented from Isis::AbstractProjectItemView.

Definition at line 328 of file CubeDnView.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::CubeDnView::settingsMenuActions ( )
virtual

Returns a list of actions appropriate for a settings menu.

Returns
QList<QAction*> The actions

Reimplemented from Isis::AbstractProjectItemView.

Definition at line 361 of file CubeDnView.cpp.

References m_optionsMenu.

void Isis::CubeDnView::setWorkspaceActiveCube ( Image image)
private

Raises the subwindow corresponding with an image to the top.

Definition at line 541 of file CubeDnView.cpp.

References Isis::Image::cube(), and m_workspace.

Referenced by onCurrentChanged().

QSize Isis::CubeDnView::sizeHint ( ) const

Returns the suggested size.

Returns
QSize The size hint

Definition at line 296 of file CubeDnView.cpp.

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

Returns a list of actions for the tool pad.

Returns
QList<QAction*> The actions

Reimplemented from Isis::AbstractProjectItemView.

Definition at line 403 of file CubeDnView.cpp.

References m_toolPad.

QList< QAction * > Isis::CubeDnView::viewMenuActions ( )
virtual

Returns a list of actions appropriate for a view menu.

Returns
QList<QAction*> The actions

Reimplemented from Isis::AbstractProjectItemView.

Definition at line 347 of file CubeDnView.cpp.

References m_separatorAction, m_viewMenu, and m_windowMenu.

Cube * Isis::CubeDnView::workspaceActiveCube ( )
private

Returns the cube of the active viewport in the Workspace, or a null pointer if no viewports are active.

Returns
Cube* The active cube

Definition at line 527 of file CubeDnView.cpp.

References Isis::CubeViewport::cube(), and m_workspace.

Member Data Documentation

QToolBar* Isis::CubeDnView::m_activeToolBar
private

A tool bar for storing actions.

Definition at line 159 of file CubeDnView.h.

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

QWidgetAction* Isis::CubeDnView::m_activeToolBarAction
private

Widget of the active tool.

Definition at line 163 of file CubeDnView.h.

Referenced by activeToolBarActions(), and CubeDnView().

QMap<Cube *, ProjectItem *> Isis::CubeDnView::m_cubeItemMap
private

Maps cubes to their items.

Definition at line 147 of file CubeDnView.h.

Referenced by CubeDnView(), onCubeViewportActivated(), onCubeViewportDeleted(), and onItemAdded().

QMenu* Isis::CubeDnView::m_fileMenu
private

File menu for storing actions.

Definition at line 150 of file CubeDnView.h.

Referenced by CubeDnView(), and fileMenuActions().

QMenu* Isis::CubeDnView::m_helpMenu
private

Help menu for storing actions.

Definition at line 154 of file CubeDnView.h.

Referenced by CubeDnView(), and helpMenuActions().

QMenu* Isis::CubeDnView::m_optionsMenu
private

Options menu for storing actions.

Definition at line 152 of file CubeDnView.h.

Referenced by CubeDnView(), and settingsMenuActions().

QToolBar* Isis::CubeDnView::m_permToolBar
private

A tool bar for storing actions.

Definition at line 158 of file CubeDnView.h.

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

QList<QAction *> Isis::CubeDnView::m_permToolBarActions
private

The permanent tool bar actions.

Definition at line 162 of file CubeDnView.h.

Referenced by CubeDnView().

QAction* Isis::CubeDnView::m_separatorAction
private

A separator action that is reused.

Definition at line 156 of file CubeDnView.h.

Referenced by CubeDnView(), and viewMenuActions().

ToolPad* Isis::CubeDnView::m_toolPad
private

A tool bar for storing actions.

Definition at line 160 of file CubeDnView.h.

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

QList<QAction *> Isis::CubeDnView::m_toolPadActions
private

The tool pad actions.

Definition at line 164 of file CubeDnView.h.

Referenced by CubeDnView().

QMenu* Isis::CubeDnView::m_viewMenu
private

View menu for storing actions.

Definition at line 151 of file CubeDnView.h.

Referenced by CubeDnView(), and viewMenuActions().

QMenu* Isis::CubeDnView::m_windowMenu
private

Window menu for storing actions.

Definition at line 153 of file CubeDnView.h.

Referenced by CubeDnView(), and viewMenuActions().

Workspace* Isis::CubeDnView::m_workspace
private

The workspace.

Definition at line 148 of file CubeDnView.h.

Referenced by CubeDnView(), onItemAdded(), setWorkspaceActiveCube(), and workspaceActiveCube().


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