Improve node side panel (more operators, icons)

This commit is contained in:
Moritz Brückner 2020-12-19 01:08:52 +01:00
parent fa6d1903c7
commit 76b2380ec4
3 changed files with 17 additions and 8 deletions

View file

@ -7,6 +7,7 @@ from bpy.props import BoolProperty, StringProperty
import arm.logicnode.arm_nodes as arm_nodes
import arm.logicnode.replacement
import arm.logicnode
import arm.props_traits
import arm.utils
registered_nodes = []
@ -164,15 +165,21 @@ class ARM_PT_LogicNodePanel(bpy.types.Panel):
layout = self.layout
layout.use_property_split = True
layout.use_property_decorate = False
if context.active_node != None and context.active_node.bl_idname.startswith('LN'):
if context.active_node is not None and context.active_node.bl_idname.startswith('LN'):
layout.prop(context.active_node, 'arm_logic_id')
layout.prop(context.active_node, 'arm_watch')
layout.operator('arm.open_node_source')
class ArmOpenNodeSource(bpy.types.Operator):
layout.separator()
layout.operator('arm.open_node_documentation')
column = layout.column(align=True)
column.operator('arm.open_node_python_source', icon='FILE_SCRIPT')
column.operator('arm.open_node_haxe_source', icon_value=arm.props_traits.icons_dict['haxe'].icon_id)
class ArmOpenNodeHaxeSource(bpy.types.Operator):
"""Expose Haxe source"""
bl_idname = 'arm.open_node_source'
bl_label = 'Open Node Source'
bl_idname = 'arm.open_node_haxe_source'
bl_label = 'Open Node Haxe Source'
def execute(self, context):
if context.selected_nodes is not None:
@ -358,7 +365,7 @@ def register():
bpy.utils.register_class(ArmLogicTree)
bpy.utils.register_class(ARM_PT_LogicNodePanel)
bpy.utils.register_class(ArmOpenNodeSource)
bpy.utils.register_class(ArmOpenNodeHaxeSource)
bpy.utils.register_class(ArmOpenNodePythonSource)
bpy.utils.register_class(ArmOpenNodeWikiEntry)
bpy.utils.register_class(ReplaceNodesOperator)
@ -383,7 +390,7 @@ def unregister():
bpy.utils.unregister_class(ReplaceNodesOperator)
bpy.utils.unregister_class(ArmLogicTree)
bpy.utils.unregister_class(ARM_PT_LogicNodePanel)
bpy.utils.unregister_class(ArmOpenNodeSource)
bpy.utils.unregister_class(ArmOpenNodeHaxeSource)
bpy.utils.unregister_class(ArmOpenNodePythonSource)
bpy.utils.unregister_class(ArmOpenNodeWikiEntry)
bpy.utils.unregister_class(ARM_PT_Variables)

View file

@ -13,6 +13,8 @@ import arm.proxy as proxy
import arm.utils
import arm.write_data as write_data
icons_dict: bpy.utils.previews.ImagePreviewCollection
def trigger_recompile(self, context):
wrd = bpy.data.worlds['Arm']

View file

@ -2525,7 +2525,7 @@ def draw_custom_node_menu(self, context):
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_haxe_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':