Isis 3 Programmer Reference
AbstractProjectItemView.h
1#ifndef AbstractProjectItemView_h
2#define AbstractProjectItemView_h
3
10/* SPDX-License-Identifier: CC0-1.0 */
11
12#include <QMainWindow>
13
14class QAction;
15class QDragEnterEvent;
16class QWidget;
17template <typename T> class QList;
18
19namespace Isis {
20
21 class ProjectItem;
22 class ProjectItemModel;
23
80
81 Q_OBJECT
82
83 public:
85
86 virtual QSize sizeHint() const;
87
88 virtual void setModel(ProjectItemModel *model);
89 virtual ProjectItemModel *model();
90
91 virtual void dragEnterEvent(QDragEnterEvent *event);
92 virtual void dragMoveEvent(QDragMoveEvent *event);
93 virtual void dropEvent(QDropEvent *event);
94
95 virtual void moveEvent(QMoveEvent *event);
96 virtual void resizeEvent(QResizeEvent *event);
97
98 virtual void enterEvent(QEvent *event);
99 virtual void leaveEvent(QEvent *event);
100 virtual void enableActions();
101
102 virtual QList<QAction *> contextMenuActions();
103
104 virtual ProjectItem *currentItem();
105 virtual QList<ProjectItem *> selectedItems();
106
109
110 signals:
111 void windowChangeEvent(bool event);
112
113 public slots:
114 virtual void addItem(ProjectItem *item);
115 virtual void addItems(QList<ProjectItem *> items);
116
117 virtual void removeItem(ProjectItem *item);
118 virtual void removeItems(QList<ProjectItem *> items);
119
120 virtual void disableActions();
121
122 private:
124 };
125}
126
127#endif
AbstractProjectItemView is a base class for views of a ProjectItemModel in Qt's model-view framework.
virtual QList< QAction * > contextMenuActions()
Returns a list of actions appropriate for a context menu.
virtual void dropEvent(QDropEvent *event)
Drops the data into the internal model if it can accept the data.
virtual void enableActions()
Enables toolbars and toolpad actions.
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 disableActions()
Disables toolbars and toolpad actions.
virtual void enterEvent(QEvent *event)
Enables actions when cursor enters the view.
virtual QList< ProjectItem * > selectedItems()
Return the selected items of the model.
virtual void addItem(ProjectItem *item)
Adds an item to the view.
ProjectItemModel * m_internalModel
The internal model used by the view.
virtual QSize sizeHint() const
Returns the suggested size.
virtual void removeItems(QList< ProjectItem * > items)
Removes several items from the view.
virtual ProjectItemModel * model()
Returns the model used by the view.
virtual void setInternalModel(ProjectItemModel *model)
Sets the internal model of 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.
AbstractProjectItemView(QWidget *parent=0)
Constructs the AbstractProjectItemView.
virtual void setModel(ProjectItemModel *model)
Sets the model used by the view.
virtual ProjectItem * currentItem()
Returns the current item of the model.
virtual ProjectItemModel * internalModel()
Returns the internal model of the view.
virtual void leaveEvent(QEvent *event)
Disables actions when cursor leaves the view.
Represents an item of a ProjectItemModel in Qt's model-view framework.
Provides access to data stored in a Project through Qt's model-view framework.
This is free and unencumbered software released into the public domain.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16