49 case 1: return p->mail; |
49 case 1: return p->mail; |
50 } |
50 } |
51 return NULL; |
51 return NULL; |
52 } |
52 } |
53 |
53 |
|
54 void action_activate(UiEvent *event, void *data) { |
|
55 UiListSelection *selection = event->eventdata; |
|
56 printf("activate: %d\n", event->intval); |
|
57 } |
|
58 |
|
59 void action_select(UiEvent *event, void *data) { |
|
60 UiListSelection *selection = event->eventdata; |
|
61 printf("selection[%d]: ", selection->count); |
|
62 for(int i=0;i<selection->count;i++) { |
|
63 printf("%d ", selection->rows[i]); |
|
64 } |
|
65 printf("\n"); |
|
66 } |
|
67 |
54 int main(int argc, char** argv) { |
68 int main(int argc, char** argv) { |
55 ui_init("app1", argc, argv); |
69 ui_init("app1", argc, argv); |
56 ui_locales_dir("/opt/app1/locales"); |
70 ui_locales_dir("/opt/app1/locales"); |
57 ui_load_lang_def(NULL, "en_EN"); |
71 ui_load_lang_def(NULL, "en_EN"); |
58 //ui_openfilefunc(action_new, NULL); |
72 //ui_openfilefunc(action_new, NULL); |
65 printf("create window\n"); |
79 printf("create window\n"); |
66 UiObject *window = ui_window("Mod0", NULL); |
80 UiObject *window = ui_window("Mod0", NULL); |
67 |
81 |
68 UiModelInfo *model = ui_model_info(window->ctx, UI_STRING, "Name", UI_STRING, "Email", -1); |
82 UiModelInfo *model = ui_model_info(window->ctx, UI_STRING, "Name", UI_STRING, "Email", -1); |
69 model->getvalue = (ui_model_getvalue_f)person_getvalue; |
83 model->getvalue = (ui_model_getvalue_f)person_getvalue; |
|
84 model->activate = action_activate; |
|
85 model->selection = action_select; |
70 UiList *list = ui_list_new(); |
86 UiList *list = ui_list_new(); |
71 Person *p1 = ui_malloc(window->ctx, sizeof(Person)); |
87 Person *p1 = ui_malloc(window->ctx, sizeof(Person)); |
72 Person *p2 = ui_malloc(window->ctx, sizeof(Person)); |
88 Person *p2 = ui_malloc(window->ctx, sizeof(Person)); |
73 Person *p3 = ui_malloc(window->ctx, sizeof(Person)); |
89 Person *p3 = ui_malloc(window->ctx, sizeof(Person)); |
74 Person *p4 = ui_malloc(window->ctx, sizeof(Person)); |
90 Person *p4 = ui_malloc(window->ctx, sizeof(Person)); |