Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2016-03-02 05:57:16 +0300
committerCampbell Barton <ideasman42@gmail.com>2016-03-02 05:57:16 +0300
commit69b66d549bcc82b5667916e647d43578bada5dd2 (patch)
treed547988157561f79aefe5e3ee0cb7a2119c68c52 /source/blender/editors/interface/interface.c
parentaefb68c84d574359a20f61868b84b320b4aa0496 (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.c18
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;