Nodes: Rename `ui_items` property to `items_tree`
DNA names are unchanged, just affects the RNA API. Resolves #112523 Pull Request: https://projects.blender.org/blender/blender/pulls/112527
This commit is contained in:
parent
e59944dba4
commit
742f3b233f
|
@ -158,7 +158,7 @@ class MoveModifierToNodes(Operator):
|
|||
# Copy default values for inputs and create named attribute input nodes.
|
||||
input_nodes = []
|
||||
first_geometry_input = None
|
||||
for input_socket in old_group.interface.ui_items:
|
||||
for input_socket in old_group.interface.items_tree:
|
||||
if input_socket.item_type != 'SOCKET' or (input_socket.in_out not in {'INPUT', 'BOTH'}):
|
||||
continue
|
||||
identifier = input_socket.identifier
|
||||
|
@ -192,7 +192,7 @@ class MoveModifierToNodes(Operator):
|
|||
# Connect outputs to store named attribute nodes to replace modifier attribute outputs.
|
||||
store_nodes = []
|
||||
first_geometry_output = None
|
||||
for output_socket in old_group.interface.ui_items:
|
||||
for output_socket in old_group.interface.items_tree:
|
||||
if output_socket.item_type != 'SOCKET' or (output_socket.in_out not in {'OUTPUT', 'BOTH'}):
|
||||
continue
|
||||
identifier = output_socket.identifier
|
||||
|
|
|
@ -361,7 +361,7 @@ class NODE_OT_interface_item_remove(NodeInterfaceOperator, Operator):
|
|||
|
||||
if item:
|
||||
interface.remove(item)
|
||||
interface.active_index = min(interface.active_index, len(interface.ui_items) - 1)
|
||||
interface.active_index = min(interface.active_index, len(interface.items_tree) - 1)
|
||||
|
||||
return {'FINISHED'}
|
||||
|
||||
|
|
|
@ -88,7 +88,7 @@ static char *rna_NodeTreeInterfaceItem_path(const PointerRNA *ptr)
|
|||
ntree->ensure_interface_cache();
|
||||
for (const int index : ntree->interface_items().index_range()) {
|
||||
if (ntree->interface_items()[index] == item) {
|
||||
return BLI_sprintfN("interface.ui_items[%d]", index);
|
||||
return BLI_sprintfN("interface.items_tree[%d]", index);
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
|
@ -1143,7 +1143,7 @@ static void rna_def_node_tree_interface(BlenderRNA *brna)
|
|||
srna, "Node Tree Interface", "Declaration of sockets and ui panels of a node group");
|
||||
RNA_def_struct_sdna(srna, "bNodeTreeInterface");
|
||||
|
||||
prop = RNA_def_property(srna, "ui_items", PROP_COLLECTION, PROP_NONE);
|
||||
prop = RNA_def_property(srna, "items_tree", PROP_COLLECTION, PROP_NONE);
|
||||
RNA_def_property_collection_funcs(prop,
|
||||
"rna_NodeTreeInterface_items_begin",
|
||||
"rna_iterator_array_next",
|
||||
|
|
|
@ -181,7 +181,7 @@ class AbstractNodeGroupInterfaceTest(unittest.TestCase):
|
|||
# Test node group items and associated node sockets with spec data.
|
||||
def compare_group_to_specs(self, group, node, specs, test_links=True):
|
||||
for index, spec in enumerate(specs):
|
||||
self.compare_group_socket_to_spec(group.interface.ui_items[index], node, spec, test_links=test_links)
|
||||
self.compare_group_socket_to_spec(group.interface.items_tree[index], node, spec, test_links=test_links)
|
||||
|
||||
|
||||
class NodeGroupVersioning36Test(AbstractNodeGroupInterfaceTest):
|
||||
|
|
|
@ -103,7 +103,7 @@ class NodeGroupInterfaceTests:
|
|||
def test_empty_nodegroup(self):
|
||||
tree, group_node = self.make_group_and_instance()
|
||||
|
||||
self.assertFalse(tree.interface.ui_items, "Interface not empty")
|
||||
self.assertFalse(tree.interface.items_tree, "Interface not empty")
|
||||
self.assertFalse(group_node.inputs)
|
||||
self.assertFalse(group_node.outputs)
|
||||
|
||||
|
@ -195,7 +195,7 @@ class NodeGroupInterfaceTests:
|
|||
tree.interface.new_socket("Output 0", socket_type=socket_type, in_out='OUTPUT')
|
||||
tree.interface.new_socket("Input 0", socket_type=socket_type, in_out='INPUT')
|
||||
|
||||
self.assertSequenceEqual([(s.name, s.item_type) for s in tree.interface.ui_items], [
|
||||
self.assertSequenceEqual([(s.name, s.item_type) for s in tree.interface.items_tree], [
|
||||
("Output 0", 'SOCKET'),
|
||||
("Input 0", 'SOCKET'),
|
||||
])
|
||||
|
@ -222,7 +222,7 @@ class NodeGroupInterfaceTests:
|
|||
tree.interface.new_panel("Panel 3")
|
||||
|
||||
# Panels after sockets
|
||||
self.assertSequenceEqual([(s.name, s.item_type) for s in tree.interface.ui_items], [
|
||||
self.assertSequenceEqual([(s.name, s.item_type) for s in tree.interface.items_tree], [
|
||||
("Input 0", 'SOCKET'),
|
||||
("Output 0", 'SOCKET'),
|
||||
("Input 1", 'SOCKET'),
|
||||
|
@ -252,35 +252,35 @@ class NodeGroupInterfaceTests:
|
|||
tree, group_node = self.make_group_and_instance()
|
||||
|
||||
in0 = tree.interface.new_socket("Input 0", socket_type=socket_type, in_out='INPUT')
|
||||
self.assertSequenceEqual(tree.interface.ui_items, [in0])
|
||||
self.assertSequenceEqual(tree.interface.items_tree, [in0])
|
||||
self.assertSequenceEqual([s.name for s in group_node.inputs], ["Input 0"])
|
||||
self.assertSequenceEqual([s.name for s in group_node.outputs], [])
|
||||
|
||||
out0 = tree.interface.new_socket("Output 0", socket_type=socket_type, in_out='OUTPUT')
|
||||
self.assertSequenceEqual(tree.interface.ui_items, [in0, out0])
|
||||
self.assertSequenceEqual(tree.interface.items_tree, [in0, out0])
|
||||
self.assertSequenceEqual([s.name for s in group_node.inputs], ["Input 0"])
|
||||
self.assertSequenceEqual([s.name for s in group_node.outputs], ["Output 0"])
|
||||
|
||||
panel0 = tree.interface.new_panel("Panel 0")
|
||||
self.assertSequenceEqual(tree.interface.ui_items, [in0, out0, panel0])
|
||||
self.assertSequenceEqual(tree.interface.items_tree, [in0, out0, panel0])
|
||||
self.assertSequenceEqual([s.name for s in group_node.inputs], ["Input 0"])
|
||||
self.assertSequenceEqual([s.name for s in group_node.outputs], ["Output 0"])
|
||||
|
||||
# Add items to the panel.
|
||||
in1 = tree.interface.new_socket("Input 1", socket_type=socket_type, in_out='INPUT', parent=panel0)
|
||||
self.assertSequenceEqual(tree.interface.ui_items, [in0, out0, panel0, in1])
|
||||
self.assertSequenceEqual(tree.interface.items_tree, [in0, out0, panel0, in1])
|
||||
self.assertSequenceEqual([s.name for s in group_node.inputs], ["Input 0", "Input 1"])
|
||||
self.assertSequenceEqual([s.name for s in group_node.outputs], ["Output 0"])
|
||||
|
||||
out1 = tree.interface.new_socket("Output 1", socket_type=socket_type, in_out='OUTPUT', parent=panel0)
|
||||
self.assertSequenceEqual(tree.interface.ui_items, [in0, out0, panel0, in1, out1])
|
||||
self.assertSequenceEqual(tree.interface.items_tree, [in0, out0, panel0, in1, out1])
|
||||
self.assertSequenceEqual([s.name for s in group_node.inputs], ["Input 0", "Input 1"])
|
||||
self.assertSequenceEqual([s.name for s in group_node.outputs], ["Output 0", "Output 1"])
|
||||
|
||||
# Nested panel is not allowed and should return None.
|
||||
panel1 = tree.interface.new_panel("Panel 1", parent=panel0)
|
||||
self.assertIsNone(panel1)
|
||||
self.assertSequenceEqual(tree.interface.ui_items, [in0, out0, panel0, in1, out1])
|
||||
self.assertSequenceEqual(tree.interface.items_tree, [in0, out0, panel0, in1, out1])
|
||||
self.assertSequenceEqual([s.name for s in group_node.inputs], ["Input 0", "Input 1"])
|
||||
self.assertSequenceEqual([s.name for s in group_node.outputs], ["Output 0", "Output 1"])
|
||||
|
||||
|
@ -297,42 +297,42 @@ class NodeGroupInterfaceTests:
|
|||
out2 = tree.interface.new_socket("Output 2", socket_type=socket_type, in_out='OUTPUT', parent=panel1)
|
||||
panel2 = tree.interface.new_panel("Panel 2")
|
||||
|
||||
self.assertSequenceEqual(tree.interface.ui_items, [in0, out0, panel0, in1, out1, panel1, in2, out2, panel2])
|
||||
self.assertSequenceEqual(tree.interface.items_tree, [in0, out0, panel0, in1, out1, panel1, in2, out2, panel2])
|
||||
self.assertSequenceEqual([s.name for s in group_node.inputs], ["Input 0", "Input 1", "Input 2"])
|
||||
self.assertSequenceEqual([s.name for s in group_node.outputs], ["Output 0", "Output 1", "Output 2"])
|
||||
|
||||
# Remove from root panel.
|
||||
tree.interface.remove(in0)
|
||||
self.assertSequenceEqual(tree.interface.ui_items, [out0, panel0, in1, out1, panel1, in2, out2, panel2])
|
||||
self.assertSequenceEqual(tree.interface.items_tree, [out0, panel0, in1, out1, panel1, in2, out2, panel2])
|
||||
self.assertSequenceEqual([s.name for s in group_node.inputs], ["Input 1", "Input 2"])
|
||||
self.assertSequenceEqual([s.name for s in group_node.outputs], ["Output 0", "Output 1", "Output 2"])
|
||||
|
||||
# Removing a panel should move content to the parent.
|
||||
tree.interface.remove(panel0)
|
||||
self.assertSequenceEqual(tree.interface.ui_items, [out0, in1, out1, panel1, in2, out2, panel2])
|
||||
self.assertSequenceEqual(tree.interface.items_tree, [out0, in1, out1, panel1, in2, out2, panel2])
|
||||
self.assertSequenceEqual([s.name for s in group_node.inputs], ["Input 1", "Input 2"])
|
||||
self.assertSequenceEqual([s.name for s in group_node.outputs], ["Output 0", "Output 1", "Output 2"])
|
||||
|
||||
tree.interface.remove(out0)
|
||||
self.assertSequenceEqual(tree.interface.ui_items, [in1, out1, panel1, in2, out2, panel2])
|
||||
self.assertSequenceEqual(tree.interface.items_tree, [in1, out1, panel1, in2, out2, panel2])
|
||||
self.assertSequenceEqual([s.name for s in group_node.inputs], ["Input 1", "Input 2"])
|
||||
self.assertSequenceEqual([s.name for s in group_node.outputs], ["Output 1", "Output 2"])
|
||||
|
||||
# Remove content from panel
|
||||
tree.interface.remove(out2)
|
||||
self.assertSequenceEqual(tree.interface.ui_items, [in1, out1, panel1, in2, panel2])
|
||||
self.assertSequenceEqual(tree.interface.items_tree, [in1, out1, panel1, in2, panel2])
|
||||
self.assertSequenceEqual([s.name for s in group_node.inputs], ["Input 1", "Input 2"])
|
||||
self.assertSequenceEqual([s.name for s in group_node.outputs], ["Output 1"])
|
||||
|
||||
# Remove a panel and its content
|
||||
tree.interface.remove(panel1, move_content_to_parent=False)
|
||||
self.assertSequenceEqual(tree.interface.ui_items, [in1, out1, panel2])
|
||||
self.assertSequenceEqual(tree.interface.items_tree, [in1, out1, panel2])
|
||||
self.assertSequenceEqual([s.name for s in group_node.inputs], ["Input 1"])
|
||||
self.assertSequenceEqual([s.name for s in group_node.outputs], ["Output 1"])
|
||||
|
||||
# Remove empty panel
|
||||
tree.interface.remove(panel2)
|
||||
self.assertSequenceEqual(tree.interface.ui_items, [in1, out1])
|
||||
self.assertSequenceEqual(tree.interface.items_tree, [in1, out1])
|
||||
self.assertSequenceEqual([s.name for s in group_node.inputs], ["Input 1"])
|
||||
self.assertSequenceEqual([s.name for s in group_node.outputs], ["Output 1"])
|
||||
|
||||
|
|
Loading…
Reference in New Issue