diff --git a/bsp/mini2440/calibration.c b/bsp/mini2440/calibration.c index a56b56c9838aec4f77918a25911993deba7d48f6..0c94c6dae5ebda6d13be050840112741ded8c541 100644 --- a/bsp/mini2440/calibration.c +++ b/bsp/mini2440/calibration.c @@ -29,6 +29,7 @@ struct calibration_session rt_device_t device; rt_thread_t tid; + struct rtgui_win *wid; }; static struct calibration_session *calibration_ptr = RT_NULL; @@ -66,6 +67,7 @@ static void calibration_data_post(rt_uint16_t x, rt_uint16_t y) struct rtgui_event_command ecmd; RTGUI_EVENT_COMMAND_INIT(&ecmd); ecmd.command_id = TOUCH_WIN_CLOSE; + ecmd.wid = calibration_ptr->wid; /* calculate calibrated data */ if (calibration_ptr->data.max_x > calibration_ptr->data.min_x) @@ -121,6 +123,7 @@ static void calibration_data_post(rt_uint16_t x, rt_uint16_t y) struct rtgui_event_command ecmd; RTGUI_EVENT_COMMAND_INIT(&ecmd); ecmd.command_id = TOUCH_WIN_UPDATE; + ecmd.wid = calibration_ptr->wid; rtgui_application_send(calibration_ptr->tid, &ecmd.parent, sizeof(struct rtgui_event_command)); } @@ -246,14 +249,12 @@ void calibration_entry(void *parameter) return; } + calibration_ptr->wid = win; + rtgui_object_set_event_handler(RTGUI_OBJECT(win), calibration_event_handler); - if (win != RT_NULL) - { - rtgui_win_show(win, RT_FALSE); -// rtgui_widget_update(RTGUI_WIDGET(win)); - rtgui_application_run(app); - } + rtgui_win_show(win, RT_FALSE); + rtgui_application_run(app); rtgui_application_destroy(app); diff --git a/components/rtgui/server/rtgui_application.c b/components/rtgui/server/rtgui_application.c index 97de7bd17a92e025bd5ef317b935134ba09f87b3..5aa32433af40c52d53e247901b2aee8335c77a1d 100644 --- a/components/rtgui/server/rtgui_application.c +++ b/components/rtgui/server/rtgui_application.c @@ -147,6 +147,7 @@ static void rtgui_event_dump(rt_thread_t tid, rtgui_event_t* event) case RTGUI_EVENT_WIN_DEACTIVATE: case RTGUI_EVENT_WIN_SHOW: case RTGUI_EVENT_WIN_MODAL_ENTER: + case RTGUI_EVENT_WIN_HIDE: { struct rtgui_event_win *win = (struct rtgui_event_win *)event; @@ -212,6 +213,9 @@ static void rtgui_event_dump(rt_thread_t tid, rtgui_event_t* event) } } break; + + default: + break; } rt_kprintf("\n"); @@ -603,13 +607,13 @@ rt_bool_t rtgui_application_event_handler(struct rtgui_object* object, rtgui_eve } break; - case RTGUI_EVENT_COMMAND: - { - struct rtgui_event_command *ecmd = (struct rtgui_event_command*)event; + case RTGUI_EVENT_COMMAND: + { + struct rtgui_event_command *ecmd = (struct rtgui_event_command *)event; - if (ecmd->wid != RT_NULL) - return _rtgui_application_dest_handle(app, event); - } + if (ecmd->wid != RT_NULL) + return _rtgui_application_dest_handle(app, event); + } default: return rtgui_object_event_handler(object, event);