Skip to content

Commit dd9f561

Browse files
committed
clean up
1 parent 1ed95ea commit dd9f561

File tree

8 files changed

+732
-681
lines changed

8 files changed

+732
-681
lines changed

NodeGraphQt/base/graph.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -772,7 +772,10 @@ def format_color(clr):
772772
node.model.pos = [float(pos[0]), float(pos[1])]
773773

774774
# set node parent
775-
node.set_parent(self._current_node_space)
775+
if not node.has_property('root'):
776+
node.set_parent(self._current_node_space)
777+
else:
778+
node.set_parent(None)
776779

777780
node.update()
778781

@@ -1123,8 +1126,6 @@ def _deserialize(self, data, relative_pos=False, pos=None, set_parent=True):
11231126
if NodeCls:
11241127
node = NodeCls()
11251128
node.NODE_NAME = n_data.get('name', node.NODE_NAME)
1126-
if 'parent_id' in n_data.keys():
1127-
n_data.pop('parent_id')
11281129
# set properties.
11291130
for prop in node.model.properties.keys():
11301131
if prop in n_data.keys():
@@ -1257,13 +1258,8 @@ def import_session(self, file_path):
12571258
self._deserialize(layout_data)
12581259

12591260
if 'graph' in layout_data.keys():
1260-
# node_space_id = layout_data['graph']['node_space']
1261-
1262-
# deserialize graph data
1263-
# self.set_node_space(self.get_node_by_id(node_space_id))
12641261
self.set_node_space(self.root_node())
12651262
self._viewer.set_pipe_layout(layout_data['graph']['pipe_layout'])
1266-
12671263
self._viewer.set_scene_rect(layout_data['graph']['graph_rect'])
12681264

12691265
self.set_node_space(self.root_node())

NodeGraphQt/base/model.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ def __init__(self):
6060
self.disabled = False
6161
self.selected = False
6262
self.visible = True
63-
self.parent_id = None
6463
self.dynamic_port = False
6564
self.width = 100.0
6665
self.height = 80.0
@@ -219,7 +218,6 @@ def to_dict(self):
219218
'selected': False,
220219
'disabled': False,
221220
'visible': True,
222-
'parent_id' : None,
223221
'inputs': {
224222
<port_name>: {<node_id>: [<port_name>, <port_name>]}},
225223
'outputs': {

NodeGraphQt/base/node.py

Lines changed: 15 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ def __init__(self, qgraphics_item=None):
5858
self._view.type_ = self.type_
5959
self._view.name = self.model.name
6060
self._view.id = self._model.id
61+
self._parent = None
6162

6263
def __repr__(self):
6364
return '<{}("{}") object at {}>'.format(
@@ -84,26 +85,6 @@ def id(self):
8485
"""
8586
return self.model.id
8687

87-
@property
88-
def parent_id(self):
89-
"""
90-
The node parent id.
91-
92-
Returns:
93-
str: unique id string.
94-
"""
95-
return self.model.parent_id
96-
97-
def set_parent_id(self, parent_id=None):
98-
"""
99-
Set node parent id.
100-
101-
Args:
102-
parent_id (str): unique id string.
103-
"""
104-
self.model.parent_id = None
105-
self.set_parent(self.graph.get_node_by_id(parent_id))
106-
10788
@property
10889
def graph(self):
10990
"""
@@ -434,17 +415,15 @@ def set_parent(self, parent_node):
434415
Args:
435416
parent_node (SubGraph): parent node.
436417
"""
437-
if self.parent_id is not None:
438-
parent = self.parent()
439-
if parent is not None:
440-
parent.remove_child(self)
418+
if parent_node is self:
419+
parent_node = None
420+
421+
if self._parent is not None:
422+
self._parent.remove_child(self)
441423

442424
if parent_node is not None:
443-
self.model.parent_id = parent_node.id
444425
parent_node.add_child(self)
445-
else:
446-
self.model.parent_id = None
447-
426+
self._parent = parent_node
448427
if self.graph.get_node_space() is not parent_node:
449428
self.hide()
450429
else:
@@ -457,7 +436,7 @@ def parent(self):
457436
Returns:
458437
SubGraph: parent node or None.
459438
"""
460-
return self.graph.get_node_by_id(self.parent_id)
439+
return self._parent
461440

462441
def path(self):
463442
"""
@@ -466,20 +445,18 @@ def path(self):
466445
Returns:
467446
str: current node path.
468447
"""
469-
if self.parent_id is None:
448+
if self._parent is None:
470449
return "/" + self.name()
471-
472-
return self.parent().path() + "/" + self.name()
450+
return self._parent.path() + "/" + self.name()
473451

474452
def delete(self):
475453
"""
476454
Delete node view.
477455
"""
478456
self._view.delete()
479-
parent = self.parent()
480-
if parent is not None:
481-
parent.remove_child(self)
482-
# self.set_parent_id(None)
457+
if self._parent is not None:
458+
self._parent.remove_child(self)
459+
# self.set_parent(None)
483460

484461
def hide(self):
485462
"""
@@ -925,7 +902,8 @@ def set_ports(self, port_data):
925902
Set node input and output ports.
926903
927904
Args:
928-
port_data(dict): {'input_ports':['port_name', ...], "output_ports":['port_name', ...]}
905+
port_data(dict): {'input_ports':[{'name':...,'multi_connection':...,'display_name':...,'data_type':...}, ...],
906+
" 'output_ports':[{'name':...,'multi_connection':...,'display_name':...,'data_type':...}, ...]}
929907
"""
930908
[self._view.delete_input(port.view) for port in self._inputs]
931909
[self._view.delete_output(port.view) for port in self._outputs]

example_auto_nodes.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ def print_path(graph, node):
5656
print(node.path())
5757

5858

59-
def find_node(graph, node):
59+
def find_node_by_path(graph, node):
6060
print(graph.get_node_by_path(node.path()))
6161

6262

@@ -107,14 +107,14 @@ def show_nodes_list(node):
107107
node_menu.add_command('Cook Node', cook_node, node_class=AutoNode)
108108
node_menu.add_command('Toggle Auto Cook', toggle_auto_cook, node_class=AutoNode)
109109
node_menu.add_command('Print Path', print_path, node_class=AutoNode)
110-
node_menu.add_command('Find Node', find_node, node_class=AutoNode)
110+
node_menu.add_command('Find Node By Path', find_node_by_path, node_class=AutoNode)
111111

112112
# create root node
113113
graph.create_node('Utility.RootGraph', name='root', selected=False)
114114

115115
# create test nodes
116116
graph.load_session(r'example_auto_nodes/networks/example_SubGraph.json')
117-
graph.get_node_by_path('/root/Vector1').cook()
117+
graph.get_node_by_path('/root/SubGraph::Distance').cook()
118118

119119
# widget used for the node graph.
120120
graph_widget = graph.widget

0 commit comments

Comments
 (0)