6 weeks ago
add UiSubListEventData struct that contains all relevant data for sublist action events
ui/gtk/list.c | file | annotate | diff | comparison | revisions | |
ui/ui/tree.h | file | annotate | diff | comparison | revisions |
--- a/ui/gtk/list.c Sat Feb 01 12:22:47 2025 +0100 +++ b/ui/gtk/list.c Sat Feb 01 22:30:58 2025 +0100 @@ -1784,11 +1784,19 @@ } UiListBoxSubList *sublist = data->customdata0; + UiSubListEventData eventdata; + eventdata.list = sublist->var->value; + eventdata.sublist_index = sublist->index; + eventdata.row_index = data->value0; + eventdata.sublist_userdata = sublist->userdata; + eventdata.row_data = ui_list_get(eventdata.list, eventdata.row_index); + eventdata.event_data = data->customdata2; + UiEvent event; event.obj = data->obj; event.window = event.obj->window; event.document = event.obj->ctx->document; - event.eventdata = data->customdata2; + event.eventdata = &eventdata; event.intval = data->value0; if(data->callback) {
--- a/ui/ui/tree.h Sat Feb 01 12:22:47 2025 +0100 +++ b/ui/ui/tree.h Sat Feb 01 22:30:58 2025 +0100 @@ -144,6 +144,15 @@ void *userdata; }; +typedef struct UiSubListEventData { + UiList *list; + int sublist_index; + int row_index; + void *row_data; + void *sublist_userdata; + void *event_data; +} UiSubListEventData; + /* * list item members must be filled by the sublist getvalue func * all members must be allocated (by malloc, strdup, ...) the pointer