From 5bcc55c19ffe3f809223791d735158a795aeb485 Mon Sep 17 00:00:00 2001 From: waaake Date: Mon, 3 Feb 2025 16:59:31 +0530 Subject: [PATCH] [ui] Edge: Added slot to fetch if a point exists on the path Removed mousePress and mouseReleased events Invoking custom Event or querying mouse buttons from the provided QMouseEvent crashes meshroom, this comes as first part of the workaround for querying when a point exists on the path --- meshroom/ui/components/edge.py | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/meshroom/ui/components/edge.py b/meshroom/ui/components/edge.py index da6f051e..63c43215 100755 --- a/meshroom/ui/components/edge.py +++ b/meshroom/ui/components/edge.py @@ -1,4 +1,4 @@ -from PySide6.QtCore import Signal, Property, QPointF, Qt, QObject +from PySide6.QtCore import Signal, Slot, Property, QPointF, Qt, QObject from PySide6.QtGui import QPainterPath, QVector2D from PySide6.QtQuick import QQuickItem @@ -51,19 +51,6 @@ class EdgeMouseArea(QQuickItem): super(EdgeMouseArea, self).geometryChange(newGeometry, oldGeometry) self.updateShape() - def mousePressEvent(self, evt): - if not self.acceptedMouseButtons() & evt.button(): - evt.setAccepted(False) - return - e = MouseEvent(evt) - self.pressed.emit(e) - e.deleteLater() - - def mouseReleaseEvent(self, evt): - e = MouseEvent(evt) - self.released.emit(e) - e.deleteLater() - def updateShape(self): p1 = QPointF(0, 0) p2 = QPointF(self.width(), self.height()) @@ -110,6 +97,10 @@ class EdgeMouseArea(QQuickItem): self._containsMouse = value self.containsMouseChanged.emit() + @Slot(QPointF, result=bool) + def containsPoint(self, point): + return self.contains(point) + thicknessChanged = Signal() thickness = Property(float, getThickness, setThickness, notify=thicknessChanged) curveScaleChanged = Signal()