| 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 |
| 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) { |