| 53 UIWIDGET ui_listview_create(UiObject* obj, UiListArgs *args) { |
53 UIWIDGET ui_listview_create(UiObject* obj, UiListArgs *args) { |
| 54 Arg xargs[16]; |
54 Arg xargs[16]; |
| 55 int n = 0; |
55 int n = 0; |
| 56 |
56 |
| 57 UiContainerPrivate *ctn = ui_obj_container(obj); |
57 UiContainerPrivate *ctn = ui_obj_container(obj); |
| 58 UI_APPLY_LAYOUT(ctn->layout, args); |
58 UiLayout layout = UI_ARGS2LAYOUT(args); |
| 59 |
59 |
| 60 if(args->multiselection) { |
60 if(args->multiselection) { |
| 61 XtSetArg(xargs[n], XmNselectionPolicy, XmEXTENDED_SELECT); n++; |
61 XtSetArg(xargs[n], XmNselectionPolicy, XmEXTENDED_SELECT); n++; |
| 62 } else { |
62 } else { |
| 63 XtSetArg(xargs[n], XmNselectionPolicy, XmSINGLE_SELECT); n++; |
63 XtSetArg(xargs[n], XmNselectionPolicy, XmSINGLE_SELECT); n++; |
| 64 } |
64 } |
| 65 |
65 |
| 66 char *name = args->name ? (char*)args->name : "listview"; |
66 char *name = args->name ? (char*)args->name : "listview"; |
| 67 Widget parent = ctn->prepare(ctn, xargs, &n); |
67 Widget parent = ui_container_prepare(ctn, &layout, xargs, &n); |
| 68 Widget widget = XmCreateScrolledList(parent, name, xargs, n); |
68 Widget widget = XmCreateScrolledList(parent, name, xargs, n); |
| 69 XtManageChild(widget); |
69 XtManageChild(widget); |
| |
70 ui_container_add(ctn, widget); |
| 70 |
71 |
| 71 UiVar* var = uic_widget_var(obj->ctx, obj->ctx, args->list, args->varname, UI_VAR_LIST); |
72 UiVar* var = uic_widget_var(obj->ctx, obj->ctx, args->list, args->varname, UI_VAR_LIST); |
| 72 |
73 |
| 73 UiListView *listview = malloc(sizeof(UiListView)); |
74 UiListView *listview = malloc(sizeof(UiListView)); |
| 74 memset(listview, 0, sizeof(UiListView)); |
75 memset(listview, 0, sizeof(UiListView)); |
| 262 UIWIDGET ui_combobox_create(UiObject* obj, UiListArgs *args) { |
263 UIWIDGET ui_combobox_create(UiObject* obj, UiListArgs *args) { |
| 263 Arg xargs[16]; |
264 Arg xargs[16]; |
| 264 int n = 0; |
265 int n = 0; |
| 265 |
266 |
| 266 UiContainerPrivate *ctn = ui_obj_container(obj); |
267 UiContainerPrivate *ctn = ui_obj_container(obj); |
| 267 UI_APPLY_LAYOUT(ctn->layout, args); |
268 UiLayout layout = UI_ARGS2LAYOUT(args); |
| 268 |
269 |
| 269 char *name = args->name ? (char*)args->name : "dropdown"; |
270 char *name = args->name ? (char*)args->name : "dropdown"; |
| 270 Widget parent = ctn->prepare(ctn, xargs, &n); |
271 Widget parent = ui_container_prepare(ctn, &layout, xargs, &n); |
| 271 Widget widget = XmCreateDropDownList(parent, name, xargs, n); |
272 Widget widget = XmCreateDropDownList(parent, name, xargs, n); |
| 272 XtManageChild(widget); |
273 XtManageChild(widget); |
| |
274 ui_container_add(ctn, widget); |
| 273 |
275 |
| 274 UiVar* var = uic_widget_var(obj->ctx, obj->ctx, args->list, args->varname, UI_VAR_LIST); |
276 UiVar* var = uic_widget_var(obj->ctx, obj->ctx, args->list, args->varname, UI_VAR_LIST); |
| 275 |
277 |
| 276 UiListView *listview = malloc(sizeof(UiListView)); |
278 UiListView *listview = malloc(sizeof(UiListView)); |
| 277 memset(listview, 0, sizeof(UiListView)); |
279 memset(listview, 0, sizeof(UiListView)); |