diff --git a/applications/lvgl/guider/custom/custom.c b/applications/lvgl/guider/custom/custom.c index a9c9e7f..4cc9de5 100644 --- a/applications/lvgl/guider/custom/custom.c +++ b/applications/lvgl/guider/custom/custom.c @@ -406,6 +406,24 @@ void custom_init(lv_ui *ui) lv_table_set_cell_value(guider_ui.screen_pname_step_row,0,0,"步"); lv_table_set_cell_value(guider_ui.screen_pname_step_row,0,1,"工艺"); + + + lv_obj_add_event_cb(ui->screen_machine_id_rt, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p5, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p4, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p3, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p2, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p1, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p5b1, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p4b1, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p3b1, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p2b1, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p1b1, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p5b2, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p4b2, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p3b2, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p2b2, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_stepinf_p1b2, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); /* Add your codes here */ } diff --git a/applications/lvgl/guider/generated/setup_scr_screen.c b/applications/lvgl/guider/generated/setup_scr_screen.c index fd2c4fc..f1f841c 100644 --- a/applications/lvgl/guider/generated/setup_scr_screen.c +++ b/applications/lvgl/guider/generated/setup_scr_screen.c @@ -7276,7 +7276,7 @@ void setup_scr_screen(lv_ui *ui) lv_textarea_set_accepted_chars(ui->screen_machine_id_rt, "0123456789"); lv_textarea_set_max_length(ui->screen_machine_id_rt, 2); #if LV_USE_KEYBOARD != 0 || LV_USE_ZH_KEYBOARD != 0 - lv_obj_add_event_cb(ui->screen_machine_id_rt, ta_event_cb, LV_EVENT_ALL, ui->g_kb_top_layer); + lv_obj_add_event_cb(ui->screen_machine_id_rt, ta_event_cb_NUMBER, LV_EVENT_ALL, ui->g_kb_top_layer); #endif lv_obj_set_pos(ui->screen_machine_id_rt, 150, 10); lv_obj_set_size(ui->screen_machine_id_rt, 200, 50); diff --git a/applications/lvgl/guider/generated/widgets_init.c b/applications/lvgl/guider/generated/widgets_init.c index 08e96d3..610d8c2 100644 --- a/applications/lvgl/guider/generated/widgets_init.c +++ b/applications/lvgl/guider/generated/widgets_init.c @@ -42,6 +42,37 @@ __attribute__((unused)) void ta_event_cb (lv_event_t *e) { if (code == LV_EVENT_CANCEL || code == LV_EVENT_DEFOCUSED) { +#if LV_USE_ZH_KEYBOARD != 0 + lv_zh_keyboard_set_textarea(kb, ta); +#endif +#if LV_USE_KEYBOARD != 0 + lv_keyboard_set_textarea(kb, ta); +#endif + lv_obj_move_background(kb); + lv_obj_add_flag(kb, LV_OBJ_FLAG_HIDDEN); + } +} +__attribute__((unused)) void ta_event_cb_NUMBER (lv_event_t *e) { + lv_event_code_t code = lv_event_get_code(e); +#if LV_USE_KEYBOARD || LV_USE_ZH_KEYBOARD + lv_obj_t *ta = lv_event_get_target(e); +#endif + lv_obj_t *kb = lv_event_get_user_data(e); + if (code == LV_EVENT_FOCUSED || code == LV_EVENT_CLICKED) + { +#if LV_USE_ZH_KEYBOARD != 0 + lv_zh_keyboard_set_textarea(kb, ta); +#endif +#if LV_USE_KEYBOARD != 0 + lv_keyboard_set_textarea(kb, ta); + lv_keyboard_set_mode(kb, LV_KEYBOARD_MODE_NUMBER); +#endif + lv_obj_move_foreground(kb); + lv_obj_clear_flag(kb, LV_OBJ_FLAG_HIDDEN); + } + if (code == LV_EVENT_CANCEL || code == LV_EVENT_DEFOCUSED) + { + #if LV_USE_ZH_KEYBOARD != 0 lv_zh_keyboard_set_textarea(kb, ta); #endif diff --git a/applications/lvgl/guider/generated/widgets_init.h b/applications/lvgl/guider/generated/widgets_init.h index def0fbb..e3035a4 100644 --- a/applications/lvgl/guider/generated/widgets_init.h +++ b/applications/lvgl/guider/generated/widgets_init.h @@ -18,6 +18,7 @@ extern "C" { __attribute__((unused)) void kb_event_cb(lv_event_t *e); __attribute__((unused)) void ta_event_cb(lv_event_t *e); +__attribute__((unused)) void ta_event_cb_NUMBER (lv_event_t *e); #if LV_USE_ANALOGCLOCK != 0 void clock_count(int *hour, int *min, int *sec); #endif