[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [37947] branches/soc-2011-pepper: Animation Editors - Small Visual Tweaks for Usability

Joshua Leung aligorith at gmail.com
Wed Jun 29 15:00:19 CEST 2011


Revision: 37947
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37947
Author:   aligorith
Date:     2011-06-29 13:00:19 +0000 (Wed, 29 Jun 2011)
Log Message:
-----------
Animation Editors - Small Visual Tweaks for Usability

== Datablock filters in the headers are now hidden by default ==
This has been done because users were generally not frequently
toggling these, so quick access vs screen-estate cost wasn't really
worth it to have these always showing and taking up space on the
header.

Usage notes:
- To show these again, click on the "Filter more..." toggle.
- The "Filter more..." button DOES NOT affect whether those filters
apply.

Design notes:
- I tried many other button/icon combinations, but those were either
too space-hogging, vague, or had wrong button order.
- I also tried putting a box around these, but there was too much
padding.
- The ordering of the filters has also been modified a bit so that the
group/fcurve-name filters occur earlier in the list, given that
they're used more frequently

== Graph Editor - Use Fancy Drawing ==
Renamed this option to "Use High Quality Drawing" as suggested by
Matt. "Fancy" isn't really descriptive enough.

== Icons for Mode Dropdowns ==
The mode dropdowns in the DopeSheet and Graph Editors now have icons.
- These were important enough (compared to the auto-snap mode) that
some visual decoration was perhaps warranted.
- It makes it easier to see at a glance what mode the view is in

Icon choices:
- In some cases, the icons seem like quite a natural fit IMO (i.e.
outliner<->dopesheet, key<->shapekey editor, grease pencil, fcurve
editor)
- Action Editor uses an "object" icon to indicate that this is object-
level only for now (though I hope to find a way to address this
soon/later). This will be kept like this until then.
- There isn't any icon for drivers, so after trying a few
alternatives, I settled on area-link icon, since it ties together two
entities using some link.

Modified Paths:
--------------
    branches/soc-2011-pepper/release/scripts/startup/bl_ui/space_dopesheet.py
    branches/soc-2011-pepper/release/scripts/startup/bl_ui/space_graph.py
    branches/soc-2011-pepper/source/blender/makesdna/DNA_action_types.h
    branches/soc-2011-pepper/source/blender/makesrna/intern/rna_action.c
    branches/soc-2011-pepper/source/blender/makesrna/intern/rna_space.c

Modified: branches/soc-2011-pepper/release/scripts/startup/bl_ui/space_dopesheet.py
===================================================================
--- branches/soc-2011-pepper/release/scripts/startup/bl_ui/space_dopesheet.py	2011-06-29 12:39:01 UTC (rev 37946)
+++ branches/soc-2011-pepper/release/scripts/startup/bl_ui/space_dopesheet.py	2011-06-29 13:00:19 UTC (rev 37947)
@@ -33,14 +33,33 @@
     row.prop(dopesheet, "show_only_selected", text="")
     row.prop(dopesheet, "show_hidden", text="")
 
+    if is_nla:
+            row.prop(dopesheet, "show_missing_nla", text="")
+    
     if not genericFiltersOnly:
+        if bpy.data.groups:
+            row = layout.row(align=True)
+            row.prop(dopesheet, "show_only_group_objects", text="")
+            if dopesheet.show_only_group_objects:
+                row.prop(dopesheet, "filter_group", text="")
+
+    if not is_nla:
         row = layout.row(align=True)
+        row.prop(dopesheet, "show_only_matching_fcurves", text="")
+        if dopesheet.show_only_matching_fcurves:
+            row.prop(dopesheet, "filter_fcurve_name", text="")
+
+    row = layout.row()
+    row.prop(dopesheet, "show_datablock_filters", text="more...", icon='FILTER')
+
+    if (not genericFiltersOnly) and (dopesheet.show_datablock_filters):
+        # TODO: put a box around these?
+        subrow = row.row()
+        
+        row = subrow.row(align=True)
         row.prop(dopesheet, "show_transforms", text="")
 
-        if is_nla:
-            row.prop(dopesheet, "show_missing_nla", text="")
-
-        row = layout.row(align=True)
+        row = subrow.row(align=True)
         row.prop(dopesheet, "show_scenes", text="")
         row.prop(dopesheet, "show_worlds", text="")
         row.prop(dopesheet, "show_nodes", text="")
@@ -68,19 +87,7 @@
         if bpy.data.particles:
             row.prop(dopesheet, "show_particles", text="")
 
-        if bpy.data.groups:
-            row = layout.row(align=True)
-            row.prop(dopesheet, "show_only_group_objects", text="")
-            if dopesheet.show_only_group_objects:
-                row.prop(dopesheet, "filter_group", text="")
 
-    if not is_nla:
-        row = layout.row(align=True)
-        row.prop(dopesheet, "show_only_matching_fcurves", text="")
-        if dopesheet.show_only_matching_fcurves:
-            row.prop(dopesheet, "filter_fcurve_name", text="")
-
-
 #######################################
 # DopeSheet Editor - General/Standard UI
 

Modified: branches/soc-2011-pepper/release/scripts/startup/bl_ui/space_graph.py
===================================================================
--- branches/soc-2011-pepper/release/scripts/startup/bl_ui/space_graph.py	2011-06-29 12:39:01 UTC (rev 37946)
+++ branches/soc-2011-pepper/release/scripts/startup/bl_ui/space_graph.py	2011-06-29 13:00:19 UTC (rev 37947)
@@ -81,7 +81,7 @@
         layout.prop(st, "use_auto_merge_keyframes")
 
         layout.separator()
-        layout.prop(st, "use_fancy_drawing")
+        layout.prop(st, "use_beauty_drawing")
 
         layout.separator()
         if st.show_handles:

Modified: branches/soc-2011-pepper/source/blender/makesdna/DNA_action_types.h
===================================================================
--- branches/soc-2011-pepper/source/blender/makesdna/DNA_action_types.h	2011-06-29 12:39:01 UTC (rev 37946)
+++ branches/soc-2011-pepper/source/blender/makesdna/DNA_action_types.h	2011-06-29 13:00:19 UTC (rev 37947)
@@ -566,7 +566,8 @@
 
 /* DopeSheet general flags */
 typedef enum eDopeSheet_Flag {
-	ADS_FLAG_SUMMARY_COLLAPSED	= (1<<0)	/* when summary is shown, it is collapsed, so all other channels get hidden */
+	ADS_FLAG_SUMMARY_COLLAPSED	= (1<<0),	/* when summary is shown, it is collapsed, so all other channels get hidden */
+	ADS_FLAG_SHOW_DBFILTERS		= (1<<1)	/* show filters for datablocks */
 } eDopeSheet_Flag;
 
 

Modified: branches/soc-2011-pepper/source/blender/makesrna/intern/rna_action.c
===================================================================
--- branches/soc-2011-pepper/source/blender/makesrna/intern/rna_action.c	2011-06-29 12:39:01 UTC (rev 37946)
+++ branches/soc-2011-pepper/source/blender/makesrna/intern/rna_action.c	2011-06-29 13:00:19 UTC (rev 37947)
@@ -257,10 +257,17 @@
 	RNA_def_struct_ui_text(srna, "DopeSheet", "Settings for filtering the channels shown in Animation Editors");
 	
 	/* Source of DopeSheet data */
+	// XXX: make this obsolete?
 	prop= RNA_def_property(srna, "source", PROP_POINTER, PROP_NONE);
 	RNA_def_property_struct_type(prop, "ID");
 	RNA_def_property_ui_text(prop, "Source", "ID-Block representing source data, currently ID_SCE (for Dopesheet), and ID_SC (for Grease Pencil)");
 	
+	/* Show datablock filters */
+	prop= RNA_def_property(srna, "show_datablock_filters", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "flag", ADS_FLAG_SHOW_DBFILTERS);
+	RNA_def_property_ui_text(prop, "Show Datablock Filters", "Show options for whether channels related to certain types of data are included");
+	RNA_def_property_update(prop, NC_ANIMATION|ND_ANIMCHAN, NULL);
+	
 	/* General Filtering Settings */
 	prop= RNA_def_property(srna, "show_only_selected", PROP_BOOLEAN, PROP_NONE);
 	RNA_def_property_boolean_sdna(prop, NULL, "filterflag", ADS_FILTER_ONLYSEL);

Modified: branches/soc-2011-pepper/source/blender/makesrna/intern/rna_space.c
===================================================================
--- branches/soc-2011-pepper/source/blender/makesrna/intern/rna_space.c	2011-06-29 12:39:01 UTC (rev 37946)
+++ branches/soc-2011-pepper/source/blender/makesrna/intern/rna_space.c	2011-06-29 13:00:19 UTC (rev 37947)
@@ -1872,11 +1872,12 @@
 	StructRNA *srna;
 	PropertyRNA *prop;
 	
+	// XXX: action-editor is currently for object-level only actions, so show that using object-icon hint
 	static EnumPropertyItem mode_items[] = {
-		{SACTCONT_DOPESHEET, "DOPESHEET", 0, "DopeSheet", "DopeSheet Editor"},
-		{SACTCONT_ACTION, "ACTION", 0, "Action Editor", "Action Editor"},
-		{SACTCONT_SHAPEKEY, "SHAPEKEY", 0, "ShapeKey Editor", "ShapeKey Editor"},
-		{SACTCONT_GPENCIL, "GPENCIL", 0, "Grease Pencil", "Grease Pencil"},
+		{SACTCONT_DOPESHEET, "DOPESHEET", ICON_OOPS, "DopeSheet", "DopeSheet Editor"},
+		{SACTCONT_ACTION, "ACTION", ICON_OBJECT_DATA, "Action Editor", "Action Editor"},
+		{SACTCONT_SHAPEKEY, "SHAPEKEY", ICON_SHAPEKEY_DATA, "ShapeKey Editor", "ShapeKey Editor"},
+		{SACTCONT_GPENCIL, "GPENCIL", ICON_GREASEPENCIL, "Grease Pencil", "Grease Pencil"},
 		{0, NULL, 0, NULL, NULL}};
 		
 	
@@ -1955,8 +1956,8 @@
 	PropertyRNA *prop;
 	
 	static EnumPropertyItem mode_items[] = {
-		{SIPO_MODE_ANIMATION, "FCURVES", 0, "F-Curve Editor", "Edit f-curves"},
-		{SIPO_MODE_DRIVERS, "DRIVERS", 0, "Drivers", "Edit drivers"},
+		{SIPO_MODE_ANIMATION, "FCURVES", ICON_IPO, "F-Curve Editor", "Edit animation/keyframes displayed as 2D curves"},
+		{SIPO_MODE_DRIVERS, "DRIVERS", ICON_LINK_AREA, "Drivers", "Edit drivers"},
 		{0, NULL, 0, NULL, NULL}};
 		
 		/* this is basically the same as the one for the 3D-View, but with some entries ommitted */
@@ -2013,9 +2014,9 @@
 	RNA_def_property_ui_text(prop, "Only Selected Keyframes Handles", "Only show and edit handles of selected keyframes");
 	RNA_def_property_update(prop, NC_SPACE|ND_SPACE_GRAPH, NULL);
 	
-	prop= RNA_def_property(srna, "use_fancy_drawing", PROP_BOOLEAN, PROP_NONE);
+	prop= RNA_def_property(srna, "use_beauty_drawing", PROP_BOOLEAN, PROP_NONE);
 	RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", SIPO_BEAUTYDRAW_OFF);
-	RNA_def_property_ui_text(prop, "Use Fancy Drawing", "Draw F-Curves using Anti-Aliasing and other fancy effects. Disable for better performance");
+	RNA_def_property_ui_text(prop, "Use High Quality Drawing", "Draw F-Curves using Anti-Aliasing and other fancy effects. Disable for better performance");
 	RNA_def_property_update(prop, NC_SPACE|ND_SPACE_GRAPH, NULL);
 	
 	/* editing */




More information about the Bf-blender-cvs mailing list