ui/gtk/list.c

changeset 696
68f513430e5a
parent 691
bcf045006a96
child 697
d254b3ec7736
equal deleted inserted replaced
695:4415b91e74bf 696:68f513430e5a
1805 uisublist.separator = sublist->separator; 1805 uisublist.separator = sublist->separator;
1806 uisublist.widgets = cxLinkedListCreateSimple(CX_STORE_POINTERS); 1806 uisublist.widgets = cxLinkedListCreateSimple(CX_STORE_POINTERS);
1807 uisublist.listbox = uilistbox; 1807 uisublist.listbox = uilistbox;
1808 uisublist.userdata = sublist->userdata; 1808 uisublist.userdata = sublist->userdata;
1809 uisublist.index = cxListSize(sublists); 1809 uisublist.index = cxListSize(sublists);
1810 1810 uisublist.startpos = 0;
1811 cxListAdd(sublists, &uisublist);
1812
1811 // bind UiList 1813 // bind UiList
1812 UiListBoxSubList *sublist_ptr = cxListAt(uilistbox->sublists, cxListSize(sublists)-1); 1814 UiListBoxSubList *sublist_ptr = cxListAt(uilistbox->sublists, cxListSize(sublists)-1);
1813 if(uisublist.var && uisublist.var->value) { 1815 if(uisublist.var && uisublist.var->value) {
1814 UiList *list = uisublist.var->value; 1816 UiList *list = uisublist.var->value;
1815 list->obj = sublist_ptr; 1817 list->obj = sublist_ptr;
1816 list->update = ui_listbox_list_update; 1818 list->update = ui_listbox_list_update;
1817 } 1819 }
1818
1819 cxListAdd(sublists, &uisublist);
1820 } 1820 }
1821 1821
1822 UIEXPORT UIWIDGET ui_sourcelist_create(UiObject *obj, UiSourceListArgs *args) { 1822 UIEXPORT UIWIDGET ui_sourcelist_create(UiObject *obj, UiSourceListArgs *args) {
1823 UiObject* current = uic_current_obj(obj); 1823 UiObject* current = uic_current_obj(obj);
1824 1824
1961 if(i.index > to) { 1961 if(i.index > to) {
1962 break; 1962 break;
1963 } 1963 }
1964 1964
1965 // reload sublist 1965 // reload sublist
1966 sublist->startpos = pos;
1966 ui_listbox_update_sublist(listbox, sublist, pos); 1967 ui_listbox_update_sublist(listbox, sublist, pos);
1967 pos += sublist->numitems; 1968 pos += sublist->numitems;
1968 } 1969 }
1969 } 1970 }
1970 1971
2067 sublist->numitems = cxListSize(sublist->widgets); 2068 sublist->numitems = cxListSize(sublist->widgets);
2068 } 2069 }
2069 2070
2070 void ui_listbox_list_update(UiList *list, int i) { 2071 void ui_listbox_list_update(UiList *list, int i) {
2071 UiListBoxSubList *sublist = list->obj; 2072 UiListBoxSubList *sublist = list->obj;
2073 ui_listbox_update_sublist(sublist->listbox, sublist, sublist->startpos);
2072 } 2074 }
2073 2075
2074 void ui_listbox_row_activate(GtkListBox *self, GtkListBoxRow *row, gpointer user_data) { 2076 void ui_listbox_row_activate(GtkListBox *self, GtkListBoxRow *row, gpointer user_data) {
2075 UiEventDataExt *data = g_object_get_data(G_OBJECT(row), "ui-listbox-row-eventdata"); 2077 UiEventDataExt *data = g_object_get_data(G_OBJECT(row), "ui-listbox-row-eventdata");
2076 if(!data) { 2078 if(!data) {

mercurial