aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/scxmleditor/common/treeview.cpp
blob: 4e2b6aad6b733e75f93f46e1364700cddb7e276a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0

#include "treeview.h"
#include "structuremodel.h"

#include <QMimeData>
#include <QMouseEvent>

using namespace ScxmlEditor::Common;

TreeView::TreeView(QWidget *parent)
    : QTreeView(parent)
{
    setDragEnabled(true);
    setAcceptDrops(true);
    setDropIndicatorShown(true);
    setDragDropMode(QAbstractItemView::DragDrop);
    setMouseTracking(true);
    setFrameShape(QFrame::NoFrame);
    setHeaderHidden(true);
}

void TreeView::leaveEvent(QEvent *e)
{
    emit mouseExited();
    QTreeView::leaveEvent(e);
}

void TreeView::currentChanged(const QModelIndex &index, const QModelIndex &prev)
{
    QTreeView::currentChanged(index, prev);
    emit currentIndexChanged(index);
}

void TreeView::mousePressEvent(QMouseEvent *event)
{
    QTreeView::mousePressEvent(event);
    if (event->button() == Qt::RightButton)
        emit rightButtonClicked(currentIndex(), event->globalPosition().toPoint());
}