diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-11-18 13:34:45 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-11-18 13:34:45 +0400 |
commit | e1250f2168b813a09d4b3b6577eae693bc219dee (patch) | |
tree | a2fcd3a384dfa7492de9f86718ca4de81b4b19aa /source/blender/makesrna | |
parent | 5600d214f1f2f05e98fd6f4d5f86bdff01e8b3f8 (diff) | |
parent | d498dd393970c4bfddaf3236433171c4274776d8 (diff) |
svn merge ^/trunk/blender -r41954:41961
Diffstat (limited to 'source/blender/makesrna')
-rw-r--r-- | source/blender/makesrna/intern/rna_define.c | 12 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_scene.c | 39 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_userdef.c | 2 |
3 files changed, 47 insertions, 6 deletions
diff --git a/source/blender/makesrna/intern/rna_define.c b/source/blender/makesrna/intern/rna_define.c index d4756ecfefa..48274ffbd7a 100644 --- a/source/blender/makesrna/intern/rna_define.c +++ b/source/blender/makesrna/intern/rna_define.c @@ -2409,9 +2409,15 @@ PropertyRNA *RNA_def_float_rotation(StructOrFunctionRNA *cont_, const char *iden ContainerRNA *cont= cont_; PropertyRNA *prop; - prop= RNA_def_property(cont, identifier, PROP_FLOAT, PROP_EULER); // XXX - if(len != 0) RNA_def_property_array(prop, len); - if(default_value) RNA_def_property_float_array_default(prop, default_value); + prop= RNA_def_property(cont, identifier, PROP_FLOAT, (len != 0) ? PROP_EULER : PROP_ANGLE); + if(len != 0) { + RNA_def_property_array(prop, len); + if(default_value) RNA_def_property_float_array_default(prop, default_value); + } + else { + /* RNA_def_property_float_default must be called outside */ + BLI_assert(default_value == NULL); + } if(hardmin != hardmax) RNA_def_property_range(prop, hardmin, hardmax); RNA_def_property_ui_text(prop, ui_name, ui_description); RNA_def_property_ui_range(prop, softmin, softmax, 1, 3); diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index d8c48760564..afe11656aee 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -736,6 +736,28 @@ static void rna_RenderSettings_active_layer_set(PointerRNA *ptr, PointerRNA valu if (index != -1) rd->actlay= index; } +static SceneRenderLayer *rna_RenderLayer_new(ID *id, RenderData *UNUSED(rd), const char *name) +{ + Scene *scene= (Scene *)id; + SceneRenderLayer *srl= scene_add_render_layer(scene, name); + + WM_main_add_notifier(NC_SCENE|ND_RENDER_OPTIONS, NULL); + + return srl; +} + +static void rna_RenderLayer_remove(ID *id, RenderData *UNUSED(rd), Main *bmain, ReportList *reports, SceneRenderLayer *srl) +{ + Scene *scene= (Scene *)id; + + if (!scene_remove_render_layer(bmain, scene, srl)) { + BKE_reportf(reports, RPT_ERROR, "RenderLayer '%s' could not be removed from scene '%s'", srl->name, scene->id.name+2); + } + else { + WM_main_add_notifier(NC_SCENE|ND_RENDER_OPTIONS, NULL); + } +} + static void rna_RenderSettings_engine_set(PointerRNA *ptr, int value) { RenderData *rd= (RenderData*)ptr->data; @@ -2188,8 +2210,8 @@ static void rna_def_render_layers(BlenderRNA *brna, PropertyRNA *cprop) StructRNA *srna; PropertyRNA *prop; - // FunctionRNA *func; - // PropertyRNA *parm; + FunctionRNA *func; + PropertyRNA *parm; RNA_def_property_srna(cprop, "RenderLayers"); srna= RNA_def_struct(brna, "RenderLayers", NULL); @@ -2211,6 +2233,19 @@ static void rna_def_render_layers(BlenderRNA *brna, PropertyRNA *cprop) RNA_def_property_ui_text(prop, "Active Render Layer", "Active Render Layer"); RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL); + func= RNA_def_function(srna, "new", "rna_RenderLayer_new"); + RNA_def_function_ui_description(func, "Add a render layer to scene"); + RNA_def_function_flag(func, FUNC_USE_SELF_ID); + parm= RNA_def_string(func, "name", "RenderLayer", 0, "", "New name for the marker (not unique)"); + RNA_def_property_flag(parm, PROP_REQUIRED); + parm= RNA_def_pointer(func, "result", "SceneRenderLayer", "", "Newly created render layer"); + RNA_def_function_return(func, parm); + + func= RNA_def_function(srna, "remove", "rna_RenderLayer_remove"); + RNA_def_function_ui_description(func, "Remove a render layer"); + RNA_def_function_flag(func, FUNC_USE_MAIN|FUNC_USE_REPORTS|FUNC_USE_SELF_ID); + parm= RNA_def_pointer(func, "layer", "SceneRenderLayer", "", "Timeline marker to remove"); + RNA_def_property_flag(parm, PROP_REQUIRED|PROP_NEVER_NULL); } static void rna_def_scene_render_data(BlenderRNA *brna) diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c index 4c53011390f..329a8b70d85 100644 --- a/source/blender/makesrna/intern/rna_userdef.c +++ b/source/blender/makesrna/intern/rna_userdef.c @@ -2620,7 +2620,7 @@ static void rna_def_userdef_system(BlenderRNA *brna) {4, "ITALIAN", 0, "Italian (Italiano)", "it_IT"}, {15, "RUSSIAN", 0, "Russian (Русский)", "ru_RU"}, {13, "SIMPLIFIED_CHINESE", 0, "Simplified Chinese (简体中文)", "zh_CN"}, - {9, "SPANISH", 0, "Spanish (Español)", "es_ES"}, + {9, "SPANISH", 0, "Spanish (Español)", "es"}, {0, "", 0, "In progress", ""}, {2, "JAPANESE", 0, "Japanese (日本語)", "ja_JP"}, {3, "DUTCH", 0, "Dutch (Nederlandse taal)", "nl_NL"}, |