From 980ac4c7cff855876d7c5e0ecde078c0ac68af4c Mon Sep 17 00:00:00 2001 From: Pim van Pelt Date: Sat, 2 Dec 2017 13:42:32 +0100 Subject: [PATCH] Remove 'user_data' arg from widget_set_handler --- include/screen.h | 3 +-- include/widget.h | 2 +- src/main.c | 12 ++++++------ src/screen.c | 9 ++++----- src/widget.c | 3 +-- unittest/test_widget.c | 2 +- 6 files changed, 14 insertions(+), 17 deletions(-) diff --git a/include/screen.h b/include/screen.h index 0a775f5..20fcba6 100644 --- a/include/screen.h +++ b/include/screen.h @@ -12,7 +12,6 @@ struct screen_t { // Private SLIST_HEAD(widget_entries, widget_list_t) widget_entries; widget_event_fn default_widget_handler; - void *default_user_data; }; struct screen_t *screen_create(char *name); @@ -20,7 +19,7 @@ struct screen_t *screen_create_from_file(char *fn, widget_event_fn handler, void struct screen_t *screen_create_from_json(char *json, widget_event_fn handler, void *user_data); void screen_destroy(struct screen_t **s); -void screen_widget_set_handler(struct screen_t *s, widget_event_fn handler, void *user_data); +void screen_widget_set_handler(struct screen_t *s, widget_event_fn handler); bool screen_widget_add(struct screen_t *s, struct widget_t *w); struct widget_t *screen_widget_add_from_file(struct screen_t *s, char *fn); diff --git a/include/widget.h b/include/widget.h index be989cf..47fa869 100644 --- a/include/widget.h +++ b/include/widget.h @@ -45,7 +45,7 @@ struct widget_list_t { }; struct widget_t *widget_create(char *name, uint16_t x, uint16_t y, uint16_t w, uint16_t h); -void widget_set_handler(struct widget_t *w, widget_event_fn handler, void *user_data); +void widget_set_handler(struct widget_t *w, widget_event_fn handler); void widget_delete_handler(struct widget_t *w); void widget_set_timer(struct widget_t *w, uint32_t timer_msec); void widget_delete_timer(struct widget_t *w); diff --git a/src/main.c b/src/main.c index 3c3922f..590faf3 100644 --- a/src/main.c +++ b/src/main.c @@ -63,30 +63,30 @@ void tft_demo(void) } w = widget_create("name", 0, 0, 185, 20); - widget_set_handler(w, widget_name_ev, NULL); + widget_set_handler(w, widget_name_ev); screen_widget_add(screen, w); w = widget_create("network", 185, 0, 22, 20); - widget_set_handler(w, widget_network_ev, NULL); + widget_set_handler(w, widget_network_ev); screen_widget_add(screen, w); w = widget_create("wifi", 207, 0, 20, 20); - widget_set_handler(w, widget_wifi_ev, NULL); + widget_set_handler(w, widget_wifi_ev); widget_set_timer(w, 5000); screen_widget_add(screen, w); w = widget_create("battery", 227, 0, 13, 20); - widget_set_handler(w, widget_battery_ev, NULL); + widget_set_handler(w, widget_battery_ev); widget_set_timer(w, 10000); screen_widget_add(screen, w); w = widget_create("time", 240, 0, 80, 20); - widget_set_handler(w, widget_time_ev, NULL); + widget_set_handler(w, widget_time_ev); widget_set_timer(w, 1000); screen_widget_add(screen, w); w = widget_create("topbar", 0, 21, 320, 2); - widget_set_handler(w, widget_topbar_ev, NULL); + widget_set_handler(w, widget_topbar_ev); screen_widget_add(screen, w); LOG(LL_INFO, ("Screen '%s' has %d widgets", screen->name, screen_get_num_widgets(screen))); diff --git a/src/screen.c b/src/screen.c index e0912fd..a76ef53 100644 --- a/src/screen.c +++ b/src/screen.c @@ -44,7 +44,7 @@ struct screen_t *screen_create_from_json(char *json, widget_event_fn handler, vo screen = screen_create(screen_name); if (!screen) return NULL; - screen_widget_set_handler(screen, handler, user_data); + screen_widget_set_handler(screen, handler); /* // Traverse Object @@ -59,7 +59,7 @@ struct screen_t *screen_create_from_json(char *json, widget_event_fn handler, vo // printf("[%d]: [%.*s]\n", idx, val.len, val.ptr); if (val.len>0 && val.ptr) { widget = widget_create_from_json(val.ptr); - widget_set_handler(widget, screen->default_widget_handler, screen->default_user_data); + widget_set_handler(widget, screen->default_widget_handler); if (!screen_widget_add(screen, widget)) { LOG(LL_ERROR, ("Could not add widget to screen")); } @@ -98,7 +98,7 @@ struct widget_t *screen_widget_add_from_file(struct screen_t *s, char *fn) { w = widget_create_from_file(fn); if (!w) return NULL; - widget_set_handler(w, s->default_widget_handler, s->default_user_data); + widget_set_handler(w, s->default_widget_handler); screen_widget_add(s, w); return w; } @@ -146,10 +146,9 @@ struct widget_t *screen_widget_find_by_xy(struct screen_t *s, uint16_t x, uint16 return NULL; } -void screen_widget_set_handler(struct screen_t *s, widget_event_fn handler, void *user_data) { +void screen_widget_set_handler(struct screen_t *s, widget_event_fn handler) { if (!s) return; s->default_widget_handler=handler; - s->default_user_data=user_data; return; } diff --git a/src/widget.c b/src/widget.c index 11012dd..e49bbb5 100644 --- a/src/widget.c +++ b/src/widget.c @@ -107,11 +107,10 @@ struct widget_t *widget_create_from_file(const char *fn) { return widget; } -void widget_set_handler(struct widget_t *w, widget_event_fn handler, void *user_data) { +void widget_set_handler(struct widget_t *w, widget_event_fn handler) { if (!w) return; w->handler = handler; - w->user_data = user_data; if (!w->create_called && w->handler) handler(EV_WIDGET_CREATE, w, NULL); diff --git a/unittest/test_widget.c b/unittest/test_widget.c index baf8a4b..c0105c0 100644 --- a/unittest/test_widget.c +++ b/unittest/test_widget.c @@ -49,7 +49,7 @@ static int test_widget_create_from_file(void) { ASSERT(_mgos_timers==1, "timer not found"); LOG(LL_INFO, ("widget_set_handler()")); - widget_set_handler(w, test_widget_default_ev, NULL); + widget_set_handler(w, test_widget_default_ev); LOG(LL_INFO, ("widget_delete_timer()"));