A ProjectItemTreeView displays items from a ProjectItemProxyModel in a tree structure. More...
#include <ProjectItemTreeView.h>
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 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 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 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... | |
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... | |
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().
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.
Isis::ProjectItemTreeView::ProjectItemTreeView | ( | QWidget * | parent = 0 | ) |
Constructs a ProjectItemTreeView.
[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.
Returns a list of actions appropriate for the active tool bar.
Reimplemented in Isis::CubeDnView, Isis::Footprint2DView, and Isis::ControlPointEditView.
Definition at line 161 of file AbstractProjectItemView.cpp.
|
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.
[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().
|
virtualslotinherited |
Adds several items to the view.
The items must be a part of the view's model.
[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().
Returns a list of actions appropriate for a context menu.
Definition at line 181 of file AbstractProjectItemView.cpp.
|
virtualinherited |
Returns the current item of the model.
Definition at line 251 of file AbstractProjectItemView.cpp.
References Isis::ProjectItemModel::currentItem(), and Isis::AbstractProjectItemView::model().
|
virtualinherited |
Accepts the drag enter event if the internal model can accept the mime data.
[in] | event | (QDragEnterEvent *) The drag event |
Definition at line 106 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 121 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 135 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::internalModel().
Referenced by Isis::Footprint2DView::eventFilter().
Returns a list of actions appropriate for an edit menu.
Reimplemented in Isis::CubeDnView.
Definition at line 211 of file AbstractProjectItemView.cpp.
|
protected |
Filters out drag and drop events so that they are handled by the ProjectItemTreeView.
[in] | watched | (QObject *) The object being filtered. |
[in] | event | (QEvent *) The event passed to the object. |
Definition at line 120 of file ProjectItemTreeView.cpp.
Returns a list of actions appropriate for a file menu.
Reimplemented in Isis::CubeDnView.
Definition at line 191 of file AbstractProjectItemView.cpp.
Returns a list of actions appropriate for a help menu.
Reimplemented in Isis::CubeDnView.
Definition at line 241 of file AbstractProjectItemView.cpp.
|
virtualinherited |
Returns the internal model of the view.
By default it is a proxy model.
Definition at line 95 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::m_internalModel.
Referenced by Isis::AbstractProjectItemView::addItem(), Isis::CubeDnView::CubeDnView(), Isis::AbstractProjectItemView::dragEnterEvent(), Isis::AbstractProjectItemView::dragMoveEvent(), Isis::AbstractProjectItemView::dropEvent(), Isis::Footprint2DView::Footprint2DView(), Isis::AbstractProjectItemView::model(), Isis::CubeDnView::onCubeViewportActivated(), Isis::CubeDnView::onCubeViewportDeleted(), Isis::CubeDnView::onCurrentChanged(), Isis::Footprint2DView::onQueueSelectionChanged(), ProjectItemTreeView(), Isis::AbstractProjectItemView::removeItem(), setInternalModel(), and Isis::AbstractProjectItemView::setModel().
|
virtualinherited |
Returns the model used by the view.
If the internal model is a proxy model, it returns the source 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().
|
privateslot |
Expands the parent project item in the tree view to show the added item.
[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().
Returns a list of actions appropriate for the permanent tool bar.
Reimplemented in Isis::CubeDnView, Isis::Footprint2DView, and Isis::ControlPointEditView.
Definition at line 151 of file AbstractProjectItemView.cpp.
Returns a list of actions appropriate for a project menu.
Reimplemented in Isis::CubeDnView.
Definition at line 201 of file AbstractProjectItemView.cpp.
|
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 301 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 316 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::removeItem().
|
virtualinherited |
Return the selected items of the model.
Definition at line 261 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::model(), and Isis::ProjectItemModel::selectedItems().
|
virtual |
Sets the model so that the internal proxy model exactly matches the source model.
[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().
|
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 56 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::internalModel().
Referenced by Isis::Directory::addCubeDnView(), Isis::Directory::addFootprint2DView(), and Isis::Directory::addProjectItemTreeView().
Returns a list of actions appropriate for a settings menu.
Reimplemented in Isis::CubeDnView.
Definition at line 231 of file AbstractProjectItemView.cpp.
Returns a list of actions appropriate for the tool pad.
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.
Definition at line 70 of file ProjectItemTreeView.cpp.
References m_treeView.
Returns a list of actions appropriate for a view menu.
Reimplemented in Isis::CubeDnView.
Definition at line 221 of file AbstractProjectItemView.cpp.
|
private |
The tree view (widget)
Definition at line 75 of file ProjectItemTreeView.h.
Referenced by onItemAdded(), ProjectItemTreeView(), setInternalModel(), and treeView().
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 |