application/demo_bindings.c

changeset 882
75de79b155e3
parent 873
78853bfc47cf
child 886
6f5e02fcb7b9
equal deleted inserted replaced
881:e0bbf466915f 882:75de79b155e3
63 void switch_document(UiEvent *event, void *userdata) { 63 void switch_document(UiEvent *event, void *userdata) {
64 MainWindow *wdata = event->window; 64 MainWindow *wdata = event->window;
65 if(event->document) { 65 if(event->document) {
66 ui_detach_document(event->obj->ctx, event->document); 66 ui_detach_document(event->obj->ctx, event->document);
67 } 67 }
68 printf("selection: %d\n", event->intval);
68 Document *doc = ui_list_get(wdata->doclist, event->intval); 69 Document *doc = ui_list_get(wdata->doclist, event->intval);
69 if(doc) { 70 if(doc) {
71 char *s1 = ui_get(doc->id);
72 char *s2 = ui_get(doc->name);
73 printf("doc %s - %s\n", s1, s2);
70 ui_attach_document(event->obj->ctx, doc); 74 ui_attach_document(event->obj->ctx, doc);
75
71 } 76 }
77 //UiListSelection sel = ui_list_getselection(wdata->doclist);
78 //printf("sel: %d\n", sel.rows[0]);
79 //ui_listselection_free(sel);
72 } 80 }
73 81
74 void* doclist_get_value(void *elm, int col) { 82 void* doclist_get_value(void *elm, int col) {
75 Document *doc = elm; 83 Document *doc = elm;
76 return ui_get(doc->id); 84 return ui_get(doc->id);
90 98
91 ui_rlabel(obj, .label = "Name:"); 99 ui_rlabel(obj, .label = "Name:");
92 ui_llabel(obj, .varname = "name"); 100 ui_llabel(obj, .varname = "name");
93 ui_newline(obj); 101 ui_newline(obj);
94 102
95 ui_combobox(obj, .varname = "doclist", .colspan = 2, .onactivate = switch_document, .getvalue = doclist_get_value); 103 ui_combobox(obj, .varname = "doclist", .colspan = 2, .onactivate = switch_document, .getvalue = doclist_get_value, .colspan = 2, .hfill = TRUE);
96 ui_newline(obj); 104 ui_newline(obj);
97 105
98 ui_frame(obj, .label = "Document", .colspan = 2, .fill = TRUE) { 106 ui_frame(obj, .label = "Document", .colspan = 2, .fill = TRUE) {
99 ui_grid(obj, .margin = 10, .columnspacing = 10, .rowspacing = 10) { 107 ui_grid(obj, .margin = 10, .columnspacing = 10, .rowspacing = 10) {
100 ui_rlabel(obj, .label = "Name:", .vfill = TRUE); 108 ui_rlabel(obj, .label = "Name:", .vfill = TRUE);
106 for(int i=0;i<10;i++) { 114 for(int i=0;i<10;i++) {
107 Document *doc = document_create(i); 115 Document *doc = document_create(i);
108 ui_list_append(wdata->doclist, doc); 116 ui_list_append(wdata->doclist, doc);
109 } 117 }
110 ui_list_update(wdata->doclist); 118 ui_list_update(wdata->doclist);
119 ui_list_setselection(wdata->doclist, 0);
111 Document *doc = ui_list_get(wdata->doclist, 0); 120 Document *doc = ui_list_get(wdata->doclist, 0);
112 ui_attach_document(obj->ctx, doc); 121 ui_attach_document(obj->ctx, doc);
113 122
114 123
115 ui_show(obj); 124 ui_show(obj);

mercurial