Isis 3.0 Programmer Reference
Back | Home
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. 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

 ProjectItemTreeView (QWidget *parent=0)
 Constructs a ProjectItemTreeView. More...
 
 ~ProjectItemTreeView ()
 Default destructor. More...
 
virtual void setInternalModel (ProjectItemModel *model)
 Sets the model so that the internal proxy model exactly matches the source model. More...
 
QTreeView * treeView ()
 Returns the tree view. 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...
 

Protected Member Functions

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

Private Slots

void onItemAdded (ProjectItem *item)
 Expands the parent project item in the tree view to show the added item. More...
 

Private Attributes

QTreeView * m_treeView
 The tree view (widget) More...
 

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
History:

2015-10-21 Jeffrey Covington - Original version.

2016-01-13 Jeffrey Covington - Added destructor and treeView() methods. Added onItemAdded() slot. Replaced setSourceModel() with setInternalModel() method.

2016-06-27 Ian Humphrey - Added documentation (treeView() and onItemAdded()), checked coding standards. Fixes #4006.

2016-08-25 Adam Paquette - Updated documentation. Fixes #4299.

2016-12-01 Ian Humphrey - Updated #define header guard to match #ifndef pattern. Resolves [-Wheader-guard] warnings for prog17 (clang).

Definition at line 57 of file ProjectItemTreeView.h.

Constructor & Destructor Documentation

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

Constructs a ProjectItemTreeView.

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

Definition at line 40 of file ProjectItemTreeView.cpp.

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

Isis::ProjectItemTreeView::~ProjectItemTreeView ( )

Default destructor.

Definition at line 62 of file ProjectItemTreeView.cpp.

Member Function Documentation

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

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

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

Referenced by Isis::CubeDnView::addItem(), and Isis::AbstractProjectItemView::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.

Parameters
[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().

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

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

Returns the current item of the model.

Returns
ProjectItem * The item

Definition at line 251 of file AbstractProjectItemView.cpp.

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

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

Definition at line 106 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::internalModel().

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

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

Definition at line 121 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::internalModel().

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

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

Definition at line 135 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::internalModel().

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

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

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.

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

Definition at line 120 of file ProjectItemTreeView.cpp.

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

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

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

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

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

void Isis::ProjectItemTreeView::onItemAdded ( ProjectItem item)
privateslot

Expands the parent project item in the tree view to show the added item.

Parameters
[in]item(ProjectItem *) The added project item.

Definition at line 100 of file ProjectItemTreeView.cpp.

References Isis::ProjectItem::isControlList(), Isis::ProjectItem::isImageList(), m_treeView, and Isis::ProjectItem::parent().

Referenced by setInternalModel().

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

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

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

Definition at line 301 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::internalModel().

Referenced by Isis::AbstractProjectItemView::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.

Definition at line 316 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::removeItem().

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

Return the selected items of the model.

Returns
QList<ProjectItem *> The items

Definition at line 261 of file AbstractProjectItemView.cpp.

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

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.

Definition at line 81 of file ProjectItemTreeView.cpp.

References Isis::AbstractProjectItemView::internalModel(), m_treeView, onItemAdded(), Isis::ProjectItemModel::selectionModel(), and Isis::AbstractProjectItemView::setInternalModel().

Referenced by ProjectItemTreeView().

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

Definition at line 56 of file AbstractProjectItemView.cpp.

References Isis::AbstractProjectItemView::internalModel().

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

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

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

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.

QTreeView * Isis::ProjectItemTreeView::treeView ( )

Returns the tree view.

Returns
QTreeView* The tree view.

Definition at line 70 of file ProjectItemTreeView.cpp.

References m_treeView.

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

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

QTreeView* Isis::ProjectItemTreeView::m_treeView
private

The tree view (widget)

Definition at line 75 of file ProjectItemTreeView.h.

Referenced by onItemAdded(), ProjectItemTreeView(), setInternalModel(), and treeView().


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

U.S. Department of the Interior | U.S. Geological Survey
ISIS | Privacy & Disclaimers | Astrogeology Research Program
To contact us, please post comments and questions on the ISIS Support Center
File Modified: 07/13/2023 00:08:53