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 } |