Isis 3.0 Programmer Reference
Home
Isis::AbstractProjectItemView Class Reference

AbstractProjectItemView is a base class for views of a ProjectItemModel in Qt's model-view framework. More...

#include <AbstractProjectItemView.h>

Inheritance diagram for Isis::AbstractProjectItemView:
Inheritance graph
Collaboration diagram for Isis::AbstractProjectItemView:
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...
 

Public Member Functions

 AbstractProjectItemView (QWidget *parent=0)
 Constructs the AbstractProjectItemView. 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 * > permToolBarActions ()
 Returns a list of actions appropriate for the permanent tool bar. More...
 
virtual QList< QAction * > activeToolBarActions ()
 Returns a list of actions appropriate for the active tool bar. More...
 
virtual QList< QAction * > toolPadActions ()
 Returns a list of actions appropriate for the tool pad. 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...
 

Private Attributes

ProjectItemModelm_internalModel
 The internal model used by the view. More...
 

Detailed Description

AbstractProjectItemView is a base class for views of a ProjectItemModel in Qt's model-view framework.

AbstractProjectItemView is not meant to be instantiated directly. A view usually only shows items that have been added to the view. The views contains an internal ProjectItemProxyModel that represents the items appropriately for the view.

An AbstractProjectItemView may provide QActions for manipulating the view. These actions can be accessed in different contexts through toolBarActions(), menuActions(), and contextMenuActions().

When mime data is dropped on a view the view adds the selected items from the source model to the view.

Note that AbstractProjectItemView does not inherit from QAbstractItemView.

Author
2015-10-21 Jeffrey Covington
History:

2015-10-21 Jeffrey Covington - Original version.

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

2016-07-28 Tracie Sucharski - Implemented removeItem and removeItems methods.

2016-08-25 Adam Paquette - Minor updates to documentation. Fixes #4299.

Definition at line 64 of file AbstractProjectItemView.h.

Constructor & Destructor Documentation

Isis::AbstractProjectItemView::AbstractProjectItemView ( QWidget parent = 0)

Constructs the AbstractProjectItemView.

Parameters
[in]parent(QWidget *) The parent widget

Definition at line 44 of file AbstractProjectItemView.cpp.

References m_internalModel.

Member Function Documentation

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

Returns a list of actions appropriate for the active tool bar.

Returns
QList<QAction *> The actions

Reimplemented in Isis::CubeDnView, Isis::Footprint2DView, and Isis::ControlPointEditView.

Definition at line 161 of file AbstractProjectItemView.cpp.

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

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 internalModel().

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

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

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 addItem().

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

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

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 ( )
virtual

Returns the current item of the model.

Returns
ProjectItem * The item

Definition at line 251 of file AbstractProjectItemView.cpp.

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

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

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 internalModel().

Referenced by Isis::Footprint2DView::eventFilter().

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

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 internalModel().

Referenced by Isis::Footprint2DView::eventFilter().

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

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 internalModel().

Referenced by Isis::Footprint2DView::eventFilter().

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

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.

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

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 ( )
virtual

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 ( )
virtual

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 internalModel().

Referenced by currentItem(), selectedItems(), and setInternalModel().

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

Returns a list of actions appropriate for the permanent tool bar.

Returns
QList<QAction *> The actions

Reimplemented in Isis::CubeDnView, Isis::Footprint2DView, and Isis::ControlPointEditView.

Definition at line 151 of file AbstractProjectItemView.cpp.

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

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)
virtualslot

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 internalModel().

Referenced by removeItems().

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

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 removeItem().

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

Return the selected items of the model.

Returns
QList<ProjectItem *> The items

Definition at line 261 of file AbstractProjectItemView.cpp.

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

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

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 m_internalModel, and model().

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

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

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 internalModel().

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

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

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.

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

Returns a list of actions appropriate for the tool pad.

Returns
QList<QAction *> The actions

Reimplemented in Isis::CubeDnView, Isis::Footprint2DView, and Isis::ControlPointEditView.

Definition at line 171 of file AbstractProjectItemView.cpp.

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

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

ProjectItemModel* Isis::AbstractProjectItemView::m_internalModel
private

The internal model used by the view.

Definition at line 105 of file AbstractProjectItemView.h.

Referenced by AbstractProjectItemView(), internalModel(), and setInternalModel().


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