Merged changes in the trunk up to revision 28536.
[blender.git] / source / blender / makesrna / intern / rna_scene.c
index 9bc73dddf2248768e614142e9aa9f803415223d4..6d792355322dff75ba8fc908176a14509d339286 100644 (file)
@@ -156,6 +156,7 @@ EnumPropertyItem image_type_items[] = {
 #include "BKE_image.h"
 #include "BKE_mesh.h"
 #include "BKE_sound.h"
+#include "BKE_screen.h"
 
 #include "BLI_threads.h"
 #include "BLI_editVert.h"
@@ -273,11 +274,11 @@ static void rna_Scene_layer_set(PointerRNA *ptr, const int *values)
        scene->lay= ED_view3d_scene_layer_set(scene->lay, values);
 }
 
-static void rna_Scene_layer_update(Main *bmain, Scene *unused, PointerRNA *ptr)
+static void rna_Scene_view3d_update(Main *bmain, Scene *unused, PointerRNA *ptr)
 {
        Scene *scene= (Scene*)ptr->data;
 
-       ED_view3d_scene_layers_update(bmain, scene);
+       BKE_screen_view3d_main_sync(&bmain->screen, scene);
 }
 
 static void rna_Scene_current_frame_set(PointerRNA *ptr, int value)
@@ -1404,48 +1405,56 @@ void rna_def_render_layer_common(StructRNA *srna, int scene)
        prop= RNA_def_property(srna, "pass_specular_exclude", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "pass_xor", SCE_PASS_SPEC);
        RNA_def_property_ui_text(prop, "Specular Exclude", "Exclude specular pass from combined");
+       RNA_def_property_ui_icon(prop, ICON_RESTRICT_RENDER_OFF, 1);
        if(scene) RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, "rna_SceneRenderLayer_pass_update");
        else RNA_def_property_clear_flag(prop, PROP_EDITABLE);
 
        prop= RNA_def_property(srna, "pass_shadow_exclude", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "pass_xor", SCE_PASS_SHADOW);
        RNA_def_property_ui_text(prop, "Shadow Exclude", "Exclude shadow pass from combined");
+       RNA_def_property_ui_icon(prop, ICON_RESTRICT_RENDER_OFF, 1);
        if(scene) RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, "rna_SceneRenderLayer_pass_update");
        else RNA_def_property_clear_flag(prop, PROP_EDITABLE);
 
        prop= RNA_def_property(srna, "pass_ao_exclude", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "pass_xor", SCE_PASS_AO);
        RNA_def_property_ui_text(prop, "AO Exclude", "Exclude AO pass from combined");
+       RNA_def_property_ui_icon(prop, ICON_RESTRICT_RENDER_OFF, 1);
        if(scene) RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, "rna_SceneRenderLayer_pass_update");
        else RNA_def_property_clear_flag(prop, PROP_EDITABLE);
        
        prop= RNA_def_property(srna, "pass_reflection_exclude", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "pass_xor", SCE_PASS_REFLECT);
        RNA_def_property_ui_text(prop, "Reflection Exclude", "Exclude raytraced reflection pass from combined");
+       RNA_def_property_ui_icon(prop, ICON_RESTRICT_RENDER_OFF, 1);
        if(scene) RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, "rna_SceneRenderLayer_pass_update");
        else RNA_def_property_clear_flag(prop, PROP_EDITABLE);
 
        prop= RNA_def_property(srna, "pass_refraction_exclude", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "pass_xor", SCE_PASS_REFRACT);
        RNA_def_property_ui_text(prop, "Refraction Exclude", "Exclude raytraced refraction pass from combined");
+       RNA_def_property_ui_icon(prop, ICON_RESTRICT_RENDER_OFF, 1);
        if(scene) RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, "rna_SceneRenderLayer_pass_update");
        else RNA_def_property_clear_flag(prop, PROP_EDITABLE);
 
        prop= RNA_def_property(srna, "pass_emit_exclude", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "pass_xor", SCE_PASS_EMIT);
        RNA_def_property_ui_text(prop, "Emit Exclude", "Exclude emission pass from combined");
+       RNA_def_property_ui_icon(prop, ICON_RESTRICT_RENDER_OFF, 1);
        if(scene) RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, "rna_SceneRenderLayer_pass_update");
        else RNA_def_property_clear_flag(prop, PROP_EDITABLE);
 
        prop= RNA_def_property(srna, "pass_environment_exclude", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "pass_xor", SCE_PASS_ENVIRONMENT);
        RNA_def_property_ui_text(prop, "Environment Exclude", "Exclude environment pass from combined");
+       RNA_def_property_ui_icon(prop, ICON_RESTRICT_RENDER_OFF, 1);
        if(scene) RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, "rna_SceneRenderLayer_pass_update");
        else RNA_def_property_clear_flag(prop, PROP_EDITABLE);
 
        prop= RNA_def_property(srna, "pass_indirect_exclude", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "pass_xor", SCE_PASS_INDIRECT);
        RNA_def_property_ui_text(prop, "Indirect Exclude", "Exclude indirect pass from combined");
+       RNA_def_property_ui_icon(prop, ICON_RESTRICT_RENDER_OFF, 1);
        if(scene) RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, "rna_SceneRenderLayer_pass_update");
        else RNA_def_property_clear_flag(prop, PROP_EDITABLE);
 }
@@ -1801,6 +1810,7 @@ static void rna_def_scene_render_layer(BlenderRNA *brna)
 
        srna= RNA_def_struct(brna, "SceneRenderLayer", NULL);
        RNA_def_struct_ui_text(srna, "Scene Render Layer", "Render layer");
+       RNA_def_struct_ui_icon(srna, ICON_RENDERLAYERS);
 
        rna_def_render_layer_common(srna, 1);
 
@@ -2938,7 +2948,7 @@ void RNA_def_scene(BlenderRNA *brna)
        prop= RNA_def_property(srna, "camera", PROP_POINTER, PROP_NONE);
        RNA_def_property_flag(prop, PROP_EDITABLE);
        RNA_def_property_ui_text(prop, "Camera", "Active camera used for rendering the scene");
-       RNA_def_property_update(prop, NC_SCENE, NULL);
+       RNA_def_property_update(prop, NC_SCENE|NA_EDITED, "rna_Scene_view3d_update");
 
        prop= RNA_def_property(srna, "set", PROP_POINTER, PROP_NONE);
        RNA_def_property_pointer_sdna(prop, NULL, "set");
@@ -2974,12 +2984,12 @@ void RNA_def_scene(BlenderRNA *brna)
        rna_def_scene_objects(brna, prop);
 
        /* Layers */
-       prop= RNA_def_property(srna, "visible_layers", PROP_BOOLEAN, PROP_LAYER_MEMBER);
+       prop= RNA_def_property(srna, "layers", PROP_BOOLEAN, PROP_LAYER_MEMBER);
        RNA_def_property_boolean_sdna(prop, NULL, "lay", 1);
        RNA_def_property_array(prop, 20);
        RNA_def_property_boolean_funcs(prop, NULL, "rna_Scene_layer_set");
-       RNA_def_property_ui_text(prop, "Visible Layers", "Layers visible when rendering the scene");
-       RNA_def_property_update(prop, NC_SCENE|ND_LAYER, "rna_Scene_layer_update");
+       RNA_def_property_ui_text(prop, "Layers", "Layers visible when rendering the scene");
+       RNA_def_property_update(prop, NC_SCENE|ND_LAYER, "rna_Scene_view3d_update");
        
        /* Frame Range Stuff */
        prop= RNA_def_property(srna, "frame_current", PROP_INT, PROP_TIME);