[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27936] trunk/blender/source/blender/ editors/screen/screen_context.c: Added visible_bases and visible_objects to screen Context.

Elia Sarti vekoon at gmail.com
Thu Apr 1 21:48:30 CEST 2010


Revision: 27936
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27936
Author:   vekoon
Date:     2010-04-01 21:48:29 +0200 (Thu, 01 Apr 2010)

Log Message:
-----------
Added visible_bases and visible_objects to screen Context.
Also fixes [#21576] bpy.ops.object.select_all() doesn't function

Modified Paths:
--------------
    trunk/blender/source/blender/editors/screen/screen_context.c

Modified: trunk/blender/source/blender/editors/screen/screen_context.c
===================================================================
--- trunk/blender/source/blender/editors/screen/screen_context.c	2010-04-01 18:50:39 UTC (rev 27935)
+++ trunk/blender/source/blender/editors/screen/screen_context.c	2010-04-01 19:48:29 UTC (rev 27936)
@@ -60,7 +60,7 @@
 
 	if(CTX_data_dir(member)) {
 		static const char *dir[] = {
-			"scene", "selected_objects", "selected_bases",
+			"scene", "visible_objects", "visible_bases", "selected_objects", "selected_bases",
 			"selected_editable_objects", "selected_editable_bases",
 			"visible_bones", "editable_bones", "selected_bones", "selected_editable_bones",
 			"visible_pose_bones", "selected_pose_bones", "active_bone", "active_pose_bone",
@@ -75,6 +75,20 @@
 		CTX_data_id_pointer_set(result, &scene->id);
 		return 1;
 	}
+	else if(CTX_data_equals(member, "visible_objects") || CTX_data_equals(member, "visible_bases")) {
+		int visible_objects= CTX_data_equals(member, "visible_objects");
+
+		for(base=scene->base.first; base; base=base->next) {
+			if(((base->object->restrictflag & OB_RESTRICT_VIEW) == 0) && (base->lay & scene->lay)) {
+				if(visible_objects)
+					CTX_data_id_list_add(result, &base->object->id);
+				else
+					CTX_data_list_add(result, &scene->id, &RNA_ObjectBase, base);
+			}
+		}
+
+		return 1;
+	}
 	else if(CTX_data_equals(member, "selected_objects") || CTX_data_equals(member, "selected_bases")) {
 		int selected_objects= CTX_data_equals(member, "selected_objects");
 





More information about the Bf-blender-cvs mailing list