diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-09-03 11:25:37 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-09-03 11:25:37 +0400 |
commit | d0c54d3d0e77f0ed6b73ed5c3ac100ebd5e58660 (patch) | |
tree | e20fc4af058ed1a1dd48f0c8100c32988769b1a4 /source/blender/makesrna | |
parent | 870469ec0e49f47b61fe9bda27c4b11fdd955d6b (diff) |
use set as a suffix (matches operators)
- set_frame() --> frame_set()
- set_context_pointer() --> context_pointer_set()
material adding works for curves and metaballs, new function to remove materials.
materials.link() didnt well fit how this is used elsewhere
- order matters
- it can be linked more than once.
- remove(material), isnt that useful since you need to manage indicies.
... use list style functions instead. materials.append(mat) / materials.pop(index)
Diffstat (limited to 'source/blender/makesrna')
-rw-r--r-- | source/blender/makesrna/intern/rna_ID.c | 27 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_curve.c | 1 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_mesh.c | 25 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_meta.c | 1 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_scene_api.c | 4 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_ui_api.c | 2 |
6 files changed, 33 insertions, 27 deletions
diff --git a/source/blender/makesrna/intern/rna_ID.c b/source/blender/makesrna/intern/rna_ID.c index a8b7fb1540b..b9ef92cdca1 100644 --- a/source/blender/makesrna/intern/rna_ID.c +++ b/source/blender/makesrna/intern/rna_ID.c @@ -71,6 +71,7 @@ EnumPropertyItem id_type_items[] = { #include "BKE_idprop.h" #include "BKE_library.h" #include "BKE_animsys.h" +#include "BKE_material.h" /* name functions that ignore the first two ID characters */ void rna_ID_name_get(PointerRNA *ptr, char *value) @@ -331,6 +332,31 @@ static void rna_def_ID_properties(BlenderRNA *brna) RNA_def_struct_name_property(srna, prop); } + +static void rna_def_ID_materials(BlenderRNA *brna) +{ + StructRNA *srna; + FunctionRNA *func; + PropertyRNA *parm; + + /* for mesh/mball/curve materials */ + srna= RNA_def_struct(brna, "IDMaterials", NULL); + RNA_def_struct_sdna(srna, "ID"); + RNA_def_struct_ui_text(srna, "ID Materials", "Collection of materials"); + + func= RNA_def_function(srna, "append", "material_append_id"); + RNA_def_function_ui_description(func, "Add a new material to Mesh."); + parm= RNA_def_pointer(func, "material", "Material", "", "Material to add."); + RNA_def_property_flag(parm, PROP_REQUIRED); + + func= RNA_def_function(srna, "pop", "material_pop_id"); + RNA_def_function_ui_description(func, "Add a new material to Mesh."); + parm= RNA_def_int(func, "index", 0, 0, INT_MAX, "", "Frame number to set.", 0, INT_MAX); + RNA_def_property_flag(parm, PROP_REQUIRED); + parm= RNA_def_pointer(func, "material", "Material", "", "Material to add."); + RNA_def_function_return(func, parm); +} + static void rna_def_ID(BlenderRNA *brna) { StructRNA *srna; @@ -422,6 +448,7 @@ void RNA_def_ID(BlenderRNA *brna) rna_def_ID(brna); rna_def_ID_properties(brna); + rna_def_ID_materials(brna); rna_def_library(brna); } diff --git a/source/blender/makesrna/intern/rna_curve.c b/source/blender/makesrna/intern/rna_curve.c index fb6da576811..e28212470c3 100644 --- a/source/blender/makesrna/intern/rna_curve.c +++ b/source/blender/makesrna/intern/rna_curve.c @@ -1261,6 +1261,7 @@ static void rna_def_curve(BlenderRNA *brna) RNA_def_property_collection_sdna(prop, NULL, "mat", "totcol"); RNA_def_property_struct_type(prop, "Material"); RNA_def_property_ui_text(prop, "Materials", ""); + RNA_def_property_srna(prop, "IDMaterials"); /* see rna_ID.c */ } static void rna_def_curve_nurb(BlenderRNA *brna) diff --git a/source/blender/makesrna/intern/rna_mesh.c b/source/blender/makesrna/intern/rna_mesh.c index 741b5cbab81..db5a2062359 100644 --- a/source/blender/makesrna/intern/rna_mesh.c +++ b/source/blender/makesrna/intern/rna_mesh.c @@ -1781,29 +1781,6 @@ static void rna_def_uv_textures(BlenderRNA *brna, PropertyRNA *cprop) RNA_def_property_update(prop, 0, "rna_Mesh_update_data"); } -/* mesh.materials */ -static void rna_def_mesh_materials(BlenderRNA *brna, PropertyRNA *cprop) -{ - StructRNA *srna; - // PropertyRNA *prop; - - FunctionRNA *func; - PropertyRNA *parm; - - RNA_def_property_srna(cprop, "MeshMaterials"); - srna= RNA_def_struct(brna, "MeshMaterials", NULL); - RNA_def_struct_sdna(srna, "Mesh"); - RNA_def_struct_ui_text(srna, "Mesh Materials", "Collection of materials"); - - func= RNA_def_function(srna, "link", "ED_mesh_material_link"); - RNA_def_function_ui_description(func, "Add a new material to Mesh."); - parm= RNA_def_pointer(func, "material", "Material", "", "Material to add."); - RNA_def_property_flag(parm, PROP_REQUIRED); - - /* TODO, unlink? */ -} - - static void rna_def_mesh(BlenderRNA *brna) { StructRNA *srna; @@ -1951,7 +1928,7 @@ static void rna_def_mesh(BlenderRNA *brna) RNA_def_property_collection_sdna(prop, NULL, "mat", "totcol"); RNA_def_property_struct_type(prop, "Material"); RNA_def_property_ui_text(prop, "Materials", ""); - rna_def_mesh_materials(brna, prop); + RNA_def_property_srna(prop, "IDMaterials"); /* see rna_ID.c */ /* Mesh Draw Options for Edit Mode*/ diff --git a/source/blender/makesrna/intern/rna_meta.c b/source/blender/makesrna/intern/rna_meta.c index 9bb25ac2cda..18dfd05b971 100644 --- a/source/blender/makesrna/intern/rna_meta.c +++ b/source/blender/makesrna/intern/rna_meta.c @@ -325,6 +325,7 @@ static void rna_def_metaball(BlenderRNA *brna) RNA_def_property_collection_sdna(prop, NULL, "mat", "totcol"); RNA_def_property_struct_type(prop, "Material"); RNA_def_property_ui_text(prop, "Materials", ""); + RNA_def_property_srna(prop, "IDMaterials"); /* see rna_ID.c */ /* anim */ rna_def_animdata_common(srna); diff --git a/source/blender/makesrna/intern/rna_scene_api.c b/source/blender/makesrna/intern/rna_scene_api.c index 04fbae894d0..f6a6453c703 100644 --- a/source/blender/makesrna/intern/rna_scene_api.c +++ b/source/blender/makesrna/intern/rna_scene_api.c @@ -47,7 +47,7 @@ -static void rna_Scene_set_frame(Scene *scene, int frame, float subframe) +static void rna_Scene_frame_set(Scene *scene, int frame, float subframe) { scene->r.cfra= frame; scene->r.subframe= subframe; @@ -78,7 +78,7 @@ void RNA_api_scene(StructRNA *srna) FunctionRNA *func; PropertyRNA *parm; - func= RNA_def_function(srna, "set_frame", "rna_Scene_set_frame"); + func= RNA_def_function(srna, "frame_set", "rna_Scene_frame_set"); RNA_def_function_ui_description(func, "Set scene frame updating all objects immediately."); parm= RNA_def_int(func, "frame", 0, MINAFRAME, MAXFRAME, "", "Frame number to set.", MINAFRAME, MAXFRAME); RNA_def_property_flag(parm, PROP_REQUIRED); diff --git a/source/blender/makesrna/intern/rna_ui_api.c b/source/blender/makesrna/intern/rna_ui_api.c index 4f5c8094c14..1d86faa5e53 100644 --- a/source/blender/makesrna/intern/rna_ui_api.c +++ b/source/blender/makesrna/intern/rna_ui_api.c @@ -259,7 +259,7 @@ void RNA_api_ui_layout(StructRNA *srna) RNA_def_function_ui_description(func, "Item. Inserts empty space into the layout between items."); /* context */ - func= RNA_def_function(srna, "set_context_pointer", "uiLayoutSetContextPointer"); + func= RNA_def_function(srna, "context_pointer_set", "uiLayoutSetContextPointer"); parm= RNA_def_string(func, "name", "", 0, "Name", "Name of entry in the context."); RNA_def_property_flag(parm, PROP_REQUIRED); parm= RNA_def_pointer(func, "data", "AnyType", "", "Pointer to put in context."); |