Skip to content

Commit ed502b3

Browse files
committed
fix insert node error in python3
1 parent 0074e92 commit ed502b3

File tree

2 files changed

+14
-8
lines changed

2 files changed

+14
-8
lines changed

NodeGraphQt/base/graph.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from NodeGraphQt.base.factory import NodeFactory
1313
from NodeGraphQt.base.menu import NodeGraphMenu, NodesMenu
1414
from NodeGraphQt.base.model import NodeGraphModel
15-
from NodeGraphQt.base.node import NodeObject
15+
from NodeGraphQt.base.node import NodeObject,BaseNode
1616
from NodeGraphQt.base.port import Port
1717
from NodeGraphQt.constants import (DRAG_DROP_ID,
1818
PIPE_LAYOUT_CURVED,
@@ -121,17 +121,21 @@ def _wire_signals(self):
121121
self._viewer.node_selected.connect(self._on_node_selected)
122122
self._viewer.data_dropped.connect(self._on_node_data_dropped)
123123

124-
def _insert_node(self,items):
124+
def _insert_node(self, items):
125125
pipe = items[0]
126126
node = self.get_node_by_id(items[1])
127+
if not isinstance(node,BaseNode):
128+
return
127129

128130
disconnected = [(pipe.input_port, pipe.output_port)]
129131
connected = []
132+
130133
if node.inputs():
131-
connected.append((pipe.output_port,node.input(0).view))
134+
connected.append((pipe.output_port, list(node.inputs().values())[0].view))
132135
if node.outputs():
133-
connected.append((node.output(0).view,pipe.input_port))
134-
self._on_connection_changed(disconnected,connected)
136+
connected.append((list(node.outputs().values())[0].view, pipe.input_port))
137+
138+
self._on_connection_changed(disconnected, connected)
135139

136140
def _toggle_tab_search(self):
137141
"""
@@ -885,7 +889,6 @@ def _serialize(self, nodes):
885889
serial_data = {'nodes': {}, 'connections': []}
886890
nodes_data = {}
887891
for n in nodes:
888-
889892
# update the node model.
890893
n.update_model()
891894

NodeGraphQt/widgets/viewer.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -319,8 +319,11 @@ def mouseMoveEvent(self, event):
319319
for pipe in self.selected_pipes():
320320
pipe.setSelected(False)
321321
for item in node.collidingItems():
322-
if isinstance(item, Pipe):
323-
if not item.input_port.node is node and not item.output_port.node is node:
322+
if isinstance(item, Pipe) and item.isVisible():
323+
if not item.input_port:
324+
continue
325+
if not item.input_port.node is node and \
326+
not item.output_port.node is node:
324327
item.setSelected(True)
325328
self.Colliding_state = True
326329
break

0 commit comments

Comments
 (0)