Add node context menu entry for material parameters
This commit is contained in:
parent
09ec8f23f8
commit
07acf00b0c
|
@ -493,19 +493,6 @@ class ReplaceNodesOperator(bpy.types.Operator):
|
|||
return context.space_data is not None and context.space_data.type == 'NODE_EDITOR'
|
||||
|
||||
|
||||
|
||||
# https://blender.stackexchange.com/questions/150101/python-how-to-add-items-in-context-menu-in-2-8
|
||||
def draw_custom_logicnode_menu(self, context):
|
||||
if context.space_data.tree_type == 'ArmLogicTreeType' \
|
||||
and context.selected_nodes is not None:
|
||||
if len(context.selected_nodes) == 1:
|
||||
if context.selected_nodes[0].bl_idname.startswith('LN'):
|
||||
layout = self.layout
|
||||
layout.separator()
|
||||
layout.operator("arm.open_node_documentation", text="Show documentation for this node")
|
||||
layout.operator("arm.open_node_source", text="Open .hx source in the browser")
|
||||
layout.operator("arm.open_node_python_source", text="Open .py source in the browser")
|
||||
|
||||
def register():
|
||||
arm.logicnode.arm_sockets.register()
|
||||
|
||||
|
@ -523,8 +510,6 @@ def register():
|
|||
bpy.utils.register_class(ARM_MT_NodeAddOverride)
|
||||
bpy.utils.register_class(ARM_OT_AddNodeOverride)
|
||||
|
||||
bpy.types.NODE_MT_context_menu.append(draw_custom_logicnode_menu)
|
||||
|
||||
arm.logicnode.init_categories()
|
||||
register_nodes()
|
||||
|
||||
|
@ -548,6 +533,4 @@ def unregister():
|
|||
bpy.utils.unregister_class(ARM_MT_NodeAddOverride)
|
||||
bpy.utils.register_class(ARM_MT_NodeAddOverride.overridden_menu)
|
||||
|
||||
bpy.types.NODE_MT_context_menu.remove(draw_custom_logicnode_menu)
|
||||
|
||||
arm.logicnode.arm_sockets.unregister()
|
||||
|
|
|
@ -2224,6 +2224,30 @@ class ArmoryUpdateListAndroidEmulatorRunButton(bpy.types.Operator):
|
|||
make.run_android_emulators(arm.utils.get_android_emulator_name())
|
||||
return{'FINISHED'}
|
||||
|
||||
|
||||
def draw_custom_node_menu(self, context):
|
||||
"""Extension of the node context menu.
|
||||
|
||||
https://blender.stackexchange.com/questions/150101/python-how-to-add-items-in-context-menu-in-2-8
|
||||
"""
|
||||
if context.selected_nodes is None or len(context.selected_nodes) != 1:
|
||||
return
|
||||
|
||||
if context.space_data.tree_type == 'ArmLogicTreeType':
|
||||
if context.selected_nodes[0].bl_idname.startswith('LN'):
|
||||
layout = self.layout
|
||||
layout.separator()
|
||||
layout.operator("arm.open_node_documentation", text="Show documentation for this node")
|
||||
layout.operator("arm.open_node_source", text="Open .hx source in the browser")
|
||||
layout.operator("arm.open_node_python_source", text="Open .py source in the browser")
|
||||
|
||||
elif context.space_data.tree_type == 'ShaderNodeTree':
|
||||
if context.active_node.bl_idname in ('ShaderNodeRGB', 'ShaderNodeValue', 'ShaderNodeTexImage'):
|
||||
layout = self.layout
|
||||
layout.separator()
|
||||
layout.prop(context.active_node, 'arm_material_param', text='Armory: Material Parameter')
|
||||
|
||||
|
||||
def register():
|
||||
bpy.utils.register_class(ARM_PT_ObjectPropsPanel)
|
||||
bpy.utils.register_class(ARM_PT_ModifiersPropsPanel)
|
||||
|
@ -2287,9 +2311,11 @@ def register():
|
|||
|
||||
bpy.types.VIEW3D_HT_header.append(draw_view3d_header)
|
||||
bpy.types.VIEW3D_MT_object.append(draw_view3d_object_menu)
|
||||
bpy.types.NODE_MT_context_menu.append(draw_custom_node_menu)
|
||||
|
||||
|
||||
def unregister():
|
||||
bpy.types.NODE_MT_context_menu.remove(draw_custom_node_menu)
|
||||
bpy.types.VIEW3D_MT_object.remove(draw_view3d_object_menu)
|
||||
bpy.types.VIEW3D_HT_header.remove(draw_view3d_header)
|
||||
|
||||
|
|
Loading…
Reference in a new issue