![]() |
Isis 3 Programmer Reference
|
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... | |
virtual void | disableActions () |
Disables toolbars and toolpad actions. More... | |
Signals | |
void | windowChangeEvent (bool event) |
Public Member Functions | |
ProjectItemTreeView (QWidget *parent=0) | |
Constructs a ProjectItemTreeView. More... | |
~ProjectItemTreeView () | |
Default destructor. More... | |
virtual QSize | sizeHint () const |
Returns the suggested size. 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 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 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).
2017-04-12 Tracie Sucharski - Turn off dragging on the treeView for now since it is does not work and is causing errors.
2018-05-29 Summer Stapleton - updated the view to include a central widget and to remove layout capacity. This change was made to adjust to parent class now inheriting from QMainWindow instead of QWidget.
2018-07-12 Kaitlyn Lee - Changed the sizeHint to be calculated based on the deskTop size, instead of being hard-coded. The percentages chosen allow for 2 CubeDnViews to be opened at once, since CubeDnView has an internal size policy and cannot be made smaller. Changed the setSizePolicy to minimum so that the tree does not expand when a view is closed. References #5433
2018-07-25 Tracie Sucharski - Changed vertical sizePolicy so that other widgets such as JigsawRunWidget, ControlHealthMonitor can be split with the Project view.
Definition at line 70 of file ProjectItemTreeView.h.
Isis::ProjectItemTreeView::ProjectItemTreeView | ( | QWidget * | parent = 0 | ) |
Constructs a ProjectItemTreeView.
[in] | parent | (QWidget *) The parent widget. |
Definition at line 43 of file ProjectItemTreeView.cpp.
References Isis::AbstractProjectItemView::internalModel(), m_treeView, and setInternalModel().
Isis::ProjectItemTreeView::~ProjectItemTreeView | ( | ) |
Default destructor.
Definition at line 85 of file ProjectItemTreeView.cpp.
|
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.
[in] | item | (ProjectItem *) The item to add. |
Definition at line 264 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::internalModel().
Referenced by Isis::CubeDnView::addItem().
|
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.
[in] | items | (QList<ProjectItem *>) The items to add. |
Definition at line 278 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::internalModel().
Referenced by Isis::CubeDnViewWorkOrder::execute(), and Isis::Footprint2DViewWorkOrder::execute().
Returns a list of actions appropriate for a context menu.
Definition at line 232 of file AbstractProjectItemView.cpp.
|
virtualinherited |
Returns the current item of the model.
Definition at line 242 of file AbstractProjectItemView.cpp.
References Isis::ProjectItemModel::currentItem(), and Isis::AbstractProjectItemView::model().
|
virtualslotinherited |
Disables toolbars and toolpad actions.
Definition at line 210 of file AbstractProjectItemView.cpp.
Referenced by Isis::CnetEditorView::CnetEditorView(), Isis::CnetEditorView::createMenus(), Isis::Footprint2DView::Footprint2DView(), Isis::CnetEditorView::leaveEvent(), and Isis::AbstractProjectItemView::leaveEvent().
|
virtualinherited |
Accepts the drag enter event if the internal model can accept the mime data.
[in] | event | (QDragEnterEvent *) The drag event |
Definition at line 133 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 148 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 162 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::internalModel().
Referenced by Isis::Footprint2DView::eventFilter().
|
virtualinherited |
Enables toolbars and toolpad actions.
Reimplemented in Isis::CubeDnView, and Isis::Footprint2DView.
Definition at line 220 of file AbstractProjectItemView.cpp.
Referenced by Isis::AbstractProjectItemView::enterEvent().
|
virtualinherited |
Enables actions when cursor enters the view.
event | The enter event |
Definition at line 192 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::enableActions().
|
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 145 of file ProjectItemTreeView.cpp.
|
virtualinherited |
Returns the internal model of the view.
By default it is a proxy model.
Definition at line 122 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::m_internalModel.
Referenced by Isis::AbstractProjectItemView::addItem(), Isis::AbstractProjectItemView::addItems(), 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 |
Disables actions when cursor leaves the view.
event | The leave event |
Reimplemented in Isis::CubeDnView, and Isis::CnetEditorView.
Definition at line 202 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::disableActions().
|
virtualinherited |
Returns the model used by the view.
If the internal model is a proxy model, it returns the source model.
Definition at line 97 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::internalModel().
Referenced by Isis::AbstractProjectItemView::currentItem(), Isis::BundleObservationView::displayCsvFile(), Isis::AbstractProjectItemView::selectedItems(), setInternalModel(), Isis::AbstractProjectItemView::setInternalModel(), and Isis::AbstractProjectItemView::setModel().
|
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 125 of file ProjectItemTreeView.cpp.
References Isis::ProjectItem::isControlList(), Isis::ProjectItem::isImageList(), m_treeView, and Isis::ProjectItem::parent().
Referenced by setInternalModel().
|
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 292 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 306 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::removeItem().
|
virtualinherited |
Return the selected items of the model.
Definition at line 252 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 104 of file ProjectItemTreeView.cpp.
References Isis::AbstractProjectItemView::internalModel(), m_treeView, Isis::AbstractProjectItemView::model(), 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 83 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::internalModel(), and Isis::AbstractProjectItemView::model().
Referenced by Isis::Directory::addCubeDnView(), Isis::Directory::addFootprint2DView(), and Isis::Directory::addProjectItemTreeView().
|
virtual |
Returns the suggested size.
Reimplemented from Isis::AbstractProjectItemView.
Definition at line 75 of file ProjectItemTreeView.cpp.
QTreeView * Isis::ProjectItemTreeView::treeView | ( | ) |
Returns the tree view.
Definition at line 93 of file ProjectItemTreeView.cpp.
References m_treeView.
|
private |
The tree view (widget)
Definition at line 91 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 USGS Astrogeology Discussion Board To report a bug, or suggest a feature go to: ISIS Github File Modified: 07/13/2023 00:11:40 |