diff options
author | Thomas Dinges <blender@dingto.org> | 2009-08-15 23:40:09 +0400 |
---|---|---|
committer | Thomas Dinges <blender@dingto.org> | 2009-08-15 23:40:09 +0400 |
commit | 0ce5163cc0aa32df5450752da9056059a88f1fd5 (patch) | |
tree | a5aa62f012dba91b3d78935f608a06c1b69b4ef6 /source/blender/makesrna | |
parent | ca906df5ccdd0d1b0a600f073b5bad5251d42e07 (diff) |
2.5 3D_View:
Patch [#19031] (2.5) python menus for the view3d header
by Lorenzo Pierfederici (lento). Thanks!
* Added CTX_data_mode_string() to find out in which mode we're in.
* Added some "select" menus as a test.
This patch makes it basically possible to wrap the 3D View menus to python.
Diffstat (limited to 'source/blender/makesrna')
-rw-r--r-- | source/blender/makesrna/intern/rna_context.c | 16 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_ui_api.c | 9 |
2 files changed, 25 insertions, 0 deletions
diff --git a/source/blender/makesrna/intern/rna_context.c b/source/blender/makesrna/intern/rna_context.c index 5e164c6525f..5d45a3513d1 100644 --- a/source/blender/makesrna/intern/rna_context.c +++ b/source/blender/makesrna/intern/rna_context.c @@ -110,6 +110,18 @@ static PointerRNA rna_Context_user_preferences_get(PointerRNA *ptr) return newptr; } +static void rna_Context_mode_string_get(PointerRNA *ptr, char *value) +{ + bContext *C= (bContext*)ptr->data; + strcpy(value, CTX_data_mode_string(C)); +} + +static int rna_Context_mode_string_length(PointerRNA *ptr) +{ + bContext *C= (bContext*)ptr->data; + return strlen(CTX_data_mode_string(C)); +} + #else void RNA_def_context(BlenderRNA *brna) @@ -177,6 +189,10 @@ void RNA_def_context(BlenderRNA *brna) RNA_def_property_clear_flag(prop, PROP_EDITABLE); RNA_def_property_struct_type(prop, "UserPreferences"); RNA_def_property_pointer_funcs(prop, "rna_Context_user_preferences_get", NULL, NULL); + + prop= RNA_def_property(srna, "mode_string", PROP_STRING, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_string_funcs(prop, "rna_Context_mode_string_get", "rna_Context_mode_string_length", NULL); } #endif diff --git a/source/blender/makesrna/intern/rna_ui_api.c b/source/blender/makesrna/intern/rna_ui_api.c index e788250e407..40d300315f5 100644 --- a/source/blender/makesrna/intern/rna_ui_api.c +++ b/source/blender/makesrna/intern/rna_ui_api.c @@ -288,6 +288,15 @@ void RNA_api_ui_layout(StructRNA *srna) func= RNA_def_function(srna, "template_header_3D", "uiTemplateHeader3D"); RNA_def_function_flag(func, FUNC_USE_CONTEXT); + func= RNA_def_function(srna, "view3d_select_metaballmenu", "uiTemplate_view3d_select_metaballmenu"); + RNA_def_function_flag(func, FUNC_USE_CONTEXT); + func= RNA_def_function(srna, "view3d_select_armaturemenu", "uiTemplate_view3d_select_armaturemenu"); + RNA_def_function_flag(func, FUNC_USE_CONTEXT); + func= RNA_def_function(srna, "view3d_select_posemenu", "uiTemplate_view3d_select_posemenu"); + RNA_def_function_flag(func, FUNC_USE_CONTEXT); + func= RNA_def_function(srna, "view3d_select_faceselmenu", "uiTemplate_view3d_select_faceselmenu"); + RNA_def_function_flag(func, FUNC_USE_CONTEXT); + func= RNA_def_function(srna, "template_texture_image", "uiTemplateTextureImage"); RNA_def_function_flag(func, FUNC_USE_CONTEXT); parm= RNA_def_pointer(func, "texture", "Texture", "", ""); |