make/vs/testapp/main.c

branch
newapi
changeset 196
320d85f3cd14
parent 195
0f2e69873875
child 197
8a82ebe23822
equal deleted inserted replaced
195:0f2e69873875 196:320d85f3cd14
38 UiInteger* check; 38 UiInteger* check;
39 UiInteger* toggle; 39 UiInteger* toggle;
40 UiInteger* radio; 40 UiInteger* radio;
41 UiString* text; 41 UiString* text;
42 UiString* password; 42 UiString* password;
43 UiList* list;
43 } WindowData; 44 } WindowData;
44 45
45 void action1(UiEvent* event, void* data) { 46 void action1(UiEvent* event, void* data) {
46 char* action = data; 47 char* action = data;
47 48
65 66
66 void action_switch(UiEvent* event, void* data) { 67 void action_switch(UiEvent* event, void* data) {
67 printf("onchange: %d\n", event->intval); 68 printf("onchange: %d\n", event->intval);
68 } 69 }
69 70
71 void action_listselection_changed(UiEvent* event, void* data) {
72 printf("selection changed\n");
73 UiListSelection* sel = event->eventdata;
74 for (int i = 0; i < sel->count; i++) {
75 int row = sel->rows[i];
76 printf("row: %d\n", row);
77 }
78 }
79
80 void action_onactivate(UiEvent* event, void* Data) {
81 printf("activate\n");
82 UiListSelection* sel = event->eventdata;
83 for (int i = 0; i < sel->count; i++) {
84 int row = sel->rows[i];
85 printf("row: %d\n", row);
86 }
87 }
88
70 void application_startup(UiEvent* event, void* data) { 89 void application_startup(UiEvent* event, void* data) {
71 UiObject* obj = ui_window("Test", NULL); 90 UiObject* obj = ui_window("Test", NULL);
72 WindowData* wdata = ui_malloc(obj->ctx, sizeof(WindowData)); 91 WindowData* wdata = ui_malloc(obj->ctx, sizeof(WindowData));
73 obj->window = wdata; 92 obj->window = wdata;
74 wdata->check = ui_int_new(obj->ctx, "check"); 93 wdata->check = ui_int_new(obj->ctx, "check");
75 wdata->toggle = ui_int_new(obj->ctx, "toggle"); 94 wdata->toggle = ui_int_new(obj->ctx, "toggle");
76 wdata->radio = ui_int_new(obj->ctx, "radio"); 95 wdata->radio = ui_int_new(obj->ctx, "radio");
77 wdata->text = ui_string_new(obj->ctx, "text"); 96 wdata->text = ui_string_new(obj->ctx, "text");
78 wdata->password = ui_string_new(obj->ctx, "password"); 97 wdata->password = ui_string_new(obj->ctx, "password");
98 wdata->list = ui_list_new(obj->ctx, "list");
99
100 ui_list_append(wdata->list, "Hello");
101 ui_list_append(wdata->list, "World");
102 ui_list_append(wdata->list, "Item3");
103 ui_list_append(wdata->list, "Item4");
104 ui_list_append(wdata->list, "Item5");
105 ui_list_append(wdata->list, "Item6");
79 106
80 ui_scrolledwindow0(obj) { 107 ui_scrolledwindow0(obj) {
81 ui_grid(obj, .margin = 10, .columnspacing = 5, .rowspacing = 20) { 108 ui_grid(obj, .margin = 10, .columnspacing = 5, .rowspacing = 20) {
82 ui_button(obj, .label = "Button1", .onclick = action1, .onclickdata = "action1"); 109 ui_button(obj, .label = "Button1", .onclick = action1, .onclickdata = "action1");
83 ui_button(obj, .label = "Button2", .onclick = action1, .onclickdata = "action2"); 110 ui_button(obj, .label = "Button2", .onclick = action1, .onclickdata = "action2");
112 ui_frame(obj, .label = "Test", .colspan = 3) { 139 ui_frame(obj, .label = "Test", .colspan = 3) {
113 ui_button(obj, .label = "Button1", .onclick = action1, .onclickdata = "action1"); 140 ui_button(obj, .label = "Button1", .onclick = action1, .onclickdata = "action1");
114 } 141 }
115 ui_newline(obj); 142 ui_newline(obj);
116 143
117 ui_expander(obj, .label = "Expand", .colspan = 3, .margin = 10, .spacing = 5, .isexpanded = true) { 144 /*
145 ui_expander(obj, .label = "Expand", .colspan = 3, .margin = 10, .spacing = 5, .isexpanded = false) {
118 ui_button(obj, .label = "Button1", .onclick = action1, .onclickdata = "action1"); 146 ui_button(obj, .label = "Button1", .onclick = action1, .onclickdata = "action1");
119 ui_button(obj, .label = "Button1", .onclick = action1, .onclickdata = "action1"); 147 ui_button(obj, .label = "Button1", .onclick = action1, .onclickdata = "action1");
120 ui_button(obj, .label = "Button1", .onclick = action1, .onclickdata = "action1"); 148 ui_button(obj, .label = "Button1", .onclick = action1, .onclickdata = "action1");
121 } 149 }
150 */
151
152 ui_listview(obj, .list = wdata->list, .hexpand = true, .vexpand = true, .multiselection = true, .onselection= action_listselection_changed, .onactivate= action_onactivate);
122 } 153 }
123 } 154 }
124 155
125 ui_show(obj); 156 ui_show(obj);
126 } 157 }

mercurial