Tue, 19 Aug 2025 12:38:16 +0200
implement ui_listbox_list_update (GTK)
| ui/gtk/list.c | file | annotate | diff | comparison | revisions | |
| ui/gtk/list.h | file | annotate | diff | comparison | revisions |
--- a/ui/gtk/list.c Mon Aug 18 21:11:32 2025 +0200 +++ b/ui/gtk/list.c Tue Aug 19 12:38:16 2025 +0200 @@ -1807,7 +1807,9 @@ uisublist.listbox = uilistbox; uisublist.userdata = sublist->userdata; uisublist.index = cxListSize(sublists); - + uisublist.startpos = 0; + cxListAdd(sublists, &uisublist); + // bind UiList UiListBoxSubList *sublist_ptr = cxListAt(uilistbox->sublists, cxListSize(sublists)-1); if(uisublist.var && uisublist.var->value) { @@ -1815,8 +1817,6 @@ list->obj = sublist_ptr; list->update = ui_listbox_list_update; } - - cxListAdd(sublists, &uisublist); } UIEXPORT UIWIDGET ui_sourcelist_create(UiObject *obj, UiSourceListArgs *args) { @@ -1963,6 +1963,7 @@ } // reload sublist + sublist->startpos = pos; ui_listbox_update_sublist(listbox, sublist, pos); pos += sublist->numitems; } @@ -2069,6 +2070,7 @@ void ui_listbox_list_update(UiList *list, int i) { UiListBoxSubList *sublist = list->obj; + ui_listbox_update_sublist(sublist->listbox, sublist, sublist->startpos); } void ui_listbox_row_activate(GtkListBox *self, GtkListBoxRow *row, gpointer user_data) {