summaryrefslogtreecommitdiff
path: root/components/rtgui/widgets
diff options
context:
space:
mode:
author[email protected] <[email protected]>2011-03-06 03:28:24 +0000
committer[email protected] <[email protected]>2011-03-06 03:28:24 +0000
commit71421510fc9e2ff09ac5b7f88de50d9c307bd235 (patch)
tree8c9ec318a7063220ed0fbf768df3fea12bb1c8ed /components/rtgui/widgets
parent062f3ad035cba43b726a9fbed3637498d383c490 (diff)
remove NOT small size definition.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1311 bbd45198-f89e-11dd-88c7-29a3b14d5316
Diffstat (limited to 'components/rtgui/widgets')
-rw-r--r--components/rtgui/widgets/container.c26
-rw-r--r--components/rtgui/widgets/view.c4
2 files changed, 5 insertions, 25 deletions
diff --git a/components/rtgui/widgets/container.c b/components/rtgui/widgets/container.c
index 35475a904a..0a3dce6827 100644
--- a/components/rtgui/widgets/container.c
+++ b/components/rtgui/widgets/container.c
@@ -84,13 +84,18 @@ rt_bool_t rtgui_container_dispatch_mouse_event(rtgui_container_t *container, str
{
/* handle in child widget */
struct rtgui_list_node* node;
+ rtgui_widget_t *focus;
+ /* get focus widget on toplevel */
+ focus = RTGUI_CONTAINER(RTGUI_WIDGET(container)->toplevel)->focused;
rtgui_list_foreach(node, &(container->children))
{
struct rtgui_widget* w;
w = rtgui_list_entry(node, struct rtgui_widget, sibling);
if (rtgui_rect_contains_point(&(w->extent), event->x, event->y) == RT_EOK)
{
+ if ((focus != w) && RTGUI_WIDGET_IS_FOCUSABLE(w))
+ rtgui_widget_focus(w);
if (w->event_handler(w, (rtgui_event_t*)event) == RT_TRUE) return RT_TRUE;
}
}
@@ -105,24 +110,10 @@ rt_bool_t rtgui_container_event_handler(rtgui_widget_t* widget, rtgui_event_t* e
switch (event->type)
{
case RTGUI_EVENT_PAINT:
-#ifndef RTGUI_USING_SMALL_SIZE
- if (widget->on_draw != RT_NULL)
- {
- return widget->on_draw(widget, event);
- }
-#endif
-
rtgui_container_dispatch_event(container, event);
break;
case RTGUI_EVENT_KBD:
-#ifndef RTGUI_USING_SMALL_SIZE
- if (widget->on_key != RT_NULL)
- {
- return widget->on_key(widget, event);
- }
- else
-#endif
{
/* let parent to handle keyboard event */
if (widget->parent != RT_NULL && widget->parent != widget->toplevel)
@@ -137,13 +128,6 @@ rt_bool_t rtgui_container_event_handler(rtgui_widget_t* widget, rtgui_event_t* e
if (rtgui_container_dispatch_mouse_event(container,
(struct rtgui_event_mouse*)event) == RT_FALSE)
{
-#ifndef RTGUI_USING_SMALL_SIZE
- /* handle event in current widget */
- if (widget->on_mouseclick != RT_NULL)
- {
- return widget->on_mouseclick(widget, event);
- }
-#endif
}
else return RT_TRUE;
break;
diff --git a/components/rtgui/widgets/view.c b/components/rtgui/widgets/view.c
index ec8f12cd1b..9bdc4236ac 100644
--- a/components/rtgui/widgets/view.c
+++ b/components/rtgui/widgets/view.c
@@ -71,10 +71,6 @@ rt_bool_t rtgui_view_event_handler(struct rtgui_widget* widget, struct rtgui_eve
switch (event->type)
{
case RTGUI_EVENT_PAINT:
-#ifndef RTGUI_USING_SMALL_SIZE
- if (widget->on_draw != RT_NULL) widget->on_draw(widget, event);
- else
-#endif
{
struct rtgui_dc* dc;
struct rtgui_rect rect;