7#ifndef KIS_DOCUMENT_SECTION_VIEW_H
8#define KIS_DOCUMENT_SECTION_VIEW_H
14#include "kritalayerdocker_export.h"
16class QStyleOptionViewItem;
29class KRITALAYERDOCKER_EXPORT
NodeView :
public QTreeView
51 explicit NodeView(QWidget *parent = 0);
54 void setModel(QAbstractItemModel *model)
override;
55 void resizeEvent(QResizeEvent * event)
override;
56 void paintEvent (QPaintEvent *event)
override;
57 void drawBranches(QPainter *painter,
const QRect &
rect,
58 const QModelIndex &index)
const override;
60 void dropEvent(QDropEvent *ev)
override;
62 void dragEnterEvent(QDragEnterEvent *e)
override;
64 void dragMoveEvent(QDragMoveEvent *ev)
override;
66 void dragLeaveEvent(QDragLeaveEvent *e)
override;
67 void mousePressEvent(QMouseEvent *e)
override;
96 void addPropertyActions(QMenu *menu,
const QModelIndex &index);
98 void updateNode(
const QModelIndex &index);
100 void toggleSolo(
const QModelIndex &index);
103 QItemSelectionModel::SelectionFlags selectionCommand(
const QModelIndex &index,
const QEvent *event)
const override;
104 QModelIndex indexAt(
const QPoint &point)
const override;
105 bool viewportEvent(QEvent *event)
override;
106 void contextMenuEvent(QContextMenuEvent *event)
override;
107 virtual void showContextMenu(
const QPoint &globalPos,
const QModelIndex &index);
108 void startDrag (Qt::DropActions supportedActions)
override;
109 QPixmap createDragPixmap()
const;
114 int cursorPageIndex()
const;
118 void slotUpdateIcons();
119 void slotScrollerStateChanged(QScroller::State state);
120 void slotConfigurationChanged();
123 void currentChanged(
const QModelIndex ¤t,
const QModelIndex &previous)
override;
124 void dataChanged(
const QModelIndex &topLeft,
const QModelIndex &bottomRight,
const QVector<int> &roles =
QVector<int>())
override;
125 void selectionChanged(
const QItemSelection &selected,
const QItemSelection &deselected)
override;
128 void slotActionToggled(
bool on,
const QPersistentModelIndex &index,
int property);
137 bool isDragging()
const;
144 void setDraggingFlag(
bool flag =
true);
146 void updateSelectedCheckboxColumn();
148 std::optional<QModelIndex> getActiveItem();
149 void setExclusiveActiveItem(QModelIndex index);
153 QStyleOptionViewItem optionForIndex(
const QModelIndex &index)
const;
void contextMenuRequested(const QPoint &globalPos, const QModelIndex &index)
void selectionChanged(const QModelIndexList &)