Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Goudey <h.goudey@me.com>2022-05-16 18:17:16 +0300
committerHans Goudey <h.goudey@me.com>2022-05-16 18:17:16 +0300
commit00af3e9472f3a26c3c0faf8ee3fe5d7f3b8d6b0f (patch)
tree3e50930abfaaf25c2aa9d77c88d9dafd29bb3860 /release/scripts/startup/bl_ui/space_node.py
parent9df91654dc979e3d334de69eded7f816bef223e3 (diff)
Fix: Node editor "Group" panel displays for embedded node trees
Embedded node trees are not groups, since their inputs and outputs are not exposed anywhere. So these panels should not be displayed.
Diffstat (limited to 'release/scripts/startup/bl_ui/space_node.py')
-rw-r--r--release/scripts/startup/bl_ui/space_node.py29
1 files changed, 16 insertions, 13 deletions
diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py
index e105b07ec53..813a799db24 100644
--- a/release/scripts/startup/bl_ui/space_node.py
+++ b/release/scripts/startup/bl_ui/space_node.py
@@ -727,7 +727,20 @@ class NODE_UL_interface_sockets(bpy.types.UIList):
layout.template_node_socket(color=color)
-class NodeTreeInterfacePanel:
+class NodeTreeInterfacePanel(Panel):
+
+ @classmethod
+ def poll(cls, context):
+ snode = context.space_data
+ if snode is None:
+ return False
+ tree = snode.edit_tree
+ if tree is None:
+ return False
+ if tree.is_embedded_data:
+ return False
+ return True
+
def draw_socket_list(self, context, in_out, sockets_propname, active_socket_propname):
layout = self.layout
@@ -804,32 +817,22 @@ class NodeTreeInterfacePanel:
active_socket.draw(context, layout)
-class NODE_PT_node_tree_interface_inputs(NodeTreeInterfacePanel, Panel):
+class NODE_PT_node_tree_interface_inputs(NodeTreeInterfacePanel):
bl_space_type = 'NODE_EDITOR'
bl_region_type = 'UI'
bl_category = "Group"
bl_label = "Inputs"
- @classmethod
- def poll(cls, context):
- snode = context.space_data
- return snode.edit_tree is not None
-
def draw(self, context):
self.draw_socket_list(context, "IN", "inputs", "active_input")
-class NODE_PT_node_tree_interface_outputs(NodeTreeInterfacePanel, Panel):
+class NODE_PT_node_tree_interface_outputs(NodeTreeInterfacePanel):
bl_space_type = 'NODE_EDITOR'
bl_region_type = 'UI'
bl_category = "Group"
bl_label = "Outputs"
- @classmethod
- def poll(cls, context):
- snode = context.space_data
- return snode.edit_tree is not None
-
def draw(self, context):
self.draw_socket_list(context, "OUT", "outputs", "active_output")