From 21c88df7c73dc35134de061a89b088985bbccadb Mon Sep 17 00:00:00 2001 From: Julian Eisel Date: Tue, 16 Feb 2016 14:50:26 +0100 Subject: Fix items in mode pie changing position by supporting more than 8 items in operator-enum pies Now a 'More' item is added to the pie when there are too many items. It opens a sub-pie that contains the remaining items. Note that this only touches operator-enum pies (like the object mode pie is), it is not a complete support for pies with more than 8 items. For this further design and code work would be needed, but this is too urgent to wait for that. This is a better fix for T46973, should definitely be applied for 2.77 release. Patch D1800 by myself with some edits by @campbellbarton, thanks! --- source/blender/editors/include/UI_interface.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'source/blender/editors/include') diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h index 617b0d12684..574c6d93cbf 100644 --- a/source/blender/editors/include/UI_interface.h +++ b/source/blender/editors/include/UI_interface.h @@ -977,7 +977,13 @@ void uiItemEnumR(uiLayout *layout, const char *name, int icon, struct PointerRNA void uiItemEnumR_string(uiLayout *layout, struct PointerRNA *ptr, const char *propname, const char *value, const char *name, int icon); void uiItemsEnumR(uiLayout *layout, struct PointerRNA *ptr, const char *propname); void uiItemPointerR(uiLayout *layout, struct PointerRNA *ptr, const char *propname, struct PointerRNA *searchptr, const char *searchpropname, const char *name, int icon); -void uiItemsFullEnumO(uiLayout *layout, const char *opname, const char *propname, struct IDProperty *properties, int context, int flag); +void uiItemsFullEnumO( + uiLayout *layout, const char *opname, const char *propname, + struct IDProperty *properties, int context, int flag); +void uiItemsFullEnumO_items( + uiLayout *layout, struct wmOperatorType *ot, PointerRNA ptr, PropertyRNA *prop, + IDProperty *properties, int context, int flag, + const EnumPropertyItem *item_array, int totitem); void uiItemL(uiLayout *layout, const char *name, int icon); /* label */ void uiItemLDrag(uiLayout *layout, struct PointerRNA *ptr, const char *name, int icon); /* label icon for dragging */ -- cgit v1.2.3