[Bf-blender-cvs] [8d5f02a191a] functions: New Pack List Input operator
Jacques Lucke
noreply at git.blender.org
Wed Mar 20 18:51:12 CET 2019
Commit: 8d5f02a191a8fbf02dc99dbd5a194f0675806e0f
Author: Jacques Lucke
Date: Wed Mar 20 18:11:56 2019 +0100
Branches: functions
https://developer.blender.org/rB8d5f02a191a8fbf02dc99dbd5a194f0675806e0f
New Pack List Input operator
===================================================================
M release/scripts/startup/function_nodes/socket_decl.py
===================================================================
diff --git a/release/scripts/startup/function_nodes/socket_decl.py b/release/scripts/startup/function_nodes/socket_decl.py
index f20afea1556..c04adfc0ed8 100644
--- a/release/scripts/startup/function_nodes/socket_decl.py
+++ b/release/scripts/startup/function_nodes/socket_decl.py
@@ -87,7 +87,10 @@ class PackListDecl(SocketDeclBase):
def draw_socket(self, layout, node, socket, index):
if isinstance(socket, OperatorSocket):
- layout.label(text="New")
+ props = layout.operator("fn.new_pack_list_input", text="New", emboss=False)
+ props.tree_name = node.tree.name
+ props.node_name = node.name
+ props.prop_name = self.prop_name
else:
socket.draw_self(layout, node)
@@ -140,6 +143,28 @@ class PackListPropertyGroup(bpy.types.PropertyGroup):
("LIST", "Base", "", "NONE", 1)])
identifier_prefix: StringProperty()
+class NewPackListInputOperator(bpy.types.Operator):
+ bl_idname = "fn.new_pack_list_input"
+ bl_label = "New Pack List Input"
+ bl_options = {'INTERNAL'}
+
+ tree_name: StringProperty()
+ node_name: StringProperty()
+ prop_name: StringProperty()
+
+ def execute(self, context):
+ tree = bpy.data.node_groups[self.tree_name]
+ node = tree.nodes[self.node_name]
+ collection = getattr(node, self.prop_name)
+
+ item = collection.add()
+ item.state = "BASE"
+ item.identifier_prefix = str(uuid.uuid4())
+
+ node.rebuild_and_try_keep_state()
+
+ return {'FINISHED'}
+
class AnyVariadicDecl(SocketDeclBase):
def __init__(self, identifier: str, prop_name: str, message: str):
self.identifier_suffix = identifier
More information about the Bf-blender-cvs
mailing list