Isis 3.0 Programmer Reference
| Home |
View that displays cubes in a QView-like way. More...
#include <CubeDnView.h>
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 ProjectItemModel * | model () |
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 ProjectItem * | currentItem () |
Returns the current item of the model. More... | |
virtual QList< ProjectItem * > | selectedItems () |
Return the selected items of the model. More... | |
virtual ProjectItemModel * | internalModel () |
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 ¤t) |
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 | |
Cube * | workspaceActiveCube () |
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... | |
Workspace * | m_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... | |
QAction * | m_separatorAction |
A separator action that is reused. More... | |
QToolBar * | m_permToolBar |
A tool bar for storing actions. More... | |
QToolBar * | m_activeToolBar |
A tool bar for storing actions. More... | |
ToolPad * | m_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... | |
View that displays cubes in a QView-like way.
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.
Constructs the view, initializing the tools.
parent | (QWidget *) Pointer to parent widget |
Definition at line 91 of file CubeDnView.cpp.
References Isis::Project::activeControl(), Isis::Tool::addTo(), Isis::Tool::addToActive(), Isis::Tool::addToPermanent(), Isis::Control::controlNet(), Isis::AbstractProjectItemView::internalModel(), m_activeToolBar, m_activeToolBarAction, m_cubeItemMap, m_fileMenu, m_helpMenu, m_optionsMenu, m_permToolBar, m_permToolBarActions, m_separatorAction, m_toolPad, m_toolPadActions, m_viewMenu, m_windowMenu, m_workspace, Isis::Tool::menuName(), onCubeViewportActivated(), onCubeViewportAdded(), onCurrentChanged(), onItemAdded(), and Isis::Directory::project().
Isis::CubeDnView::~CubeDnView | ( | ) |
Destructor.
Definition at line 265 of file CubeDnView.cpp.
References m_activeToolBar, m_permToolBar, and m_toolPad.
Returns a list of actions for the active tool bar.
Reimplemented from Isis::AbstractProjectItemView.
Definition at line 391 of file CubeDnView.cpp.
References m_activeToolBarAction.
|
slot |
Adds an item to the view.
Filters out items that are not Images or Shapes or ImageLists.
[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().
|
virtualslotinherited |
Adds several items to the view.
The items must be a part of the view's model.
[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().
Returns a list of actions appropriate for a context menu.
Definition at line 181 of file AbstractProjectItemView.cpp.
|
virtualinherited |
Returns the current item of the model.
Definition at line 251 of file AbstractProjectItemView.cpp.
References Isis::ProjectItemModel::currentItem(), and Isis::AbstractProjectItemView::model().
|
virtualinherited |
Accepts the drag enter event if the internal model can accept the mime data.
[in] | event | (QDragEnterEvent *) The drag event |
Definition at line 106 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::internalModel().
Referenced by Isis::Footprint2DView::eventFilter().
|
virtualinherited |
Accepts the drag event if the internal model can accept the mime data.
[in] | event | (QDragMoveEvent *) The drag event |
Definition at line 121 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::internalModel().
Referenced by Isis::Footprint2DView::eventFilter().
|
virtualinherited |
Drops the data into the internal model if it can accept the data.
[in] | event | (QDropEvent *) The drop event |
Definition at line 135 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::internalModel().
Referenced by Isis::Footprint2DView::eventFilter().
Returns a list of actions appropriate for an edit menu.
Reimplemented from Isis::AbstractProjectItemView.
Definition at line 337 of file CubeDnView.cpp.
Returns a list of actions appropriate for a file menu.
Reimplemented from Isis::AbstractProjectItemView.
Definition at line 318 of file CubeDnView.cpp.
References m_fileMenu.
Returns a list of actions appropriate for a help menu.
Reimplemented from Isis::AbstractProjectItemView.
Definition at line 371 of file CubeDnView.cpp.
References m_helpMenu.
|
virtualinherited |
Returns the internal model of the view.
By default it is a proxy model.
Definition at line 95 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::m_internalModel.
Referenced by Isis::AbstractProjectItemView::addItem(), CubeDnView(), Isis::AbstractProjectItemView::dragEnterEvent(), Isis::AbstractProjectItemView::dragMoveEvent(), Isis::AbstractProjectItemView::dropEvent(), Isis::Footprint2DView::Footprint2DView(), Isis::AbstractProjectItemView::model(), onCubeViewportActivated(), onCubeViewportDeleted(), onCurrentChanged(), Isis::Footprint2DView::onQueueSelectionChanged(), Isis::ProjectItemTreeView::ProjectItemTreeView(), Isis::AbstractProjectItemView::removeItem(), Isis::ProjectItemTreeView::setInternalModel(), and Isis::AbstractProjectItemView::setModel().
|
virtualinherited |
Returns the model used by the view.
If the internal model is a proxy model, it returns the source 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().
|
privateslot |
Slot to connect to the cubeViewportActivated signal from the Workspace.
Updates the selection model to reflect the activated viewport.
[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().
|
privateslot |
Slot to connect to the viewportAdded signal from a Workspace.
Removes the corresponding item from the model when its viewport is closed.
[in] | viewport | (MdiCubeViewport *) The added viewport |
Definition at line 465 of file CubeDnView.cpp.
References onCubeViewportDeleted().
Referenced by CubeDnView().
|
privateslot |
Slot to connect to the destroyed signal from a viewport.
Removes the viewports corresponding item from the internal model.
[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().
|
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.
[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().
|
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.
[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().
Returns a list of actions for the permanent tool bar.
Reimplemented from Isis::AbstractProjectItemView.
Definition at line 381 of file CubeDnView.cpp.
References m_permToolBar.
Returns a list of actions appropriate for a project menu.
Reimplemented from Isis::AbstractProjectItemView.
Definition at line 328 of file CubeDnView.cpp.
|
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.
[in] | item | (ProjectItem *) The item to remove. |
Definition at line 301 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::internalModel().
Referenced by Isis::AbstractProjectItemView::removeItems().
|
virtualslotinherited |
Removes several items from the view.
The items must be a part of the view's model.
[in] | items | (QList<ProjectItem *>) The items to remove. |
Definition at line 316 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::removeItem().
|
virtualinherited |
Return the selected items of the model.
Definition at line 261 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::model(), and Isis::ProjectItemModel::selectedItems().
|
virtualinherited |
Sets the internal model of the view.
[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().
|
virtualinherited |
Sets the model used by the view.
If the internal model is a proxy model, it sets the source model.
[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().
Returns a list of actions appropriate for a settings menu.
Reimplemented from Isis::AbstractProjectItemView.
Definition at line 361 of file CubeDnView.cpp.
References m_optionsMenu.
|
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.
Definition at line 296 of file CubeDnView.cpp.
Returns a list of actions for the tool pad.
Reimplemented from Isis::AbstractProjectItemView.
Definition at line 403 of file CubeDnView.cpp.
References m_toolPad.
Returns a list of actions appropriate for a view menu.
Reimplemented from Isis::AbstractProjectItemView.
Definition at line 347 of file CubeDnView.cpp.
References m_separatorAction, m_viewMenu, and m_windowMenu.
|
private |
Returns the cube of the active viewport in the Workspace, or a null pointer if no viewports are active.
Definition at line 527 of file CubeDnView.cpp.
References Isis::CubeViewport::cube(), and m_workspace.
|
private |
A tool bar for storing actions.
Definition at line 159 of file CubeDnView.h.
Referenced by CubeDnView(), and ~CubeDnView().
|
private |
Widget of the active tool.
Definition at line 163 of file CubeDnView.h.
Referenced by activeToolBarActions(), and CubeDnView().
|
private |
Maps cubes to their items.
Definition at line 147 of file CubeDnView.h.
Referenced by CubeDnView(), onCubeViewportActivated(), onCubeViewportDeleted(), and onItemAdded().
|
private |
File menu for storing actions.
Definition at line 150 of file CubeDnView.h.
Referenced by CubeDnView(), and fileMenuActions().
|
private |
Help menu for storing actions.
Definition at line 154 of file CubeDnView.h.
Referenced by CubeDnView(), and helpMenuActions().
|
private |
Options menu for storing actions.
Definition at line 152 of file CubeDnView.h.
Referenced by CubeDnView(), and settingsMenuActions().
|
private |
A tool bar for storing actions.
Definition at line 158 of file CubeDnView.h.
Referenced by CubeDnView(), permToolBarActions(), and ~CubeDnView().
The permanent tool bar actions.
Definition at line 162 of file CubeDnView.h.
Referenced by CubeDnView().
|
private |
A separator action that is reused.
Definition at line 156 of file CubeDnView.h.
Referenced by CubeDnView(), and viewMenuActions().
|
private |
A tool bar for storing actions.
Definition at line 160 of file CubeDnView.h.
Referenced by CubeDnView(), toolPadActions(), and ~CubeDnView().
|
private |
View menu for storing actions.
Definition at line 151 of file CubeDnView.h.
Referenced by CubeDnView(), and viewMenuActions().
|
private |
Window menu for storing actions.
Definition at line 153 of file CubeDnView.h.
Referenced by CubeDnView(), and viewMenuActions().
|
private |
The workspace.
Definition at line 148 of file CubeDnView.h.
Referenced by CubeDnView(), onItemAdded(), setWorkspaceActiveCube(), and workspaceActiveCube().