diff options
author | Julian Eisel <eiseljulian@gmail.com> | 2016-02-16 16:50:26 +0300 |
---|---|---|
committer | Julian Eisel <eiseljulian@gmail.com> | 2016-02-16 17:04:33 +0300 |
commit | 21c88df7c73dc35134de061a89b088985bbccadb (patch) | |
tree | aef49841af2b4e8e1dfb839a05e8dbf2490b3766 /source/blender/editors/include/UI_interface.h | |
parent | 8f944789cdecb9e99254a55ac646e431f7e3bfe1 (diff) |
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!
Diffstat (limited to 'source/blender/editors/include/UI_interface.h')
-rw-r--r-- | source/blender/editors/include/UI_interface.h | 8 |
1 files changed, 7 insertions, 1 deletions
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 */ |