diff options
author | Campbell Barton <ideasman42@gmail.com> | 2016-03-02 05:57:16 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2016-03-02 05:57:16 +0300 |
commit | 69b66d549bcc82b5667916e647d43578bada5dd2 (patch) | |
tree | d547988157561f79aefe5e3ee0cb7a2119c68c52 /source/blender/editors/interface/interface.c | |
parent | aefb68c84d574359a20f61868b84b320b4aa0496 (diff) |
UI: Add search-create callback
Needed to support alternate search UI's, no functional changes.
Diffstat (limited to 'source/blender/editors/interface/interface.c')
-rw-r--r-- | source/blender/editors/interface/interface.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c index bca37947ace..32c9177fafe 100644 --- a/source/blender/editors/interface/interface.c +++ b/source/blender/editors/interface/interface.c @@ -4320,9 +4320,19 @@ uiBut *uiDefSearchBut(uiBlock *block, void *arg, int retval, int icon, int maxle * \param arg: user value, * \param active: when set, button opens with this item visible and selected. */ -void UI_but_func_search_set(uiBut *but, uiButSearchFunc sfunc, void *arg, uiButHandleFunc bfunc, void *active) +void UI_but_func_search_set( + uiBut *but, + uiButSearchCreateFunc search_create_func, + uiButSearchFunc search_func, void *arg, + uiButHandleFunc bfunc, void *active) { - but->search_func = sfunc; + /* needed since callers don't have access to internal functions (as an alternative we could expose it) */ + if (search_create_func == NULL) { + search_create_func = ui_searchbox_create_generic; + } + + but->search_create_func = search_create_func; + but->search_func = search_func; but->search_arg = arg; UI_but_func_set(but, bfunc, arg, active); @@ -4400,7 +4410,9 @@ uiBut *uiDefSearchButO_ptr( uiBut *but; but = uiDefSearchBut(block, arg, retval, icon, maxlen, x, y, width, height, a1, a2, tip); - UI_but_func_search_set(but, operator_enum_search_cb, but, operator_enum_call_cb, NULL); + UI_but_func_search_set( + but, ui_searchbox_create_generic, operator_enum_search_cb, + but, operator_enum_call_cb, NULL); but->optype = ot; but->opcontext = WM_OP_EXEC_DEFAULT; |