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. | |
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 ProjectItemModel * | model () |
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 ProjectItem * | currentItem () |
Returns the current item of the model. | |
virtual QList< ProjectItem * > | selectedItems () |
Return the selected items of the model. | |
virtual ProjectItemModel * | internalModel () |
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. | |
Private Slots | |
void | onItemAdded (ProjectItem *item) |
Expands the parent project item in the tree view to show the added item. | |
Private Attributes | |
QTreeView * | m_treeView |
The tree view (widget) | |
ProjectItemModel * | m_internalModel |
The internal model used by the view. | |
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 56 of file ProjectItemTreeView.h.
Isis::ProjectItemTreeView::ProjectItemTreeView | ( | QWidget * | parent = 0 | ) |
Constructs a ProjectItemTreeView.
[in] | parent | (QWidget *) The parent widget. |
Definition at line 31 of file ProjectItemTreeView.cpp.
References Isis::AbstractProjectItemView::internalModel(), m_treeView, and setInternalModel().
Isis::ProjectItemTreeView::~ProjectItemTreeView | ( | ) |
Default destructor.
Definition at line 72 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 251 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 265 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::internalModel().
Returns a list of actions appropriate for a context menu.
Definition at line 219 of file AbstractProjectItemView.cpp.
|
virtualinherited |
Returns the current item of the model.
Definition at line 229 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::model().
|
virtualslotinherited |
Disables toolbars and toolpad actions.
Definition at line 197 of file AbstractProjectItemView.cpp.
Referenced by Isis::CnetEditorView::CnetEditorView(), Isis::CnetEditorView::createMenus(), Isis::Footprint2DView::Footprint2DView(), Isis::AbstractProjectItemView::leaveEvent(), and Isis::CnetEditorView::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 120 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 135 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 149 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 207 of file AbstractProjectItemView.cpp.
Referenced by Isis::AbstractProjectItemView::enterEvent().
|
virtualinherited |
Enables actions when cursor enters the view.
event | The enter event |
Definition at line 179 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 132 of file ProjectItemTreeView.cpp.
|
virtualinherited |
Returns the internal model of the view.
By default it is a proxy model.
Definition at line 109 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::CnetEditorView, and Isis::CubeDnView.
Definition at line 189 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 84 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::internalModel().
Referenced by Isis::AbstractProjectItemView::currentItem(), Isis::BundleObservationView::displayCsvFile(), Isis::AbstractProjectItemView::selectedItems(), Isis::AbstractProjectItemView::setInternalModel(), setInternalModel(), and Isis::AbstractProjectItemView::setModel().
|
virtualinherited |
Definition at line 160 of file AbstractProjectItemView.cpp.
|
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 112 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 279 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 293 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::removeItem().
|
virtualinherited |
Definition at line 167 of file AbstractProjectItemView.cpp.
|
virtualinherited |
Return the selected items of the model.
Definition at line 239 of file AbstractProjectItemView.cpp.
References Isis::AbstractProjectItemView::model().
|
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 91 of file ProjectItemTreeView.cpp.
References Isis::AbstractProjectItemView::internalModel(), m_treeView, Isis::AbstractProjectItemView::model(), onItemAdded(), 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 70 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 63 of file ProjectItemTreeView.cpp.
QTreeView * Isis::ProjectItemTreeView::treeView | ( | ) |
Returns the tree view.
Definition at line 80 of file ProjectItemTreeView.cpp.
References m_treeView.
|
privateinherited |
The internal model used by the view.
Definition at line 123 of file AbstractProjectItemView.h.
Referenced by Isis::AbstractProjectItemView::AbstractProjectItemView(), Isis::AbstractProjectItemView::internalModel(), and Isis::AbstractProjectItemView::setInternalModel().
|
private |
The tree view (widget)
Definition at line 77 of file ProjectItemTreeView.h.
Referenced by onItemAdded(), ProjectItemTreeView(), setInternalModel(), and treeView().