UI: split left/right header buttons
- Added flexible separators to Clip, Graph, Dopesheet, Image, Node, Timeline, 3D View. - Added graying out for Proportional Editing menus to avoid popping when right-aligned. - Slightly re-arranged some controls, so they can be on correct side of the separators. Patch by @billreynish
This commit is contained in:
@@ -51,8 +51,6 @@ class NODE_HT_header(Header):
|
||||
# Now expanded via the 'ui_type'
|
||||
# layout.prop(snode, "tree_type", text="")
|
||||
|
||||
NODE_MT_editor_menus.draw_collapsible(context, layout)
|
||||
|
||||
if snode.tree_type == 'ShaderNodeTree':
|
||||
layout.prop(snode, "shader_type", text="", expand=True)
|
||||
|
||||
@@ -70,15 +68,20 @@ class NODE_HT_header(Header):
|
||||
|
||||
# No shader nodes for Eevee lamps
|
||||
if snode_id and not (context.engine == 'BLENDER_EEVEE' and ob.type == 'LAMP'):
|
||||
layout.prop(snode_id, "use_nodes")
|
||||
row.prop(snode_id, "use_nodes")
|
||||
|
||||
NODE_MT_editor_menus.draw_collapsible(context, layout)
|
||||
|
||||
if snode.shader_type == 'WORLD':
|
||||
row = layout.row()
|
||||
row.enabled = not snode.pin
|
||||
row.template_ID(scene, "world", new="world.new")
|
||||
|
||||
if snode_id:
|
||||
row.prop(snode_id, "use_nodes")
|
||||
|
||||
NODE_MT_editor_menus.draw_collapsible(context, layout)
|
||||
|
||||
if snode.shader_type == 'LINESTYLE':
|
||||
view_layer = context.view_layer
|
||||
lineset = view_layer.freestyle_settings.linesets.active
|
||||
@@ -86,6 +89,9 @@ class NODE_HT_header(Header):
|
||||
row = layout.row()
|
||||
row.enabled = not snode.pin
|
||||
row.template_ID(lineset, "linestyle", new="scene.freestyle_linestyle_new")
|
||||
|
||||
NODE_MT_editor_menus.draw_collapsible(context, layout)
|
||||
|
||||
if snode_id:
|
||||
row.prop(snode_id, "use_nodes")
|
||||
|
||||
@@ -97,21 +103,31 @@ class NODE_HT_header(Header):
|
||||
layout.template_ID(id_from, "texture", new="texture.new")
|
||||
else:
|
||||
layout.template_ID(id_from, "active_texture", new="texture.new")
|
||||
|
||||
if snode_id:
|
||||
layout.prop(snode_id, "use_nodes")
|
||||
|
||||
NODE_MT_editor_menus.draw_collapsible(context, layout)
|
||||
|
||||
elif snode.tree_type == 'CompositorNodeTree':
|
||||
|
||||
if snode_id:
|
||||
layout.prop(snode_id, "use_nodes")
|
||||
|
||||
NODE_MT_editor_menus.draw_collapsible(context, layout)
|
||||
|
||||
layout.prop(snode, "use_auto_render")
|
||||
layout.prop(snode, "show_backdrop")
|
||||
if snode.show_backdrop:
|
||||
row = layout.row(align=True)
|
||||
row.prop(snode, "backdrop_channels", text="", expand=True)
|
||||
layout.prop(snode, "use_auto_render")
|
||||
|
||||
else:
|
||||
# Custom node tree is edited as independent ID block
|
||||
layout.template_ID(snode, "node_tree", new="node.new_node_tree")
|
||||
NODE_MT_editor_menus.draw_collapsible(context, layout)
|
||||
|
||||
layout.separator_spacer()
|
||||
|
||||
layout.prop(snode, "pin", text="")
|
||||
layout.operator("node.tree_path_parent", text="", icon='FILE_PARENT')
|
||||
|
Reference in New Issue
Block a user