From 4a788a227702d373873c7d6769d6d46201df1b43 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 22 May 2012 13:43:36 +0000 Subject: [PATCH] expose absolute shape keyblock interpolation in the ui --- .../startup/bl_ui/properties_data_mesh.py | 1 + source/blender/makesrna/RNA_enum_types.h | 2 ++ source/blender/makesrna/intern/rna_key.c | 18 +++++++++--------- source/blender/makesrna/intern/rna_lattice.c | 14 ++++---------- 4 files changed, 16 insertions(+), 19 deletions(-) diff --git a/release/scripts/startup/bl_ui/properties_data_mesh.py b/release/scripts/startup/bl_ui/properties_data_mesh.py index fd96fa4a0ce..7ca464ce055 100644 --- a/release/scripts/startup/bl_ui/properties_data_mesh.py +++ b/release/scripts/startup/bl_ui/properties_data_mesh.py @@ -262,6 +262,7 @@ class DATA_PT_shape_keys(MeshButtonsPanel, Panel): col.prop_search(kb, "relative_key", key, "key_blocks", text="") else: + layout.prop(kb, "interpolation") row = layout.column() row.active = enable_edit_value row.prop(key, "eval_time") diff --git a/source/blender/makesrna/RNA_enum_types.h b/source/blender/makesrna/RNA_enum_types.h index 1b8772ffbcd..21eba3faf02 100644 --- a/source/blender/makesrna/RNA_enum_types.h +++ b/source/blender/makesrna/RNA_enum_types.h @@ -60,6 +60,8 @@ extern EnumPropertyItem beztriple_handle_type_items[]; extern EnumPropertyItem beztriple_interpolation_mode_items[]; extern EnumPropertyItem keyframe_handle_type_items[]; +extern EnumPropertyItem keyblock_type_items[]; + extern EnumPropertyItem keyingset_path_grouping_items[]; extern EnumPropertyItem keyframe_paste_offset_items[]; diff --git a/source/blender/makesrna/intern/rna_key.c b/source/blender/makesrna/intern/rna_key.c index 5a56518e498..c2d730f5ed9 100644 --- a/source/blender/makesrna/intern/rna_key.c +++ b/source/blender/makesrna/intern/rna_key.c @@ -445,6 +445,13 @@ static char *rna_ShapeKeyPoint_path(PointerRNA *ptr) #else +EnumPropertyItem keyblock_type_items[] = { + {KEY_LINEAR, "KEY_LINEAR", 0, "Linear", ""}, + {KEY_CARDINAL, "KEY_CARDINAL", 0, "Cardinal", ""}, + {KEY_BSPLINE, "KEY_BSPLINE", 0, "BSpline", ""}, + {0, NULL, 0, NULL, NULL} +}; + static void rna_def_keydata(BlenderRNA *brna) { StructRNA *srna; @@ -515,13 +522,6 @@ static void rna_def_keyblock(BlenderRNA *brna) StructRNA *srna; PropertyRNA *prop; - static EnumPropertyItem prop_keyblock_type_items[] = { - {KEY_LINEAR, "KEY_LINEAR", 0, "Linear", ""}, - {KEY_CARDINAL, "KEY_CARDINAL", 0, "Cardinal", ""}, - {KEY_BSPLINE, "KEY_BSPLINE", 0, "BSpline", ""}, - {0, NULL, 0, NULL, NULL} - }; - srna = RNA_def_struct(brna, "ShapeKey", NULL); RNA_def_struct_ui_text(srna, "Shape Key", "Shape key in a shape keys datablock"); RNA_def_struct_sdna(srna, "KeyBlock"); @@ -551,8 +551,8 @@ static void rna_def_keyblock(BlenderRNA *brna) prop = RNA_def_property(srna, "interpolation", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "type"); - RNA_def_property_enum_items(prop, prop_keyblock_type_items); - RNA_def_property_ui_text(prop, "Interpolation", "Interpolation type"); + RNA_def_property_enum_items(prop, keyblock_type_items); + RNA_def_property_ui_text(prop, "Interpolation", "Interpolation type for absolute shape keys"); RNA_def_property_update(prop, 0, "rna_Key_update_data"); prop = RNA_def_property(srna, "vertex_group", PROP_STRING, PROP_NONE); diff --git a/source/blender/makesrna/intern/rna_lattice.c b/source/blender/makesrna/intern/rna_lattice.c index a50389f01c1..6e42b47afce 100644 --- a/source/blender/makesrna/intern/rna_lattice.c +++ b/source/blender/makesrna/intern/rna_lattice.c @@ -28,6 +28,7 @@ #include #include "RNA_define.h" +#include "RNA_enum_types.h" #include "rna_internal.h" @@ -248,13 +249,6 @@ static void rna_def_lattice(BlenderRNA *brna) StructRNA *srna; PropertyRNA *prop; - static EnumPropertyItem prop_keyblock_type_items[] = { - {KEY_LINEAR, "KEY_LINEAR", 0, "Linear", ""}, - {KEY_CARDINAL, "KEY_CARDINAL", 0, "Cardinal", ""}, - {KEY_BSPLINE, "KEY_BSPLINE", 0, "BSpline", ""}, - {0, NULL, 0, NULL, NULL} - }; - srna = RNA_def_struct(brna, "Lattice", "ID"); RNA_def_struct_ui_text(srna, "Lattice", "Lattice datablock defining a grid for deforming other objects"); RNA_def_struct_ui_icon(srna, ICON_LATTICE_DATA); @@ -285,19 +279,19 @@ static void rna_def_lattice(BlenderRNA *brna) prop = RNA_def_property(srna, "interpolation_type_u", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "typeu"); - RNA_def_property_enum_items(prop, prop_keyblock_type_items); + RNA_def_property_enum_items(prop, keyblock_type_items); RNA_def_property_ui_text(prop, "Interpolation Type U", ""); RNA_def_property_update(prop, 0, "rna_Lattice_update_data"); prop = RNA_def_property(srna, "interpolation_type_v", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "typev"); - RNA_def_property_enum_items(prop, prop_keyblock_type_items); + RNA_def_property_enum_items(prop, keyblock_type_items); RNA_def_property_ui_text(prop, "Interpolation Type V", ""); RNA_def_property_update(prop, 0, "rna_Lattice_update_data"); prop = RNA_def_property(srna, "interpolation_type_w", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "typew"); - RNA_def_property_enum_items(prop, prop_keyblock_type_items); + RNA_def_property_enum_items(prop, keyblock_type_items); RNA_def_property_ui_text(prop, "Interpolation Type W", ""); RNA_def_property_update(prop, 0, "rna_Lattice_update_data");