ui/motif/list.c

changeset 112
c3f2f16fa4b8
parent 108
77254bd6dccb
equal deleted inserted replaced
111:81c4f73236a4 112:c3f2f16fa4b8
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));

mercurial