Skip to content

Commit 78ff27e

Browse files
committed
addressed issue #176 updated mousePressEvent.
1 parent 139b459 commit 78ff27e

File tree

3 files changed

+25
-8
lines changed

3 files changed

+25
-8
lines changed

NodeGraphQt/qgraphics/node_abstract.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,12 @@ def boundingRect(self):
3838
return QtCore.QRectF(0.0, 0.0, self._width, self._height)
3939

4040
def mousePressEvent(self, event):
41+
"""
42+
Re-implemented to update "self._properties['selected']" attribute.
43+
44+
Args:
45+
event (QtWidgets.QGraphicsSceneMouseEvent): mouse event.
46+
"""
4147
self._properties['selected'] = True
4248
super(AbstractNodeItem, self).mousePressEvent(event)
4349

NodeGraphQt/qgraphics/node_base.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -197,12 +197,23 @@ def paint(self, painter, option, widget):
197197
painter.restore()
198198

199199
def mousePressEvent(self, event):
200+
"""
201+
Re-implemented to ignore event if LMB is over port collision area.
202+
203+
Args:
204+
event (QtWidgets.QGraphicsSceneMouseEvent): mouse event.
205+
"""
200206
if event.button() == QtCore.Qt.LeftButton:
201-
start = PortItem().boundingRect().width() - PORT_FALLOFF
202-
end = self.boundingRect().width() - start
203-
x_pos = event.pos().x()
204-
if not start <= x_pos <= end:
205-
event.ignore()
207+
for p in self._input_items.keys():
208+
if p.hovered:
209+
event.ignore()
210+
super(NodeItem, self).mousePressEvent(event)
211+
return
212+
for p in self._output_items.keys():
213+
if p.hovered:
214+
event.ignore()
215+
super(NodeItem, self).mousePressEvent(event)
216+
return
206217
super(NodeItem, self).mousePressEvent(event)
207218

208219
def mouseReleaseEvent(self, event):

NodeGraphQt/qgraphics/port.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,13 @@ def paint(self, painter, option, widget):
6161
"""
6262
painter.save()
6363

64-
### display the falloff colision ###
64+
# display falloff collision for debugging
65+
# ----------------------------------------------------------------------
6566
# pen = QtGui.QPen(QtGui.QColor(255, 255, 255, 80), 0.8)
6667
# pen.setStyle(QtCore.Qt.DotLine)
6768
# painter.setPen(pen)
6869
# painter.drawRect(self.boundingRect())
70+
# ----------------------------------------------------------------------
6971

7072
rect_w = self._width / 1.8
7173
rect_h = self._height / 1.8
@@ -123,8 +125,6 @@ def itemChange(self, change, value):
123125
return super(PortItem, self).itemChange(change, value)
124126

125127
def mousePressEvent(self, event):
126-
# if event.modifiers() != QtCore.Qt.AltModifier:
127-
# self.viewer_start_connection()
128128
super(PortItem, self).mousePressEvent(event)
129129

130130
def mouseReleaseEvent(self, event):

0 commit comments

Comments
 (0)