Plumb default_widget_handler and default_user_data for widgets read from JSON/File

This commit is contained in:
Pim van Pelt
2017-11-26 19:06:44 +01:00
parent fda8b332db
commit e826324244
7 changed files with 94 additions and 8 deletions

View File

@ -16,4 +16,7 @@ void widget_topbar_ev(int ev, struct widget_t *w, void *ev_data);
void widget_name_ev(int ev, struct widget_t *w, void *ev_data);
void widget_default_ev(int ev, struct widget_t *w, void *ev_data);
#endif // __MONGOOSE_TOUCH_H

View File

@ -12,13 +12,17 @@ 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, uint16_t x, uint16_t y, uint16_t w, uint16_t h);
struct screen_t *screen_create_from_file(char *fn);
struct screen_t *screen_create_from_json(char *json);
struct screen_t *screen_create_from_file(char *fn, 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_widget_set_handler(struct screen_t *s, widget_event_fn handler, void *user_data);
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);