Isis 3 Programmer Reference
|
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... | |
void | enableControlNetTool (bool value) |
A slot function that is called when directory emits a signal that an active control network is set. 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, QString serialNumber) |
void | deleteControlPoint (ControlPoint *controlPoint) |
void | createControlPoint (double latitude, double longitude, Cube *cube, bool isGroundSource=false) |
void | controlPointAdded (QString newPointId) |
void | redrawMeasures () |
void | windowChangeEvent (bool event) |
Public Member Functions | |
CubeDnView (Directory *directory, QWidget *parent=0) | |
Constructs the view, initializing the tools. More... | |
~CubeDnView () | |
Destructor. More... | |
bool | viewportContainsShape (MdiCubeViewport *viewport) |
void | load (XmlStackedHandlerReader *xmlReader, Project *project) |
void | save (QXmlStreamWriter &stream, Project *project, FileName newProjectRoot) const |
virtual QSize | sizeHint () const |
Returns the suggested size. More... | |
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 void | moveEvent (QMoveEvent *event) |
virtual void | resizeEvent (QResizeEvent *event) |
virtual void | enterEvent (QEvent *event) |
Enables actions when cursor enters the view. 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 | createActions (Directory *directory) |
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... | |
void | disableActions () |
Disables toolbars and toolpad actions/widgets. 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... | |
void | leaveEvent (QEvent *event) |
Disables actions when the cursor leaves the view. More... | |
void | enableActions () |
Enables toolbars and toolpad actions/widgets. More... | |
Private Attributes | |
QMap< Cube *, ProjectItem * > | m_cubeItemMap |
Maps cubes to their items. More... | |
Workspace * | m_workspace |
The workspace. More... | |
Directory * | m_directory |
The directory. More... | |
ProjectItemViewMenu * | m_viewMenu |
View menu for storing actions. More... | |
ProjectItemViewMenu * | m_optionsMenu |
Options menu for storing actions. More... | |
ProjectItemViewMenu * | m_windowMenu |
Window 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< QWidget * > | m_childWidgets |
Child widgets of the active toolbar. More... | |
ProjectItemModel * | m_internalModel |
The internal model used by the view. More... | |
View that displays cubes in a QView-like way.
Definition at line 97 of file CubeDnView.h.
Constructs the view, initializing the tools.
parent | (QWidget *) Pointer to parent widget |
Definition at line 81 of file CubeDnView.cpp.
References Isis::AbstractProjectItemView::internalModel(), m_cubeItemMap, m_directory, m_workspace, Isis::Workspace::mdiArea(), onCubeViewportActivated(), onCubeViewportAdded(), onCurrentChanged(), and onItemAdded().
Isis::CubeDnView::~CubeDnView | ( | ) |
Destructor.
Definition at line 332 of file CubeDnView.cpp.
References m_activeToolBar, m_optionsMenu, m_permToolBar, m_toolPad, m_viewMenu, and m_windowMenu.
|
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 356 of file CubeDnView.cpp.
References Isis::AbstractProjectItemView::addItem(), Isis::ProjectItem::isImage(), Isis::ProjectItem::isImageList(), Isis::ProjectItem::isShape(), and Isis::ProjectItem::isShapeList().
Referenced by Isis::ControlHealthMonitorView::openImageEditor().
|
virtualslotinherited |
Adds several items to the view.
The items must be a part of the view's model. This method can be overridden in a subclass to filter out unneeded items.
[in] | items | (QList<ProjectItem *>) The items to add. |
Definition at line 264 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::internalModel().
Referenced by Isis::CubeDnViewWorkOrder::execute(), and Isis::Footprint2DViewWorkOrder::execute().
Returns a list of actions appropriate for a context menu.
Definition at line 218 of file AbstractProjectItemView.cpp.
|
virtualinherited |
Returns the current item of the model.
Definition at line 228 of file AbstractProjectItemView.cpp.
References Isis::ProjectItemModel::currentItem(), and Isis::AbstractProjectItemView::model().
|
privateslot |
Disables toolbars and toolpad actions/widgets.
Overriden method.
Definition at line 283 of file CubeDnView.cpp.
References m_childWidgets.
Referenced by leaveEvent().
|
virtualinherited |
Accepts the drag enter event if the internal model can accept the mime data.
[in] | event | (QDragEnterEvent *) The drag event |
Definition at line 119 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 134 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 148 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::internalModel().
Referenced by Isis::Footprint2DView::eventFilter().
|
privatevirtual |
Enables toolbars and toolpad actions/widgets.
Overriden method. If an active control network has not been set, do not enable the cnet tool.
Reimplemented from Isis::AbstractProjectItemView.
Definition at line 297 of file CubeDnView.cpp.
References Isis::Project::activeControl(), m_childWidgets, m_directory, and Isis::Directory::project().
|
slot |
A slot function that is called when directory emits a signal that an active control network is set.
It enables the control network editor tool in the toolpad and loads the network.
value | The boolean that holds if a control network has been set. |
Definition at line 317 of file CubeDnView.cpp.
References m_toolPad.
|
virtualinherited |
Enables actions when cursor enters the view.
event | The enter event |
Definition at line 178 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::enableActions().
|
virtualinherited |
Returns the internal model of the view.
By default it is a proxy model.
Definition at line 108 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::m_internalModel.
Referenced by Isis::AbstractProjectItemView::addItem(), Isis::AbstractProjectItemView::addItems(), 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().
|
privatevirtual |
Disables actions when the cursor leaves the view.
Overriden method If a project item view menu or toolpad action menu is visible, i.e. clicked on, this causes a leave event. We want the actions to still be enabled when a menu is visible.
event | The leave event |
Reimplemented from Isis::AbstractProjectItemView.
Definition at line 266 of file CubeDnView.cpp.
References disableActions(), m_optionsMenu, m_viewMenu, and m_windowMenu.
|
virtualinherited |
Returns the model used by the view.
If the internal model is a proxy model, it returns the source model.
Definition at line 83 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::internalModel().
Referenced by Isis::AbstractProjectItemView::currentItem(), Isis::BundleObservationView::displayCsvFile(), Isis::AbstractProjectItemView::selectedItems(), Isis::AbstractProjectItemView::setInternalModel(), Isis::ProjectItemTreeView::setInternalModel(), and Isis::AbstractProjectItemView::setModel().
|
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 406 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 433 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 445 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 383 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 466 of file CubeDnView.cpp.
References Isis::Workspace::addCubeViewport(), Isis::Image::cube(), Isis::Shape::cube(), Isis::Workspace::cubeToMdiWidget(), Isis::ProjectItem::image(), Isis::ProjectItem::isImage(), Isis::ProjectItem::isShape(), m_cubeItemMap, m_workspace, and Isis::ProjectItem::shape().
Referenced by CubeDnView().
|
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 278 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 292 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::removeItem().
|
virtualinherited |
Return the selected items of the model.
Definition at line 238 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 97 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 69 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::internalModel(), and Isis::AbstractProjectItemView::model().
Referenced by Isis::Directory::addCubeDnView(), Isis::Directory::addFootprint2DView(), and Isis::Directory::addProjectItemTreeView().
|
private |
Raises the subwindow corresponding with an image to the top.
Definition at line 509 of file CubeDnView.cpp.
References Isis::Image::cube(), Isis::Workspace::cubeToMdiWidget(), and m_workspace.
Referenced by onCurrentChanged().
|
virtualinherited |
Returns the suggested size.
Reimplemented in Isis::ProjectItemTreeView, and Isis::ControlHealthMonitorView.
Definition at line 53 of file AbstractProjectItemView.cpp.
|
private |
Returns the cube of the active viewport in the Workspace, or a null pointer if no viewports are active.
Definition at line 495 of file CubeDnView.cpp.
References Isis::CubeViewport::cube(), m_workspace, Isis::Workspace::mdiArea(), and Isis::ViewportMdiSubWindow::viewport().
|
private |
A tool bar for storing actions.
Definition at line 175 of file CubeDnView.h.
Referenced by ~CubeDnView().
Child widgets of the active toolbar.
Definition at line 177 of file CubeDnView.h.
Referenced by disableActions(), and enableActions().
|
private |
Maps cubes to their items.
Definition at line 164 of file CubeDnView.h.
Referenced by CubeDnView(), onCubeViewportActivated(), onCubeViewportDeleted(), and onItemAdded().
|
private |
The directory.
Definition at line 166 of file CubeDnView.h.
Referenced by CubeDnView(), and enableActions().
|
privateinherited |
The internal model used by the view.
Definition at line 123 of file AbstractProjectItemView.h.
Referenced by Isis::AbstractProjectItemView::AbstractProjectItemView(), Isis::AbstractProjectItemView::internalModel(), and Isis::AbstractProjectItemView::setInternalModel().
|
private |
Options menu for storing actions.
Definition at line 169 of file CubeDnView.h.
Referenced by leaveEvent(), and ~CubeDnView().
|
private |
A tool bar for storing actions.
Definition at line 174 of file CubeDnView.h.
Referenced by ~CubeDnView().
|
private |
A separator action that is reused.
Definition at line 172 of file CubeDnView.h.
|
private |
A tool bar for storing actions.
Definition at line 176 of file CubeDnView.h.
Referenced by enableControlNetTool(), and ~CubeDnView().
|
private |
View menu for storing actions.
Definition at line 168 of file CubeDnView.h.
Referenced by leaveEvent(), and ~CubeDnView().
|
private |
Window menu for storing actions.
Definition at line 170 of file CubeDnView.h.
Referenced by leaveEvent(), and ~CubeDnView().
|
private |
The workspace.
Definition at line 165 of file CubeDnView.h.
Referenced by CubeDnView(), onItemAdded(), setWorkspaceActiveCube(), and workspaceActiveCube().