ui/motif/text.c

changeset 112
c3f2f16fa4b8
parent 108
77254bd6dccb
equal deleted inserted replaced
111:81c4f73236a4 112:c3f2f16fa4b8
43 int n = 0; 43 int n = 0;
44 44
45 XtSetArg(xargs[n], XmNeditMode, XmMULTI_LINE_EDIT); n++; 45 XtSetArg(xargs[n], XmNeditMode, XmMULTI_LINE_EDIT); n++;
46 46
47 UiContainerPrivate *ctn = ui_obj_container(obj); 47 UiContainerPrivate *ctn = ui_obj_container(obj);
48 UI_APPLY_LAYOUT(ctn->layout, args); 48 UiLayout layout = UI_ARGS2LAYOUT(args);
49 49
50 Widget parent = ctn->prepare(ctn, xargs, &n); 50 Widget parent = ui_container_prepare(ctn, &layout, xargs, &n);
51 char *name = args->name ? (char*)args->name : "textarea"; 51 char *name = args->name ? (char*)args->name : "textarea";
52 XtSetArg(xargs[n], XmNwidth, 100); n++; 52 XtSetArg(xargs[n], XmNwidth, 100); n++;
53 Widget widget = XmCreateScrolledText(parent, name, xargs, n); 53 Widget widget = XmCreateScrolledText(parent, name, xargs, n);
54 XtManageChild(widget); 54 XtManageChild(widget);
55 ui_container_add(ctn, widget);
55 56
56 UiVar* var = uic_widget_var(obj->ctx, obj->ctx, args->value, args->varname, UI_VAR_TEXT); 57 UiVar* var = uic_widget_var(obj->ctx, obj->ctx, args->value, args->varname, UI_VAR_TEXT);
57 58
58 UiTextArea *textarea = malloc(sizeof(UiTextArea)); 59 UiTextArea *textarea = malloc(sizeof(UiTextArea));
59 memset(textarea, 0, sizeof(UiTextArea)); 60 memset(textarea, 0, sizeof(UiTextArea));
394 if(password) { 395 if(password) {
395 // TODO 396 // TODO
396 } 397 }
397 398
398 UiContainerPrivate *ctn = ui_obj_container(obj); 399 UiContainerPrivate *ctn = ui_obj_container(obj);
399 UI_APPLY_LAYOUT(ctn->layout, args); 400 UiLayout layout = UI_ARGS2LAYOUT(args);
400 401
401 Widget parent = ctn->prepare(ctn, xargs, &n); 402 Widget parent = ui_container_prepare(ctn, &layout, xargs, &n);
402 char *name = args->name ? (char*)args->name : "textfield"; 403 char *name = args->name ? (char*)args->name : "textfield";
403 Widget textfield = XmCreateTextField(parent, name, xargs, n); 404 Widget textfield = XmCreateTextField(parent, name, xargs, n);
404 XtManageChild(textfield); 405 XtManageChild(textfield);
406 ui_container_add(ctn, textfield);
405 407
406 ui_set_widget_groups(obj->ctx, textfield, args->groups); 408 ui_set_widget_groups(obj->ctx, textfield, args->groups);
407 409
408 UiVar* var = uic_widget_var(obj->ctx, obj->ctx, args->value, args->varname, UI_VAR_STRING); 410 UiVar* var = uic_widget_var(obj->ctx, obj->ctx, args->value, args->varname, UI_VAR_STRING);
409 if(var) { 411 if(var) {
969 UIWIDGET ui_path_textfield_create(UiObject* obj, UiPathTextFieldArgs *args) { 971 UIWIDGET ui_path_textfield_create(UiObject* obj, UiPathTextFieldArgs *args) {
970 Arg xargs[16]; 972 Arg xargs[16];
971 int n = 0; 973 int n = 0;
972 974
973 UiContainerPrivate *ctn = ui_obj_container(obj); 975 UiContainerPrivate *ctn = ui_obj_container(obj);
974 UI_APPLY_LAYOUT(ctn->layout, args); 976 UiLayout layout = UI_ARGS2LAYOUT(args);
975 977
976 Widget parent = ctn->prepare(ctn, xargs, &n); 978 Widget parent = ui_container_prepare(ctn, &layout, xargs, &n);
977 // TODO: name 979 // TODO: name
978 980
979 981
980 PathBar *pathbar = CreatePathBar(parent, xargs, n); 982 PathBar *pathbar = CreatePathBar(parent, xargs, n);
981 if(!args->getpathelm) { 983 if(!args->getpathelm) {
985 pathbar->getpathelmdata = args->getpathelmdata; 987 pathbar->getpathelmdata = args->getpathelmdata;
986 } 988 }
987 989
988 990
989 XtManageChild(pathbar->widget); 991 XtManageChild(pathbar->widget);
990 ctn->add(ctn, pathbar->widget); 992 ui_container_add(ctn, pathbar->widget);
991 993
992 UiVar* var = uic_widget_var(obj->ctx, obj->ctx, args->value, args->varname, UI_VAR_STRING); 994 UiVar* var = uic_widget_var(obj->ctx, obj->ctx, args->value, args->varname, UI_VAR_STRING);
993 if (var) { 995 if (var) {
994 UiString* value = (UiString*)var->value; 996 UiString* value = (UiString*)var->value;
995 value->obj = pathbar; 997 value->obj = pathbar;

mercurial