use a search popup for the add group menu item when there are more then 10.

This commit is contained in:
Campbell Barton
2010-01-20 13:38:17 +00:00
parent 973128dc66
commit e7686b4cdb
2 changed files with 7 additions and 1 deletions

View File

@@ -222,7 +222,11 @@ class INFO_MT_add(bpy.types.Menu):
layout.operator_menu_enum("object.effector_add", "type", 'EMPTY', text="Force Field", icon='OUTLINER_OB_EMPTY')
layout.separator()
layout.operator_menu_enum("object.group_instance_add", "type", text="Group Instance", icon='OUTLINER_OB_EMPTY')
if(len(bpy.data.groups) > 10):
layout.operator_context = 'INVOKE_DEFAULT'
layout.operator("object.group_instance_add", "type", text="Group Instance...", icon='OUTLINER_OB_EMPTY')
else:
layout.operator_menu_enum("object.group_instance_add", "type", text="Group Instance", icon='OUTLINER_OB_EMPTY')
class INFO_MT_game(bpy.types.Menu):

View File

@@ -847,6 +847,7 @@ void OBJECT_OT_group_instance_add(wmOperatorType *ot)
ot->idname= "OBJECT_OT_group_instance_add";
/* api callbacks */
ot->invoke= WM_enum_search_invoke;
ot->exec= group_instance_add_exec;
ot->poll= ED_operator_scene_editable;
@@ -857,6 +858,7 @@ void OBJECT_OT_group_instance_add(wmOperatorType *ot)
/* properties */
prop= RNA_def_enum(ot->srna, "type", DummyRNA_NULL_items, 0, "Type", "");
RNA_def_enum_funcs(prop, RNA_group_itemf);
ot->prop= prop;
ED_object_add_generic_props(ot, FALSE);
}