[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18396] branches/blender2.5/blender/source /blender/makesrna/intern/rna_action.c: Conflicts resolved.

Roland Hess me at harkyman.com
Wed Jan 7 14:10:32 CET 2009


Revision: 18396
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18396
Author:   harkyman
Date:     2009-01-07 14:10:31 +0100 (Wed, 07 Jan 2009)

Log Message:
-----------
Conflicts resolved. Hadn't used the Resolve command last time. Brilliant.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_action.c

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_action.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_action.c	2009-01-07 11:27:17 UTC (rev 18395)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_action.c	2009-01-07 13:10:31 UTC (rev 18396)
@@ -30,20 +30,166 @@
 #include "rna_internal.h"
 
 #include "DNA_action_types.h"
+#include "DNA_constraint_types.h"
+#include "DNA_scene_types.h"
 
+
 #ifdef RNA_RUNTIME
 
-#else 
+#else
 
+void rna_def_action_channel(BlenderRNA *brna)
+{
+	StructRNA *srna;
+	PropertyRNA *prop;
+
+	srna= RNA_def_struct(brna, "ActionChannel", NULL);
+	RNA_def_struct_sdna(srna, "bActionChannel");
+	RNA_def_struct_ui_text(srna, "Action Channel", "A channel for one object or bone's Ipos in an Action.");
+
+	prop= RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
+	RNA_def_property_ui_text(prop, "Name", "");
+	RNA_def_struct_name_property(srna, prop);
+
+	prop= RNA_def_property(srna, "action_group", PROP_POINTER, PROP_NONE);
+	RNA_def_property_pointer_sdna(prop, NULL, "grp");
+	RNA_def_property_struct_type(prop, "ActionGroup");
+	RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
+	RNA_def_property_ui_text(prop, "Action Group", "Action Group that this Action Channel belongs to.");
+
+	prop= RNA_def_property(srna, "ipo", PROP_POINTER, PROP_NONE);
+	RNA_def_property_struct_type(prop, "Ipo");
+	RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
+	RNA_def_property_ui_text(prop, "Ipo", "Ipo block this Action Channel uses.");	
+
+	/* constraint channel rna not yet implemented */
+	/*prop= RNA_def_property(srna, "constraint_channels", PROP_COLLECTION, PROP_NONE);
+	RNA_def_property_collection_sdna(prop, NULL, "ConstraintChannel", NULL);
+	RNA_def_property_struct_type(prop, "ConstraintChannel");
+	RNA_def_property_ui_text(prop, "Constraint Channels", "Ipos of Constraints attached to this object or bone."); */
+
+	prop= RNA_def_property(srna, "action_channel_selected", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "flag", ACHAN_SELECTED);
+	RNA_def_property_ui_text(prop, "Selected", "Action Channel is selected.");
+
+	prop= RNA_def_property(srna, "action_channel_highlighted", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "flag", ACHAN_HILIGHTED);
+	RNA_def_property_ui_text(prop, "Highlighted", "Action Channel is highlighted.");
+
+	prop= RNA_def_property(srna, "action_channel_hidden", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "flag", ACHAN_HIDDEN);
+	RNA_def_property_ui_text(prop, "Hidden", "Action Channel is hidden.");
+
+	prop= RNA_def_property(srna, "action_channel_protected", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "flag", ACHAN_PROTECTED);
+	RNA_def_property_ui_text(prop, "Protected", "Action Channel is protected.");
+
+	prop= RNA_def_property(srna, "action_channel_expanded", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "flag", ACHAN_EXPANDED);
+	RNA_def_property_ui_text(prop, "Expanded", "Action Channel is expanded.");
+
+	prop= RNA_def_property(srna, "action_channel_show_ipo", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "flag", ACHAN_SHOWIPO);
+	RNA_def_property_ui_text(prop, "Show Ipo", "Action Channel's Ipos are visible.");
+
+	prop= RNA_def_property(srna, "action_channel_show_constraints", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "flag", ACHAN_SHOWCONS);
+	RNA_def_property_ui_text(prop, "Show Constraints", "Action Channel's constraints are visible.");
+}
+
+void rna_def_action_group(BlenderRNA *brna)
+{
+	StructRNA *srna;
+	PropertyRNA *prop;
+
+	srna= RNA_def_struct(brna, "ActionGroup", NULL);
+	RNA_def_struct_sdna(srna, "bActionGroup");
+	RNA_def_struct_ui_text(srna, "Action Group", "Groups of Actions Channels.");
+
+	prop= RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
+	RNA_def_property_ui_text(prop, "Name", "");
+	RNA_def_struct_name_property(srna, prop);
+
+	/* dna warns not to treat the Action Channel listbase in the Action Group struct like a
+	   normal listbase. I'll leave this here but comment out, for Joshua to review. He can 
+ 	   probably shed some more light on why this is */
+	/*prop= RNA_def_property(srna, "action_channels", PROP_COLLECTION, PROP_NONE);
+	RNA_def_property_collection_sdna(prop, NULL, "channels", NULL);
+	RNA_def_property_struct_type(prop, "ActionChannel");
+	RNA_def_property_ui_text(prop, "Action Channels", "DOC_BROKEN");*/
+
+	prop= RNA_def_property(srna, "action_group_selected", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "flag", AGRP_SELECTED);
+	RNA_def_property_ui_text(prop, "Selected", "Action Group is selected.");
+
+	prop= RNA_def_property(srna, "action_group_protected", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "flag", AGRP_PROTECTED);
+	RNA_def_property_ui_text(prop, "Protected", "Action Group is protected.");
+
+	prop= RNA_def_property(srna, "action_group_expanded", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "flag", AGRP_EXPANDED);
+	RNA_def_property_ui_text(prop, "Expanded", "Action Group is expanded.");
+
+	prop= RNA_def_property(srna, "custom_color", PROP_INT, PROP_NONE);
+	RNA_def_property_int_sdna(prop, NULL, "customCol");
+	RNA_def_property_ui_text(prop, "Custom Color", "Index of custom color set.");
+}
+
 void RNA_def_action(BlenderRNA *brna)
 {
 	StructRNA *srna;
 	PropertyRNA *prop;
 
+	rna_def_action_channel(brna);
+	rna_def_action_group(brna);
+
 	srna= RNA_def_struct(brna, "Action", "ID");
 	RNA_def_struct_sdna(srna, "bAction");
-	RNA_def_struct_ui_text(srna, "Action", "DOC_BROKEN");
+	RNA_def_struct_ui_text(srna, "Action", "A collection of Ipos for animation.");
 
+	prop= RNA_def_property(srna, "action_channels", PROP_COLLECTION, PROP_NONE);
+	RNA_def_property_collection_sdna(prop, NULL, "chanbase", NULL);
+	RNA_def_property_struct_type(prop, "ActionChannel");
+	RNA_def_property_ui_text(prop, "Action Channels", "The individual animation channels that make up the Action.");
+
+	prop= RNA_def_property(srna, "action_groups", PROP_COLLECTION, PROP_NONE);
+	RNA_def_property_collection_sdna(prop, NULL, "groups", NULL);
+	RNA_def_property_struct_type(prop, "ActionGroup");
+	RNA_def_property_ui_text(prop, "Action Groups", "Convenient groupings of Action Channels.");
+
+	prop= RNA_def_property(srna, "timeline_markers", PROP_COLLECTION, PROP_NONE);
+	RNA_def_property_collection_sdna(prop, NULL, "markers", NULL);
+	RNA_def_property_struct_type(prop, "UnknownType"); /* implement when timeline rna is wrapped */
+	RNA_def_property_ui_text(prop, "Timeline Markers", "Markers specific to this Action, for labeling poses.");
+
+	prop= RNA_def_property(srna, "action_show_sliders", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "flag", SACTION_SLIDERS);
+	RNA_def_property_ui_text(prop, "Show Sliders", "Show Shape Key sliders.");
+
+	prop= RNA_def_property(srna, "action_time_units", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "flag", SACTION_DRAWTIME);
+	RNA_def_property_ui_text(prop, "Time Units", "Show seconds or frames in the timeline.");
+
+	prop= RNA_def_property(srna, "action_show_all", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "flag", SACTION_NOHIDE);
+	RNA_def_property_ui_text(prop, "Show All", "Show all channels regardless of hidden status.");
+
+	prop= RNA_def_property(srna, "action_kill_overlapping_keys", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "flag", SACTION_NOTRANSKEYCULL);
+	RNA_def_property_ui_text(prop, "Kill Overlapping Keys", "Remove overlapping keys after a transform.");
+
+	prop= RNA_def_property(srna, "action_key_cull_to_view", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "flag", SACTION_HORIZOPTIMISEON);
+	RNA_def_property_ui_text(prop, "Cull Keys to View", "Only consider keys that are within the view.");
+
+	prop= RNA_def_property(srna, "action_group_colors", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "flag", SACTION_NODRAWGCOLORS);
+	RNA_def_property_ui_text(prop, "Group Color", "Use custom color grouping and instead of default color scheme.");
+
+	prop= RNA_def_property(srna, "action_current_frame_number", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "flag", SACTION_NODRAWCFRANUM);
+	RNA_def_property_ui_text(prop, "Current Frame Number", "Draw the frame number beside the current frame indicator.");
+
 }
 
 #endif





More information about the Bf-blender-cvs mailing list