diff options
author | TempoDev <alexia.legrand@epitech.eu> | 2020-08-26 04:35:52 +0300 |
---|---|---|
committer | TempoDev <alexia.legrand@epitech.eu> | 2020-08-26 04:35:52 +0300 |
commit | 705acb423b54d71a99a8e630774cb3e4888df90f (patch) | |
tree | 781e13d053584e3dfcbc388b922fb8665cf18766 /source/blender/makesrna/intern | |
parent | 114987ee428762f549cecc44cd1d36fd449fe2bb (diff) |
Custom Menus : fix name of menus items
Diffstat (limited to 'source/blender/makesrna/intern')
-rw-r--r-- | source/blender/makesrna/intern/rna_userdef.c | 64 |
1 files changed, 17 insertions, 47 deletions
diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c index acb7994a9cc..80fec87a467 100644 --- a/source/blender/makesrna/intern/rna_userdef.c +++ b/source/blender/makesrna/intern/rna_userdef.c @@ -1313,51 +1313,6 @@ static const EnumPropertyItem *rna_UserDef_icons_itemf(bContext *UNUSED(C), return item; } -/*static const EnumPropertyItem *rna_UserDef_usermenus_items_itemf(bContext *UNUSED(C), - PointerRNA *ptr, - PropertyRNA *UNUSED(prop), - bool *r_free) -{ - int totitem = 0; - EnumPropertyItem *item = NULL; - - bUserMenu *bum = rna_UserDef_usermenus_get_current(ptr->data, false); - if (bum) { - - ListBase *lb = &bum->items; - int i = 0; - for (bUserMenuItem *umi = lb->first; umi; umi = umi->next, i++) { - EnumPropertyItem new_item; - if (!strcmp(umi->ui_name, "")) { - const char *name = " "; - - if (umi->type == USER_MENU_TYPE_MENU) { - bUserMenuItem_Menu *umi_mt = (bUserMenuItem_Menu *)umi; - MenuType *mt = WM_menutype_find(umi_mt->mt_idname, true); - name = (const char *)CTX_IFACE_(mt->translation_context, mt->label); - BLI_strncpy(umi->ui_name, name, FILE_MAX); - } - - new_item = (EnumPropertyItem){i + 1, name, 0, name, name}; - - } else { - new_item = (EnumPropertyItem){i + 1, umi->ui_name, 0, umi->ui_name, umi->ui_name}; - } - - if (umi->type == USER_MENU_TYPE_SEP) { - new_item = (EnumPropertyItem){i + 1, "___________", 0, "___________", "Separator"}; - } - - RNA_enum_item_add(&item, &totitem, &new_item); - } - } - - RNA_enum_item_end(&item, &totitem); - *r_free = true; - - return item; -}*/ - static void rna_UserDef_usermenus_item_add(UserDef *userdef, int index) { bUserMenu *um = rna_UserDef_usermenus_get_current(userdef, true); @@ -1511,6 +1466,22 @@ static int rna_UserDef_usermenus_item_type_get(PointerRNA *ptr) return 0; } +static void rna_UserDef_usermenus_item_name_get(PointerRNA *ptr, char *value) +{ + bUserMenuItem *umi = (bUserMenuItem *)(ptr->data); + + if (!*umi->ui_name) { + const char *name = " "; + if (umi->type == USER_MENU_TYPE_MENU) { + bUserMenuItem_Menu *umi_mt = (bUserMenuItem_Menu *)umi; + MenuType *mt = WM_menutype_find(umi_mt->mt_idname, true); + name = (const char *)CTX_IFACE_(mt->translation_context, mt->label); + BLI_strncpy(umi->ui_name, name, FILE_MAX); + } + } + BLI_strncpy(value, umi->ui_name, FILE_MAX); +} + static void rna_UserDef_usermenus_pie_set(PointerRNA *ptr, int value) { bUserMenusGroup *umg = (bUserMenusGroup *)ptr->data; @@ -1533,8 +1504,6 @@ static PointerRNA rna_UserDef_usermenus_item_op_prop_get(PointerRNA *ptr) if (umi_op->ptr) { return *(umi_op->ptr); } - - /*return rna_pointer_inherit_refine(ptr, &RNA_OperatorProperties, op->properties); */ return PointerRNA_NULL; } @@ -6657,6 +6626,7 @@ static void rna_def_userdef_usermenu(BlenderRNA *brna) prop = RNA_def_property(srna, "name", PROP_STRING, PROP_NONE); RNA_def_property_string_sdna(prop, NULL, "ui_name"); + RNA_def_property_string_funcs(prop, "rna_UserDef_usermenus_item_name_get", NULL, NULL); RNA_def_property_ui_text(prop, "Name", "Name of the item"); RNA_def_struct_name_property(srna, prop); |