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>2020-12-01 23:35:26 +0300
committerJacques Lucke <jacques@blender.org>2020-12-02 17:38:47 +0300
commitb1d1a58c77fb165855c3ff8c13fdebe3d4297db8 (patch)
treeda81346973867d60f605470f3f973cc67961946e /release/scripts/startup/bl_ui/space_node.py
parent600fb28b629598af2537c542e7f3f76ba0e94389 (diff)
Geometry Nodes: improve operators for node editor header
This allows users to create new modifiers directly from the Geometry Nodes Editor.
Diffstat (limited to 'release/scripts/startup/bl_ui/space_node.py')
-rw-r--r--release/scripts/startup/bl_ui/space_node.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py
index 4cd38831cdf..9ad454d49e1 100644
--- a/release/scripts/startup/bl_ui/space_node.py
+++ b/release/scripts/startup/bl_ui/space_node.py
@@ -154,7 +154,20 @@ class NODE_HT_header(Header):
elif snode.tree_type == 'GeometryNodeTree':
NODE_MT_editor_menus.draw_collapsible(context, layout)
layout.separator_spacer()
- layout.template_ID(snode, "node_tree", new="node.new_geometry_node_tree")
+
+ ob = context.object
+
+ row = layout.row()
+ if snode.pin:
+ row.enabled = False
+ row.template_ID(snode, "node_tree", new="node.new_geometry_node_group_assign")
+ elif ob:
+ active_modifier = ob.modifiers.active
+ if active_modifier and active_modifier.type == "NODES":
+ row.template_ID(active_modifier, "node_group", new="node.new_geometry_node_group_assign")
+ else:
+ row.template_ID(snode, "node_tree", new="node.new_geometry_node_modifier")
+
else:
# Custom node tree is edited as independent ID block