From 8b901df06891630e415e07b9bf0256a3670b1bdb Mon Sep 17 00:00:00 2001 From: wmayer Date: Wed, 12 Mar 2014 14:38:00 +0100 Subject: [PATCH] + drag and drop on tree widget --- src/Gui/Tree.cpp | 27 +++++++++++++++++++++------ src/Gui/Tree.h | 6 ++++++ 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/src/Gui/Tree.cpp b/src/Gui/Tree.cpp index 5fd80e626f3b..2179b36f1e60 100644 --- a/src/Gui/Tree.cpp +++ b/src/Gui/Tree.cpp @@ -307,12 +307,6 @@ void TreeWidget::onActivateDocument(QAction* active) getMainWindow()->setActiveWindow(view); } -bool TreeWidget::dropMimeData(QTreeWidgetItem *parent, int index, - const QMimeData *data, Qt::DropAction action) -{ - return QTreeWidget::dropMimeData(parent, index, data, action); -} - Qt::DropActions TreeWidget::supportedDropActions () const { return QTreeWidget::supportedDropActions(); @@ -365,6 +359,11 @@ void TreeWidget::mouseDoubleClickEvent (QMouseEvent * event) } } +void TreeWidget::startDrag(Qt::DropActions supportedActions) +{ + QTreeWidget::startDrag(supportedActions); +} + QMimeData * TreeWidget::mimeData (const QList items) const { // all selected items must reference an object from the same document @@ -394,6 +393,22 @@ QMimeData * TreeWidget::mimeData (const QList items) const return QTreeWidget::mimeData(items); } +bool TreeWidget::dropMimeData(QTreeWidgetItem *parent, int index, + const QMimeData *data, Qt::DropAction action) +{ + return QTreeWidget::dropMimeData(parent, index, data, action); +} + +void TreeWidget::dragEnterEvent(QDragEnterEvent * event) +{ + QTreeWidget::dragEnterEvent(event); +} + +void TreeWidget::dragLeaveEvent(QDragLeaveEvent * event) +{ + QTreeWidget::dragLeaveEvent(event); +} + void TreeWidget::dragMoveEvent(QDragMoveEvent *event) { QTreeWidget::dragMoveEvent(event); diff --git a/src/Gui/Tree.h b/src/Gui/Tree.h index 3aea80ca81a4..7a50875e903b 100644 --- a/src/Gui/Tree.h +++ b/src/Gui/Tree.h @@ -78,12 +78,18 @@ class TreeWidget : public QTreeWidget, public SelectionObserver void onSelectionChanged(const SelectionChanges& msg); void contextMenuEvent (QContextMenuEvent * e); void drawRow(QPainter *, const QStyleOptionViewItem &, const QModelIndex &) const; + /** @name Drag and drop */ + //@{ + void startDrag(Qt::DropActions supportedActions); bool dropMimeData(QTreeWidgetItem *parent, int index, const QMimeData *data, Qt::DropAction action); Qt::DropActions supportedDropActions () const; QMimeData * mimeData (const QList items) const; + void dragEnterEvent(QDragEnterEvent * event); + void dragLeaveEvent(QDragLeaveEvent * event); void dragMoveEvent(QDragMoveEvent *event); void dropEvent(QDropEvent *event); + //@} bool event(QEvent *e); void keyPressEvent(QKeyEvent *event); void mouseDoubleClickEvent(QMouseEvent * event);