Isis Developer Reference
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...
 
virtual void disableActions ()
 Disables toolbars and toolpad actions. More...
 

Signals

void windowChangeEvent (bool event)
 

Public Member Functions

 AbstractProjectItemView (QWidget *parent=0)
 Constructs the AbstractProjectItemView. More...
 
virtual QSize sizeHint () const
 Returns the suggested size. 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 void moveEvent (QMoveEvent *event)
 
virtual void resizeEvent (QResizeEvent *event)
 
virtual void enterEvent (QEvent *event)
 Enables actions when cursor enters the view. More...
 
virtual void leaveEvent (QEvent *event)
 Disables actions when cursor leaves the view. More...
 
virtual void enableActions ()
 Enables toolbars and toolpad actions. 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...
 

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.

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

Constructor & Destructor Documentation

◆ AbstractProjectItemView()

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

Constructs the AbstractProjectItemView.

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

Member Function Documentation

◆ addItem

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 overridden in a subclass to filter out unneeded items.

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

References internalModel().

Referenced by Isis::CubeDnView::addItem().

◆ 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. This method can be overridden in a subclass to filter out unneeded items.

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

References internalModel().

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

◆ contextMenuActions()

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

Returns a list of actions appropriate for a context menu.

Returns
QList<QAction *> The actions

◆ currentItem()

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

Returns the current item of the model.

Returns
ProjectItem * The item

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

◆ disableActions

void Isis::AbstractProjectItemView::disableActions ( )
virtualslot

Disables toolbars and toolpad actions.

Referenced by Isis::CnetEditorView::CnetEditorView(), Isis::Footprint2DView::Footprint2DView(), and leaveEvent().

◆ dragEnterEvent()

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

References internalModel().

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

◆ dragMoveEvent()

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

References internalModel().

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

◆ dropEvent()

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

References internalModel().

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

◆ enableActions()

void Isis::AbstractProjectItemView::enableActions ( )
virtual

Enables toolbars and toolpad actions.

Referenced by enterEvent().

◆ enterEvent()

void Isis::AbstractProjectItemView::enterEvent ( QEvent *  event)
virtual

Enables actions when cursor enters the view.

Parameters
eventThe enter event

References enableActions().

◆ internalModel()

ProjectItemModel * Isis::AbstractProjectItemView::internalModel ( )
virtual

◆ leaveEvent()

void Isis::AbstractProjectItemView::leaveEvent ( QEvent *  event)
virtual

Disables actions when cursor leaves the view.

Parameters
eventThe leave event

References disableActions().

◆ model()

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.

References internalModel().

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

◆ moveEvent()

void Isis::AbstractProjectItemView::moveEvent ( QMoveEvent *  event)
virtual

References windowChangeEvent().

◆ removeItem

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.

References internalModel().

Referenced by removeItems().

◆ 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.

References removeItem().

◆ resizeEvent()

void Isis::AbstractProjectItemView::resizeEvent ( QResizeEvent *  event)
virtual

References windowChangeEvent().

◆ selectedItems()

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

Return the selected items of the model.

Returns
QList<ProjectItem *> The items

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

◆ setInternalModel()

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.

References model().

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

◆ setModel()

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

References internalModel(), and model().

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

◆ sizeHint()

QSize Isis::AbstractProjectItemView::sizeHint ( ) const
virtual

Returns the suggested size.

Returns
QSize The size hint

Reimplemented in Isis::ProjectItemTreeView, and Isis::ControlHealthMonitorView.

◆ windowChangeEvent

void Isis::AbstractProjectItemView::windowChangeEvent ( bool  event)
signal

Referenced by moveEvent(), and resizeEvent().


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