Skip to content

Commit fd8219f

Browse files
authored
Merge pull request #117 from jchanvfx/graph_common_prop_bug_#112
fixed bug with graph model
2 parents e90ec26 + 1bbe011 commit fd8219f

File tree

5 files changed

+37
-6
lines changed

5 files changed

+37
-6
lines changed

NodeGraphQt/base/factory.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,32 @@ class NodeFactory(object):
1414

1515
@property
1616
def names(self):
17+
"""
18+
Return all currently registered node type identifiers.
19+
20+
Returns:
21+
dict: key=<node name, value=node_type
22+
"""
1723
return self.__names
1824

1925
@property
2026
def aliases(self):
27+
"""
28+
Return aliases assigned to the node types.
29+
30+
Returns:
31+
dict: key=alias, value=node type
32+
"""
2133
return self.__aliases
2234

2335
@property
2436
def nodes(self):
37+
"""
38+
Return all registered nodes.
39+
40+
Returns:
41+
dict: key=node identifier, value=node class
42+
"""
2543
return self.__nodes
2644

2745
def create_node_instance(self, node_type=None, alias=None):

NodeGraphQt/base/model.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,19 @@ def set_node_common_properties(self, attrs):
282282
}
283283
}
284284
"""
285-
self.__common_node_props.update(attrs)
285+
for node_type in attrs.keys():
286+
node_props = attrs[node_type]
287+
288+
if node_type not in self.__common_node_props.keys():
289+
self.__common_node_props[node_type] = node_props
290+
continue
291+
292+
for prop_name, prop_attrs in node_props.items():
293+
common_props = self.__common_node_props[node_type]
294+
if prop_name not in common_props.keys():
295+
common_props[prop_name] = prop_attrs
296+
continue
297+
common_props[prop_name].update(prop_attrs)
286298

287299
def get_node_common_properties(self, node_type):
288300
"""

NodeGraphQt/base/node.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -234,8 +234,8 @@ def create_property(self, name, value, items=None, range=None,
234234
value (object): data.
235235
items (list[str]): items used by widget type NODE_PROP_QCOMBO
236236
range (tuple)): min, max values used by NODE_PROP_SLIDER
237-
widget_type (int): widget type flag (not implemented yet).
238-
tab (str): name of the widget tab to display in.
237+
widget_type (int): widget flag to display in the properties bin.
238+
tab (str): name of the widget tab to display in the properties bin.
239239
"""
240240
self.model.add_property(name, value, items, range, widget_type, tab)
241241

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
---
88

99
NodeGraphQt is a node graph framework that can be implemented and re purposed into
10-
applications that supports PySide and PySide2.
10+
applications that supports PySide2.
1111

1212
<img src="/docs/_images/screenshot.png" width="100%" title="NodeGraphQt">
1313

@@ -30,7 +30,8 @@ http://chantasticvfx.com/nodeGraphQt/html/index.html
3030

3131
```python
3232
import sys
33-
from PySide2 import QtWidgets
33+
34+
from NodeGraphQt import QtWidgets
3435
from NodeGraphQt import NodeGraph, Node, Backdrop, setup_context_menu
3536

3637
# create a example node object with a input/output port.

docs/overview.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@ example code:
6161
:linenos:
6262
6363
import sys
64-
from PySide2 import QtWidgets
6564
65+
from NodeGraphQt import QtWidgets
6666
from NodeGraphQt import NodeGraph, BaseNode, setup_context_menu
6767
6868

0 commit comments

Comments
 (0)