Sat, 18 Oct 2025 12:23:52 +0200
add ui_srclist_generate_sublist_num_data function
| ui/common/wrapper.c | file | annotate | diff | comparison | revisions | |
| ui/common/wrapper.h | file | annotate | diff | comparison | revisions | |
| ui/gtk/list.c | file | annotate | diff | comparison | revisions |
--- a/ui/common/wrapper.c Sat Oct 18 10:17:59 2025 +0200 +++ b/ui/common/wrapper.c Sat Oct 18 12:23:52 2025 +0200 @@ -134,6 +134,17 @@ return ui_list_count(list); } +/* + * numerates all sublists and sets the sublist index as userdata + */ +void ui_srclist_generate_sublist_num_data(UiList *list) { + CxList *cxlist = list->data; + CxIterator i = cxListIterator(cxlist); + cx_foreach(UiSubList *, sublist, i) { + sublist->userdata = (void*)i.index; + } +} + /* ---------------------------- UiSubListEventData ---------------------------- */
--- a/ui/common/wrapper.h Sat Oct 18 10:17:59 2025 +0200 +++ b/ui/common/wrapper.h Sat Oct 18 12:23:52 2025 +0200 @@ -58,6 +58,7 @@ UIEXPORT void ui_srclist_remove(UiList *list, int index); UIEXPORT void ui_srclist_clear(UiList *list); UIEXPORT int ui_srclist_size(UiList *list); +UIEXPORT void ui_srclist_generate_sublist_num_data(UiList *list); UIEXPORT UiList* ui_sublist_event_get_list(UiSubListEventData *event); UIEXPORT int ui_sublist_event_get_sublist_index(UiSubListEventData *event);
--- a/ui/gtk/list.c Sat Oct 18 10:17:59 2025 +0200 +++ b/ui/gtk/list.c Sat Oct 18 12:23:52 2025 +0200 @@ -2579,6 +2579,10 @@ item.label = strdup(elm); } + if(item.label == NULL && index == -1 && sublist->header) { + item.label = strdup(sublist->header); + } + // create listbox item GtkWidget *row = gtk_list_box_row_new(); #if GTK_CHECK_VERSION(4, 0, 0)