diff options
| author | [email protected] <[email protected]> | 2010-08-17 23:29:32 +0000 |
|---|---|---|
| committer | [email protected] <[email protected]> | 2010-08-17 23:29:32 +0000 |
| commit | 0c31a7c3ae29fbf3dd42084dc67e6e95f00200bd (patch) | |
| tree | aa26d47a6aa8c4025b7be3b23340680af085ddfe /components/rtgui | |
| parent | 9a3f67746fe5fa43af9414a5b302b6606915a96c (diff) | |
add widget parameter in item action function callback.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@863 bbd45198-f89e-11dd-88c7-29a3b14d5316
Diffstat (limited to 'components/rtgui')
| -rw-r--r-- | components/rtgui/include/rtgui/widgets/list_view.h | 2 | ||||
| -rw-r--r-- | 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 <rtgui/widgets/view.h>
-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;
|
