diff options
Diffstat (limited to 'release/scripts/startup/nodes/function_nodes/value.py')
-rw-r--r-- | release/scripts/startup/nodes/function_nodes/value.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/release/scripts/startup/nodes/function_nodes/value.py b/release/scripts/startup/nodes/function_nodes/value.py new file mode 100644 index 00000000000..d386c6c7f0b --- /dev/null +++ b/release/scripts/startup/nodes/function_nodes/value.py @@ -0,0 +1,29 @@ +import bpy +from bpy.props import * +from .. base import FunctionNode +from .. node_builder import NodeBuilder + + +class ValueNode(bpy.types.Node, FunctionNode): + bl_idname = "fn_ValueNode" + bl_label = "Value" + + data_type: StringProperty( + name="Data Type", + default="Float", + update=FunctionNode.sync_tree, + ) + + def declaration(self, builder: NodeBuilder): + builder.fixed_output("value", "Value", self.data_type) + + def draw_socket(self, layout, socket, text, decl, index_in_decl): + row = layout.row(align=True) + if hasattr(socket, "draw_property"): + socket.draw_property(row, self, "") + else: + row.label(text=text) + self.invoke_type_selection(row, "set_type", text="", icon="SETTINGS") + + def set_type(self, data_type): + self.data_type = data_type |