Remove 'user_data' arg from widget_set_handler
This commit is contained in:
		| @@ -12,7 +12,6 @@ struct screen_t { | |||||||
|   // Private |   // Private | ||||||
|   SLIST_HEAD(widget_entries, widget_list_t) widget_entries; |   SLIST_HEAD(widget_entries, widget_list_t) widget_entries; | ||||||
|   widget_event_fn default_widget_handler; |   widget_event_fn default_widget_handler; | ||||||
|   void *default_user_data; |  | ||||||
| }; | }; | ||||||
|  |  | ||||||
| struct screen_t *screen_create(char *name); | 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); | 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_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); | 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); | struct widget_t *screen_widget_add_from_file(struct screen_t *s, char *fn); | ||||||
|   | |||||||
| @@ -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); | 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_delete_handler(struct widget_t *w); | ||||||
| void widget_set_timer(struct widget_t *w, uint32_t timer_msec); | void widget_set_timer(struct widget_t *w, uint32_t timer_msec); | ||||||
| void widget_delete_timer(struct widget_t *w); | void widget_delete_timer(struct widget_t *w); | ||||||
|   | |||||||
							
								
								
									
										12
									
								
								src/main.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								src/main.c
									
									
									
									
									
								
							| @@ -63,30 +63,30 @@ void tft_demo(void) | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   w = widget_create("name", 0, 0, 185, 20); |   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); |   screen_widget_add(screen, w); | ||||||
|  |  | ||||||
|   w = widget_create("network", 185, 0, 22, 20); |   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); |   screen_widget_add(screen, w); | ||||||
|  |  | ||||||
|   w = widget_create("wifi", 207, 0, 20, 20); |   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); |   widget_set_timer(w, 5000); | ||||||
|   screen_widget_add(screen, w); |   screen_widget_add(screen, w); | ||||||
|  |  | ||||||
|   w = widget_create("battery", 227, 0, 13, 20); |   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); |   widget_set_timer(w, 10000); | ||||||
|   screen_widget_add(screen, w); |   screen_widget_add(screen, w); | ||||||
|  |  | ||||||
|   w = widget_create("time", 240, 0, 80, 20); |   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); |   widget_set_timer(w, 1000); | ||||||
|   screen_widget_add(screen, w); |   screen_widget_add(screen, w); | ||||||
|  |  | ||||||
|   w = widget_create("topbar", 0, 21, 320, 2); |   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); |   screen_widget_add(screen, w); | ||||||
|  |  | ||||||
|   LOG(LL_INFO, ("Screen '%s' has %d widgets", screen->name, screen_get_num_widgets(screen))); |   LOG(LL_INFO, ("Screen '%s' has %d widgets", screen->name, screen_get_num_widgets(screen))); | ||||||
|   | |||||||
| @@ -44,7 +44,7 @@ struct screen_t *screen_create_from_json(char *json, widget_event_fn handler, vo | |||||||
|   screen = screen_create(screen_name); |   screen = screen_create(screen_name); | ||||||
|   if (!screen) |   if (!screen) | ||||||
|     return NULL; |     return NULL; | ||||||
|   screen_widget_set_handler(screen, handler, user_data); |   screen_widget_set_handler(screen, handler); | ||||||
|    |    | ||||||
| /* | /* | ||||||
|   // Traverse Object |   // 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); | //    printf("[%d]: [%.*s]\n", idx, val.len, val.ptr); | ||||||
|     if (val.len>0 && val.ptr) { |     if (val.len>0 && val.ptr) { | ||||||
|       widget = widget_create_from_json(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)) { |       if (!screen_widget_add(screen, widget)) { | ||||||
|         LOG(LL_ERROR, ("Could not add widget to screen")); |         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); |   w = widget_create_from_file(fn); | ||||||
|   if (!w) |   if (!w) | ||||||
|     return NULL; |     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); |   screen_widget_add(s, w); | ||||||
|   return 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; |   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) |   if (!s) | ||||||
|     return; |     return; | ||||||
|   s->default_widget_handler=handler; |   s->default_widget_handler=handler; | ||||||
|   s->default_user_data=user_data; |  | ||||||
|   return; |   return; | ||||||
| } | } | ||||||
|   | |||||||
| @@ -107,11 +107,10 @@ struct widget_t *widget_create_from_file(const char *fn) { | |||||||
|   return widget; |   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) |   if (!w) | ||||||
|     return; |     return; | ||||||
|   w->handler = handler; |   w->handler = handler; | ||||||
|   w->user_data = user_data; |  | ||||||
|   if (!w->create_called && w->handler) |   if (!w->create_called && w->handler) | ||||||
|     handler(EV_WIDGET_CREATE, w, NULL); |     handler(EV_WIDGET_CREATE, w, NULL); | ||||||
|      |      | ||||||
|   | |||||||
| @@ -49,7 +49,7 @@ static int test_widget_create_from_file(void) { | |||||||
|   ASSERT(_mgos_timers==1, "timer not found"); |   ASSERT(_mgos_timers==1, "timer not found"); | ||||||
|  |  | ||||||
|   LOG(LL_INFO, ("widget_set_handler()")); |   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()")); |   LOG(LL_INFO, ("widget_delete_timer()")); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user