[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49441] trunk/blender/source/blender/ makesrna/intern/rna_nodetree.c: Add type RNA property to special nodes (e.g .

Sergey Sharybin sergey.vfx at gmail.com
Wed Aug 1 12:31:46 CEST 2012


Revision: 49441
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49441
Author:   nazgul
Date:     2012-08-01 10:31:45 +0000 (Wed, 01 Aug 2012)
Log Message:
-----------
Add type RNA property to special nodes (e.g. frame)

Modified Paths:
--------------
    trunk/blender/source/blender/makesrna/intern/rna_nodetree.c

Modified: trunk/blender/source/blender/makesrna/intern/rna_nodetree.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_nodetree.c	2012-08-01 10:07:59 UTC (rev 49440)
+++ trunk/blender/source/blender/makesrna/intern/rna_nodetree.c	2012-08-01 10:31:45 UTC (rev 49441)
@@ -217,13 +217,11 @@
 		#include "rna_nodetree_types.h"
 		
 		case NODE_GROUP:
-			return &RNA_NodeGroup;
 		case NODE_FORLOOP:
-			return &RNA_NodeForLoop;
 		case NODE_WHILELOOP:
-			return &RNA_NodeWhileLoop;
 		case NODE_FRAME:
-			return &RNA_NodeFrame;
+		case NODE_REROUTE:
+			return &RNA_SpecialNode;
 			
 		default:
 			return &RNA_Node;
@@ -3863,6 +3861,30 @@
 	RNA_def_property_ui_text(prop, "Type", "");
 }
 
+static void rna_def_special_node(BlenderRNA *brna)
+{
+	StructRNA *srna;
+	PropertyRNA *prop;
+
+	static EnumPropertyItem specific_node_type_items[] = {
+		{NODE_GROUP, "GROUP", ICON_NODE, "Group", ""},
+		{NODE_FORLOOP, "FORLOOP", ICON_NODE, "For Loop", ""},
+		{NODE_WHILELOOP, "WHILELOOP", ICON_NODE, "While Loop", ""},
+		{NODE_FRAME, "FRAME", ICON_NODE, "Frame", ""},
+		{NODE_REROUTE, "REROUTE", ICON_NODE, "Reroute", ""},
+		{0, NULL, 0, NULL, NULL}
+	};
+
+	srna = RNA_def_struct(brna, "SpecialNode", "Node");
+	RNA_def_struct_ui_text(srna, "Special Node", "");
+	RNA_def_struct_sdna(srna, "bNode");
+
+	prop = RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
+	RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+	RNA_def_property_enum_items(prop, specific_node_type_items);
+	RNA_def_property_ui_text(prop, "Type", "");
+}
+
 /* -------------------------------------------------------------------------- */
 
 static void rna_def_nodetree_link_api(BlenderRNA *brna, PropertyRNA *cprop)
@@ -4421,7 +4443,7 @@
 static void define_specific_node(BlenderRNA *brna, int id, void (*func)(StructRNA *))
 {
 	StructRNA *srna = def_node(brna, id);
-	
+
 	if (func)
 		func(srna);
 }
@@ -4448,6 +4470,7 @@
 	rna_def_shader_node(brna);
 	rna_def_compositor_node(brna);
 	rna_def_texture_node(brna);
+	rna_def_special_node(brna);
 	
 	rna_def_composite_nodetree(brna);
 	rna_def_shader_nodetree(brna);




More information about the Bf-blender-cvs mailing list