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:
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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");
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
@@ -73,13 +73,12 @@ lv_obj_t * lv_list_add_text(lv_obj_t * list, const char * txt)
|
||||
return obj;
|
||||
}
|
||||
|
||||
lv_obj_t * lv_list_add_btn(lv_obj_t * list, const char * icon, const char * txt, lv_event_cb_t event_cb)
|
||||
lv_obj_t * lv_list_add_btn(lv_obj_t * list, const char * icon, const char * txt)
|
||||
{
|
||||
LV_LOG_INFO("begin")
|
||||
lv_obj_t * obj = lv_obj_class_create_obj(&lv_list_btn_class, list);
|
||||
lv_obj_class_init_obj(obj);
|
||||
lv_obj_set_size(obj, LV_PCT(100), LV_SIZE_CONTENT);
|
||||
if(event_cb) lv_obj_add_event_cb(obj, event_cb, LV_EVENT_ALL, NULL);
|
||||
|
||||
if(icon) {
|
||||
lv_obj_t * img = lv_img_create(obj);
|
||||
|
||||
@@ -37,7 +37,7 @@ lv_obj_t * lv_list_create(lv_obj_t * parent);
|
||||
|
||||
lv_obj_t * lv_list_add_text(lv_obj_t * list, const char * txt);
|
||||
|
||||
lv_obj_t * lv_list_add_btn(lv_obj_t * list, const char * icon, const char * txt, lv_event_cb_t event_cb);
|
||||
lv_obj_t * lv_list_add_btn(lv_obj_t * list, const char * icon, const char * txt);
|
||||
|
||||
const char * lv_list_get_btn_text(lv_obj_t * list, lv_obj_t * btn);
|
||||
|
||||
|
||||
@@ -62,12 +62,11 @@ lv_obj_t * lv_win_add_title(lv_obj_t * win, const char * txt)
|
||||
return title;
|
||||
}
|
||||
|
||||
lv_obj_t * lv_win_add_btn(lv_obj_t * win, const void * icon, lv_coord_t btn_w, lv_event_cb_t event_cb)
|
||||
lv_obj_t * lv_win_add_btn(lv_obj_t * win, const void * icon, lv_coord_t btn_w)
|
||||
{
|
||||
lv_obj_t * header = lv_win_get_header(win);
|
||||
lv_obj_t * btn = lv_btn_create(header);
|
||||
lv_obj_set_size(btn, btn_w, LV_PCT(100));
|
||||
lv_obj_add_event_cb(btn, event_cb, LV_EVENT_ALL, NULL);
|
||||
|
||||
lv_obj_t * img = lv_img_create(btn);
|
||||
lv_img_set_src(img, icon);
|
||||
|
||||
@@ -36,7 +36,7 @@ lv_obj_t * lv_win_create(lv_obj_t * parent, lv_coord_t header_height);
|
||||
|
||||
|
||||
lv_obj_t * lv_win_add_title(lv_obj_t * win, const char * txt);
|
||||
lv_obj_t * lv_win_add_btn(lv_obj_t * win, const void * icon, lv_coord_t btn_w, lv_event_cb_t event_cb);
|
||||
lv_obj_t * lv_win_add_btn(lv_obj_t * win, const void * icon, lv_coord_t btn_w);
|
||||
|
||||
lv_obj_t * lv_win_get_header(lv_obj_t * win);
|
||||
lv_obj_t * lv_win_get_content(lv_obj_t * win);
|
||||
|
||||
Reference in New Issue
Block a user