From 8e0dd1ab39d3d041b4093e2c43fdf6715da1add3 Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Thu, 10 Apr 2014 23:05:37 +0300 Subject: Make it possible to set filter text manually. --- lib/menu.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'lib/menu.c') diff --git a/lib/menu.c b/lib/menu.c index c5c98ad..cb0d3ee 100644 --- a/lib/menu.c +++ b/lib/menu.c @@ -116,6 +116,36 @@ void* bmMenuGetUserdata(bmMenu *menu) return menu->userdata; } +/** + * Set filter text to bmMenu instance. + * + * @param menu bmMenu instance where to set filter. + * @param filter Null terminated C "string" to act as filter. + */ +void bmMenuSetFilter(bmMenu *menu, const char *filter) +{ + assert(menu); + + if (!filter) { + memset(menu->filter, 0, sizeof(menu->filter)); + return; + } + + strncpy(menu->filter, filter, sizeof(menu->filter)); +} + +/** + * Get filter text from bmMenu instance. + * + * @param menu bmMenu instance where to get filter. + * @return Const pointer to current filter text, may be **NULL** if empty. + */ +const char* bmMenuGetFilter(bmMenu *menu) +{ + assert(menu); + return menu->filter; +} + /** * Set active filter mode to bmMenu instance. * -- cgit v1.2.3-70-g09d2