From 0c31a7c3ae29fbf3dd42084dc67e6e95f00200bd Mon Sep 17 00:00:00 2001 From: "bernard.xiong@gmail.com" Date: Tue, 17 Aug 2010 23:29:32 +0000 Subject: [PATCH] add widget parameter in item action function callback. git-svn-id: https://rt-thread.googlecode.com/svn/trunk@863 bbd45198-f89e-11dd-88c7-29a3b14d5316 --- components/rtgui/include/rtgui/widgets/list_view.h | 2 +- components/rtgui/widgets/list_view.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/components/rtgui/include/rtgui/widgets/list_view.h b/components/rtgui/include/rtgui/widgets/list_view.h index 2d3b2bf6d2..1a55043ac8 100644 --- a/components/rtgui/include/rtgui/widgets/list_view.h +++ b/components/rtgui/include/rtgui/widgets/list_view.h @@ -21,7 +21,7 @@ #include -typedef void (*item_action)(void* parameter); +typedef void (*item_action)(struct rtgui_widget* widget, void* parameter); struct rtgui_list_item { char* name; diff --git a/components/rtgui/widgets/list_view.c b/components/rtgui/widgets/list_view.c index 2a9f697c27..f29671d155 100644 --- a/components/rtgui/widgets/list_view.c +++ b/components/rtgui/widgets/list_view.c @@ -373,7 +373,8 @@ static rt_bool_t rtgui_list_view_onmouse(struct rtgui_list_view* view, struct rt /* up event */ if (view->items[view->current_item].action != RT_NULL) { - view->items[view->current_item].action(view->items[view->current_item].parameter); + view->items[view->current_item].action(RTGUI_WIDGET(view), + view->items[view->current_item].parameter); } } } @@ -407,7 +408,8 @@ static rt_bool_t rtgui_list_view_onmouse(struct rtgui_list_view* view, struct rt /* up event */ if (view->items[view->current_item].action != RT_NULL) { - view->items[view->current_item].action(view->items[view->current_item].parameter); + view->items[view->current_item].action(RTGUI_WIDGET(view), + view->items[view->current_item].parameter); } } } @@ -537,7 +539,8 @@ rt_bool_t rtgui_list_view_event_handler(struct rtgui_widget* widget, struct rtgu case RTGUIK_RETURN: if (view->items[view->current_item].action != RT_NULL) { - view->items[view->current_item].action(view->items[view->current_item].parameter); + view->items[view->current_item].action(RTGUI_WIDGET(view), + view->items[view->current_item].parameter); } return RT_FALSE; -- GitLab