[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [43737] trunk/blender: Action Constraint GUI - Refinements and Clarification

Joshua Leung aligorith at gmail.com
Fri Jan 27 02:31:10 CET 2012


Revision: 43737
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43737
Author:   aligorith
Date:     2012-01-27 01:30:58 +0000 (Fri, 27 Jan 2012)
Log Message:
-----------
Action Constraint GUI - Refinements and Clarification

While looking at a bug report, I found that the current GUI for the Action
Constraint actually didn't make sense, mixing up settings so that it wasn't
clear which settings corresponded to which others. This commit cleans up the
layout into a clearer two-column design to have a "from" -> "to" layout, making
all the
relationships between things clear.

For more details see http://aligorith.blogspot.com/2012/01/action-constraint-
gui-revised.html

Modified Paths:
--------------
    trunk/blender/release/scripts/startup/bl_ui/properties_object_constraint.py
    trunk/blender/source/blender/makesrna/intern/rna_constraint.c

Modified: trunk/blender/release/scripts/startup/bl_ui/properties_object_constraint.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/properties_object_constraint.py	2012-01-26 19:45:59 UTC (rev 43736)
+++ trunk/blender/release/scripts/startup/bl_ui/properties_object_constraint.py	2012-01-27 01:30:58 UTC (rev 43737)
@@ -434,26 +434,29 @@
     def ACTION(self, context, layout, con):
         self.target_template(layout, con)
 
-        layout.prop(con, "action")
-
-        layout.prop(con, "transform_channel")
-
         split = layout.split()
-
+        
+        col = split.column()
+        col.label(text="From Target:")
+        col.prop(con, "transform_channel", text="")
+        col.prop(con, "target_space", text="")
+        
+        col = split.column()
+        col.label(text="To Action:")
+        col.prop(con, "action", text="")
+        
+        split = layout.split()
+        
         col = split.column(align=True)
-        col.label(text="Action Length:")
-        col.prop(con, "frame_start", text="Start")
-        col.prop(con, "frame_end", text="End")
-
-        col = split.column(align=True)
         col.label(text="Target Range:")
         col.prop(con, "min", text="Min")
         col.prop(con, "max", text="Max")
+        
+        col = split.column(align=True)
+        col.label(text="Action Range:")
+        col.prop(con, "frame_start", text="Start")
+        col.prop(con, "frame_end", text="End")
 
-        row = layout.row()
-        row.label(text="Convert:")
-        row.prop(con, "target_space", text="")
-
     def LOCKED_TRACK(self, context, layout, con):
         self.target_template(layout, con)
 

Modified: trunk/blender/source/blender/makesrna/intern/rna_constraint.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_constraint.c	2012-01-26 19:45:59 UTC (rev 43736)
+++ trunk/blender/source/blender/makesrna/intern/rna_constraint.c	2012-01-27 01:30:58 UTC (rev 43737)
@@ -1026,15 +1026,15 @@
 	PropertyRNA *prop;
 
 	static EnumPropertyItem transform_channel_items[] = {
-		{20, "LOCATION_X", 0, "Location X", ""},
-		{21, "LOCATION_Y", 0, "Location Y", ""},
-		{22, "LOCATION_Z", 0, "Location Z", ""},
-		{00, "ROTATION_X", 0, "Rotation X", ""},
-		{01, "ROTATION_Y", 0, "Rotation Y", ""},
-		{02, "ROTATION_Z", 0, "Rotation Z", ""},
-		{10, "SCALE_X", 0, "Scale X", ""},
-		{11, "SCALE_Y", 0, "Scale Y", ""},
-		{12, "SCALE_Z", 0, "Scale Z", ""},
+		{20, "LOCATION_X", 0, "X Location", ""},
+		{21, "LOCATION_Y", 0, "Y Location", ""},
+		{22, "LOCATION_Z", 0, "Z Location", ""},
+		{00, "ROTATION_X", 0, "X Rotation", ""},
+		{01, "ROTATION_Y", 0, "Y Rotation", ""},
+		{02, "ROTATION_Z", 0, "Z Rotation", ""},
+		{10, "SCALE_X", 0, "Z Scale", ""},
+		{11, "SCALE_Y", 0, "Y Scale", ""},
+		{12, "SCALE_Z", 0, "Z Scale", ""},
 		{0, NULL, 0, NULL, NULL}};
 
 	srna= RNA_def_struct(brna, "ActionConstraint", "Constraint");
@@ -2011,12 +2011,12 @@
 	RNA_def_property_int_sdna(prop, NULL, "chainlen");
 	RNA_def_property_range(prop, 1, 255); // TODO: this should really check the max length of the chain the constraint is attached to
 	RNA_def_property_ui_text(prop, "Chain Length", "How many bones are included in the chain");
-	RNA_def_property_update(prop, NC_OBJECT|ND_CONSTRAINT, "rna_Constraint_dependency_update");
+	RNA_def_property_update(prop, NC_OBJECT|ND_CONSTRAINT, "rna_Constraint_dependency_update"); // XXX: this update goes wrong... needs extra flush?
 	
 	/* direct access to bindings */
 	// NOTE: only to be used by experienced users
 	prop= RNA_def_property(srna, "joint_bindings", PROP_FLOAT, PROP_FACTOR);
-	RNA_def_property_array(prop, 32); // XXX this is the maximum value allowed
+	RNA_def_property_array(prop, 32); // XXX this is the maximum value allowed - why? 
 	RNA_def_property_flag(prop, PROP_DYNAMIC);
 	RNA_def_property_dynamic_array_funcs(prop, "rna_SplineIKConstraint_joint_bindings_get_length");
 	RNA_def_property_float_funcs(prop, "rna_SplineIKConstraint_joint_bindings_get", "rna_SplineIKConstraint_joint_bindings_set", NULL);




More information about the Bf-blender-cvs mailing list