| 442 } |
442 } |
| 443 |
443 |
| 444 void action_sourcelist_activate(UiEvent *event, void *userdata) { |
444 void action_sourcelist_activate(UiEvent *event, void *userdata) { |
| 445 UiSubListEventData *eventdata = event->eventdata; |
445 UiSubListEventData *eventdata = event->eventdata; |
| 446 printf("sourcelist %s index %d\n", eventdata->row_data, eventdata->row_index); |
446 printf("sourcelist %s index %d\n", eventdata->row_data, eventdata->row_index); |
| 447 ui_list_update_row(eventdata->list, eventdata->row_index); |
447 if(eventdata->row_index >= 0) { |
| |
448 ui_list_update_row(eventdata->list, eventdata->row_index); |
| |
449 } |
| 448 } |
450 } |
| 449 |
451 |
| 450 void action_table_activate(UiEvent *event, void *userdata) { |
452 void action_table_activate(UiEvent *event, void *userdata) { |
| 451 char *s = userdata; |
453 char *s = userdata; |
| 452 printf("table event: %s\n", s); |
454 printf("table event: %s\n", s); |
| 607 ui_attach_document(obj->ctx, doc); |
609 ui_attach_document(obj->ctx, doc); |
| 608 |
610 |
| 609 ui_sidebar(obj, .margin = 0, .spacing = 0) { |
611 ui_sidebar(obj, .margin = 0, .spacing = 0) { |
| 610 ui_sourcelist(obj, .fill = TRUE, |
612 ui_sourcelist(obj, .fill = TRUE, |
| 611 .getvalue = sourcelist_getvalue, |
613 .getvalue = sourcelist_getvalue, |
| |
614 .header_is_item = TRUE, |
| 612 .sublists = UI_SUBLISTS(UI_SUBLIST(.varname = "srclist1", .header = "Header 1", .userdata = "Sublist1"), UI_SUBLIST(.varname = "srclist2", .header = "Header 2", .userdata = "Sublist2")), |
615 .sublists = UI_SUBLISTS(UI_SUBLIST(.varname = "srclist1", .header = "Header 1", .userdata = "Sublist1"), UI_SUBLIST(.varname = "srclist2", .header = "Header 2", .userdata = "Sublist2")), |
| 613 .onactivate = action_sourcelist_activate); |
616 .onactivate = action_sourcelist_activate); |
| 614 } |
617 } |
| 615 |
618 |
| 616 ui_right_panel(obj, .margin = 10, .spacing = 10) { |
619 ui_right_panel(obj, .margin = 10, .spacing = 10) { |