Isis Developer Reference
Isis::ProjectItemTreeView Class Reference

A ProjectItemTreeView displays items from a ProjectItemProxyModel in a tree structure. More...

#include <ProjectItemTreeView.h>

Inheritance diagram for Isis::ProjectItemTreeView:
Inheritance graph
Collaboration diagram for Isis::ProjectItemTreeView:
Collaboration graph

Public Slots

virtual void addItem (ProjectItem *item)
 Adds an item to the view.
 
virtual void addItems (QList< ProjectItem * > items)
 Adds several items to the view.
 
virtual void removeItem (ProjectItem *item)
 Removes an item to the view.
 
virtual void removeItems (QList< ProjectItem * > items)
 Removes several items from the view.
 
virtual void disableActions ()
 Disables toolbars and toolpad actions.
 

Signals

void windowChangeEvent (bool event)
 

Public Member Functions

 ProjectItemTreeView (QWidget *parent=0)
 Constructs a ProjectItemTreeView.
 
 ~ProjectItemTreeView ()
 Default destructor.
 
virtual QSize sizeHint () const
 Returns the suggested size.
 
virtual void setInternalModel (ProjectItemModel *model)
 Sets the model so that the internal proxy model exactly matches the source model.
 
QTreeView * treeView ()
 Returns the tree view.
 
virtual void setModel (ProjectItemModel *model)
 Sets the model used by the view.
 
virtual ProjectItemModelmodel ()
 Returns the model used by the view.
 
virtual void dragEnterEvent (QDragEnterEvent *event)
 Accepts the drag enter event if the internal model can accept the mime data.
 
virtual void dragMoveEvent (QDragMoveEvent *event)
 Accepts the drag event if the internal model can accept the mime data.
 
virtual void dropEvent (QDropEvent *event)
 Drops the data into the internal model if it can accept the data.
 
virtual void moveEvent (QMoveEvent *event)
 
virtual void resizeEvent (QResizeEvent *event)
 
virtual void enterEvent (QEvent *event)
 Enables actions when cursor enters the view.
 
virtual void leaveEvent (QEvent *event)
 Disables actions when cursor leaves the view.
 
virtual void enableActions ()
 Enables toolbars and toolpad actions.
 
virtual QList< QAction * > contextMenuActions ()
 Returns a list of actions appropriate for a context menu.
 
virtual ProjectItemcurrentItem ()
 Returns the current item of the model.
 
virtual QList< ProjectItem * > selectedItems ()
 Return the selected items of the model.
 
virtual ProjectItemModelinternalModel ()
 Returns the internal model of the view.
 

Protected Member Functions

bool eventFilter (QObject *watched, QEvent *event)
 Filters out drag and drop events so that they are handled by the ProjectItemTreeView.
 

Detailed Description

A ProjectItemTreeView displays items from a ProjectItemProxyModel in a tree structure.

The view can display the contents of the model directly without adding items to the model using the setInternalModel() method instead of setModel().

Author
2015-10-21 Jeffrey Covington

Constructor & Destructor Documentation

◆ ProjectItemTreeView()

Isis::ProjectItemTreeView::ProjectItemTreeView ( QWidget * parent = 0)

Constructs a ProjectItemTreeView.

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

References Isis::AbstractProjectItemView::internalModel(), and setInternalModel().

◆ ~ProjectItemTreeView()

Isis::ProjectItemTreeView::~ProjectItemTreeView ( )

Default destructor.

Member Function Documentation

◆ addItem

void Isis::AbstractProjectItemView::addItem ( ProjectItem * item)
virtualslotinherited

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

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

◆ addItems

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

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

References Isis::AbstractProjectItemView::internalModel().

◆ contextMenuActions()

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

Returns a list of actions appropriate for a context menu.

Returns
QList<QAction *> The actions

◆ currentItem()

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

Returns the current item of the model.

Returns
ProjectItem * The item

References Isis::AbstractProjectItemView::model().

◆ disableActions

void Isis::AbstractProjectItemView::disableActions ( )
virtualslotinherited

◆ dragEnterEvent()

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

References Isis::AbstractProjectItemView::internalModel().

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

◆ dragMoveEvent()

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

References Isis::AbstractProjectItemView::internalModel().

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

◆ dropEvent()

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

References Isis::AbstractProjectItemView::internalModel().

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

◆ enableActions()

void Isis::AbstractProjectItemView::enableActions ( )
virtualinherited

Enables toolbars and toolpad actions.

Referenced by Isis::AbstractProjectItemView::enterEvent().

◆ enterEvent()

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

Enables actions when cursor enters the view.

Parameters
eventThe enter event

References Isis::AbstractProjectItemView::enableActions().

◆ eventFilter()

bool Isis::ProjectItemTreeView::eventFilter ( QObject * watched,
QEvent * event )
protected

Filters out drag and drop events so that they are handled by the ProjectItemTreeView.

Parameters
[in]watched(QObject *) The object being filtered.
[in]event(QEvent *) The event passed to the object.
Returns
bool True if the event is filtered by the project item tree view

◆ internalModel()

◆ leaveEvent()

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

Disables actions when cursor leaves the view.

Parameters
eventThe leave event

References Isis::AbstractProjectItemView::disableActions().

◆ model()

ProjectItemModel * Isis::AbstractProjectItemView::model ( )
virtualinherited

◆ moveEvent()

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

◆ removeItem

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.

References Isis::AbstractProjectItemView::internalModel().

Referenced by Isis::AbstractProjectItemView::removeItems().

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

References Isis::AbstractProjectItemView::removeItem().

◆ resizeEvent()

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

◆ selectedItems()

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

Return the selected items of the model.

Returns
QList<ProjectItem *> The items

References Isis::AbstractProjectItemView::model().

◆ setInternalModel()

void Isis::ProjectItemTreeView::setInternalModel ( ProjectItemModel * model)
virtual

Sets the model so that the internal proxy model exactly matches the source model.

Parameters
[in]model(ProjectItemModel *) The source model.

Reimplemented from Isis::AbstractProjectItemView.

References Isis::AbstractProjectItemView::internalModel(), Isis::AbstractProjectItemView::model(), and Isis::AbstractProjectItemView::setInternalModel().

Referenced by ProjectItemTreeView().

◆ setModel()

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

References Isis::AbstractProjectItemView::internalModel(), and Isis::AbstractProjectItemView::model().

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

◆ sizeHint()

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

Returns the suggested size.

Returns
QSize The size hint

Reimplemented from Isis::AbstractProjectItemView.

◆ treeView()

QTreeView * Isis::ProjectItemTreeView::treeView ( )

Returns the tree view.

Returns
QTreeView* The tree view.

◆ windowChangeEvent

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

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