diff --git a/Modules/SegmentationUI/Qmitk/QmitkMultiLabelTreeView.cpp b/Modules/SegmentationUI/Qmitk/QmitkMultiLabelTreeView.cpp index a70166fd04..608d084b78 100644 --- a/Modules/SegmentationUI/Qmitk/QmitkMultiLabelTreeView.cpp +++ b/Modules/SegmentationUI/Qmitk/QmitkMultiLabelTreeView.cpp @@ -1,38 +1,51 @@ /*============================================================================ The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center (DKFZ) All rights reserved. Use of this source code is governed by a 3-clause BSD license that can be found in the LICENSE file. ============================================================================*/ #include #include -#include -#include +#include QmitkMultiLabelTreeView::QmitkMultiLabelTreeView(QWidget* parent) : QTreeView(parent) { } QItemSelectionModel::SelectionFlags QmitkMultiLabelTreeView::selectionCommand(const QModelIndex& index, const QEvent* event) const { auto value = index.data(QmitkMultiLabelTreeModel::ItemModelRole::LabelInstanceValueRole); if (index.column()!=0 || !value.isValid()) { return QItemSelectionModel::NoUpdate; } return QAbstractItemView::selectionCommand(index, event); } void QmitkMultiLabelTreeView::leaveEvent(QEvent* event) { QTreeView::leaveEvent(event); emit MouseLeave(); -} \ No newline at end of file +} + +void QmitkMultiLabelTreeView::mouseMoveEvent(QMouseEvent* event) +{ + QModelIndex index = this->indexAt(event->pos()); + if (!index.isValid()) + { + if (viewport()->rect().contains(event->pos())) + { + emit MouseLeave(); + } + } + + QTreeView::mouseMoveEvent(event); +} diff --git a/Modules/SegmentationUI/Qmitk/QmitkMultiLabelTreeView.h b/Modules/SegmentationUI/Qmitk/QmitkMultiLabelTreeView.h index b79d7ae90c..7aa5995881 100644 --- a/Modules/SegmentationUI/Qmitk/QmitkMultiLabelTreeView.h +++ b/Modules/SegmentationUI/Qmitk/QmitkMultiLabelTreeView.h @@ -1,39 +1,40 @@ /*============================================================================ The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center (DKFZ) All rights reserved. Use of this source code is governed by a 3-clause BSD license that can be found in the LICENSE file. ============================================================================*/ #ifndef QmitkMultiLabelTreeView_h #define QmitkMultiLabelTreeView_h #include #include /* * @brief This is an inspector that offers a simple list view on a data storage. */ class MITKSEGMENTATIONUI_EXPORT QmitkMultiLabelTreeView : public QTreeView { Q_OBJECT public: QmitkMultiLabelTreeView(QWidget* parent = nullptr); Q_SIGNALS: void MouseLeave() const; protected: QItemSelectionModel::SelectionFlags selectionCommand(const QModelIndex& index, const QEvent* event = nullptr) const override; void leaveEvent(QEvent* event) override; + void mouseMoveEvent(QMouseEvent* event) override; }; #endif