diff --git a/Canvas.cpp b/Canvas.cpp index ddb260c..3a0e0b4 100644 --- a/Canvas.cpp +++ b/Canvas.cpp @@ -598,15 +598,28 @@ void Canvas::paintEvent(QPaintEvent* event) } } +void Canvas::leaveEvent(QEvent* event) +{ + Q_UNUSED(event); + QToolTip::hideText(); +} + #ifdef _DEBUG void Canvas::showObjectTag(QPointF pos) { QPointF l = screenToLogical(pos); Line* lineUnderCursor = findAt(l, 2.0); if (lineUnderCursor && lineUnderCursor != draggedLine) { - QString Text = QString("Tag Line: %1").arg(lineUnderCursor->get_tag()); + QPointF p1(*lineUnderCursor->p1.x, *lineUnderCursor->p1.y); + QPointF p2(*lineUnderCursor->p2.x, *lineUnderCursor->p2.y); + QLineF info_line(p1, p2); + QString Text = QString("Line %1\nLength = %2mm") + .arg(lineUnderCursor->get_tag() + 1) + .arg(info_line.length()); QToolTip::showText(mapToGlobal(pos.toPoint()), Text, this); } + else + QToolTip::hideText(); } #endif diff --git a/Canvas.h b/Canvas.h index e01429c..ed16485 100644 --- a/Canvas.h +++ b/Canvas.h @@ -60,6 +60,7 @@ protected: void mouseMoveEvent(QMouseEvent* event) override; void mouseReleaseEvent(QMouseEvent* event) override; void paintEvent(QPaintEvent* event) override; + void leaveEvent(QEvent* event) override; private: