diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-11-24 09:15:48 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-11-24 09:15:48 +0400 |
commit | dd9a2ead2754298547e09ab67bf93742320254a8 (patch) | |
tree | c420f610638ca7352b706c8566157ceefc8b2311 /source/blender/editors/interface/interface_layout.c | |
parent | d3a01ceeead2e84332152ffe77b8d9d7a857468b (diff) |
add ENUM support for layout.prop_search() / uiItemPointerR
Diffstat (limited to 'source/blender/editors/interface/interface_layout.c')
-rw-r--r-- | source/blender/editors/interface/interface_layout.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c index 7fa0f79b14d..9759c22f30e 100644 --- a/source/blender/editors/interface/interface_layout.c +++ b/source/blender/editors/interface/interface_layout.c @@ -1384,6 +1384,12 @@ void ui_but_add_search(uiBut *but, PointerRNA *ptr, PropertyRNA *prop, PointerRN but->rnasearchprop = searchprop; but->flag |= UI_ICON_LEFT | UI_TEXT_LEFT; + if (RNA_property_type(prop) == PROP_ENUM) { + /* XXX, this will have a menu string, + * but in this case we just want the text */ + but->str[0] = 0; + } + uiButSetSearchFunc(but, rna_search_cb, but, NULL, NULL); } } @@ -1407,8 +1413,8 @@ void uiItemPointerR(uiLayout *layout, struct PointerRNA *ptr, const char *propna } type = RNA_property_type(prop); - if (!ELEM(type, PROP_POINTER, PROP_STRING)) { - RNA_warning("Property %s must be a pointer or string", propname); + if (!ELEM3(type, PROP_POINTER, PROP_STRING, PROP_ENUM)) { + RNA_warning("Property %s must be a pointer, string or enum", propname); return; } |