feat(list, win) remove event_cb paramter from *_add_btn() functions

It was difficult to handle in the Micropython binding and the user can add events to the returned button in a more flexible way
This commit is contained in:
Gabor Kiss-Vamosi
2021-05-13 00:42:52 +02:00
parent 3091e44d65
commit 4f8e3a38b3
8 changed files with 53 additions and 36 deletions

View File

@@ -12,7 +12,7 @@ static void float_btn_event_cb(lv_event_t * e)
lv_obj_t * list = lv_event_get_user_data(e);
char buf[32];
lv_snprintf(buf, sizeof(buf), "Track %d", btn_cnt);
lv_obj_t * list_btn = lv_list_add_btn(list, LV_SYMBOL_AUDIO, buf, NULL);
lv_obj_t * list_btn = lv_list_add_btn(list, LV_SYMBOL_AUDIO, buf);
btn_cnt++;
lv_obj_move_foreground(float_btn);
@@ -33,7 +33,7 @@ void lv_example_scroll_3(void)
for(btn_cnt = 1; btn_cnt <= 2; btn_cnt++) {
char buf[32];
lv_snprintf(buf, sizeof(buf), "Track %d", btn_cnt);
lv_list_add_btn(list, LV_SYMBOL_AUDIO, buf, NULL);
lv_list_add_btn(list, LV_SYMBOL_AUDIO, buf);
}
lv_obj_t * float_btn = lv_btn_create(list);

View File

@@ -18,20 +18,35 @@ void lv_example_list_1(void)
lv_obj_center(list1);
/*Add buttons to the list*/
lv_obj_t * btn;
lv_list_add_text(list1, "File");
lv_list_add_btn(list1, LV_SYMBOL_FILE, "New", event_handler);
lv_list_add_btn(list1, LV_SYMBOL_DIRECTORY, "Open", event_handler);
lv_list_add_btn(list1, LV_SYMBOL_SAVE, "Save", event_handler);
lv_list_add_btn(list1, LV_SYMBOL_CLOSE, "Delete", event_handler);
lv_list_add_btn(list1, LV_SYMBOL_EDIT, "Edit", event_handler);
btn = lv_list_add_btn(list1, LV_SYMBOL_FILE, "New");
lv_obj_add_event_cb(btn, event_handler, LV_EVENT_CLICKED, NULL);
btn = lv_list_add_btn(list1, LV_SYMBOL_DIRECTORY, "Open");
lv_obj_add_event_cb(btn, event_handler, LV_EVENT_CLICKED, NULL);
btn = lv_list_add_btn(list1, LV_SYMBOL_SAVE, "Save");
lv_obj_add_event_cb(btn, event_handler, LV_EVENT_CLICKED, NULL);
btn = lv_list_add_btn(list1, LV_SYMBOL_CLOSE, "Delete");
lv_obj_add_event_cb(btn, event_handler, LV_EVENT_CLICKED, NULL);
btn = lv_list_add_btn(list1, LV_SYMBOL_EDIT, "Edit");
lv_obj_add_event_cb(btn, event_handler, LV_EVENT_CLICKED, NULL);
lv_list_add_text(list1, "Connectivity");
lv_list_add_btn(list1, LV_SYMBOL_BLUETOOTH, "Bluetooth", event_handler);
lv_list_add_btn(list1, LV_SYMBOL_GPS, "Navigation", event_handler);
lv_list_add_btn(list1, LV_SYMBOL_USB, "USB", event_handler);
lv_list_add_btn(list1, LV_SYMBOL_BATTERY_FULL, "Battery", event_handler);
btn = lv_list_add_btn(list1, LV_SYMBOL_BLUETOOTH, "Bluetooth");
lv_obj_add_event_cb(btn, event_handler, LV_EVENT_CLICKED, NULL);
btn = lv_list_add_btn(list1, LV_SYMBOL_GPS, "Navigation");
lv_obj_add_event_cb(btn, event_handler, LV_EVENT_CLICKED, NULL);
btn = lv_list_add_btn(list1, LV_SYMBOL_USB, "USB");
lv_obj_add_event_cb(btn, event_handler, LV_EVENT_CLICKED, NULL);
btn = lv_list_add_btn(list1, LV_SYMBOL_BATTERY_FULL, "Battery");
lv_obj_add_event_cb(btn, event_handler, LV_EVENT_CLICKED, NULL);
lv_list_add_text(list1, "Exit");
lv_list_add_btn(list1, LV_SYMBOL_OK, "Apply", event_handler);
lv_list_add_btn(list1, LV_SYMBOL_CLOSE, "Close", event_handler);
btn = lv_list_add_btn(list1, LV_SYMBOL_OK, "Apply");
lv_obj_add_event_cb(btn, event_handler, LV_EVENT_CLICKED, NULL);
btn = lv_list_add_btn(list1, LV_SYMBOL_CLOSE, "Close");
lv_obj_add_event_cb(btn, event_handler, LV_EVENT_CLICKED, NULL);
}
#endif

View File

@@ -33,16 +33,16 @@ void lv_example_tileview_1(void)
lv_obj_t * list = lv_list_create(tile3);
lv_obj_set_size(list, LV_PCT(100), LV_PCT(100));
lv_list_add_btn(list, NULL, "One", NULL);
lv_list_add_btn(list, NULL, "Two", NULL);
lv_list_add_btn(list, NULL, "Three", NULL);
lv_list_add_btn(list, NULL, "Four", NULL);
lv_list_add_btn(list, NULL, "Five", NULL);
lv_list_add_btn(list, NULL, "Six", NULL);
lv_list_add_btn(list, NULL, "Seven", NULL);
lv_list_add_btn(list, NULL, "Eight", NULL);
lv_list_add_btn(list, NULL, "Nine", NULL);
lv_list_add_btn(list, NULL, "Ten", NULL);
lv_list_add_btn(list, NULL, "One");
lv_list_add_btn(list, NULL, "Two");
lv_list_add_btn(list, NULL, "Three");
lv_list_add_btn(list, NULL, "Four");
lv_list_add_btn(list, NULL, "Five");
lv_list_add_btn(list, NULL, "Six");
lv_list_add_btn(list, NULL, "Seven");
lv_list_add_btn(list, NULL, "Eight");
lv_list_add_btn(list, NULL, "Nine");
lv_list_add_btn(list, NULL, "Ten");
}

View File

@@ -4,20 +4,24 @@
static void event_handler(lv_event_t * e)
{
lv_event_code_t code = lv_event_get_code(e);
lv_obj_t * obj = lv_event_get_target(e);
if(code == LV_EVENT_CLICKED) {
LV_LOG_USER("Button %d clicked", lv_obj_get_child_id(obj));
}
LV_LOG_USER("Button %d clicked", lv_obj_get_child_id(obj));
}
void lv_example_win_1(void)
{
lv_obj_t * win = lv_win_create(lv_scr_act(), 60);
lv_win_add_btn(win, LV_SYMBOL_LEFT, 40, event_handler);
lv_obj_t * btn;
btn = lv_win_add_btn(win, LV_SYMBOL_LEFT, 40);
lv_obj_add_event_cb(btn, event_handler, LV_EVENT_CLICKED, NULL);
lv_win_add_title(win, "A title");
lv_win_add_btn(win, LV_SYMBOL_RIGHT, 40, event_handler);
lv_win_add_btn(win, LV_SYMBOL_CLOSE, 60, event_handler);
btn = lv_win_add_btn(win, LV_SYMBOL_RIGHT, 40);
lv_obj_add_event_cb(btn, event_handler, LV_EVENT_CLICKED, NULL);
btn = lv_win_add_btn(win, LV_SYMBOL_CLOSE, 60);
lv_obj_add_event_cb(btn, event_handler, LV_EVENT_CLICKED, NULL);
lv_obj_t * cont = lv_win_get_content(win); /*Content can be aded here*/
lv_obj_t * label = lv_label_create(cont);