ui/motif/button.c

changeset 112
c3f2f16fa4b8
parent 108
77254bd6dccb
equal deleted inserted replaced
111:81c4f73236a4 112:c3f2f16fa4b8
44 UIWIDGET ui_button_create(UiObject* obj, UiButtonArgs *args) { 44 UIWIDGET ui_button_create(UiObject* obj, UiButtonArgs *args) {
45 Arg xargs[16]; 45 Arg xargs[16];
46 int n = 0; 46 int n = 0;
47 47
48 UiContainerPrivate *ctn = ui_obj_container(obj); 48 UiContainerPrivate *ctn = ui_obj_container(obj);
49 UI_APPLY_LAYOUT(ctn->layout, args); 49 UiLayout layout = UI_ARGS2LAYOUT(args);
50 50
51 Widget parent = ctn->prepare(ctn, xargs, &n); 51 Widget parent = ui_container_prepare(ctn, &layout, xargs, &n);
52 52
53 XmString label = NULL; 53 XmString label = NULL;
54 if(args->label) { 54 if(args->label) {
55 label = XmStringCreateLocalized((char*)args->label); 55 label = XmStringCreateLocalized((char*)args->label);
56 XtSetArg(xargs[n], XmNlabelString, label); n++; 56 XtSetArg(xargs[n], XmNlabelString, label); n++;
57 } 57 }
58 58
59 char *name = args->name ? (char*)args->name : "button"; 59 char *name = args->name ? (char*)args->name : "button";
60 Widget button = XmCreatePushButton(parent, name, xargs, n); 60 Widget button = XmCreatePushButton(parent, name, xargs, n);
61 XtManageChild(button); 61 XtManageChild(button);
62 ctn->add(ctn, button); 62 ui_container_add(ctn, button);
63 63
64 ui_set_widget_groups(obj->ctx, button, args->groups); 64 ui_set_widget_groups(obj->ctx, button, args->groups);
65 65
66 if(args->onclick) { 66 if(args->onclick) {
67 UiEventData *eventdata = malloc(sizeof(UiEventData)); 67 UiEventData *eventdata = malloc(sizeof(UiEventData));
99 UIWIDGET ui_togglebutton_create(UiObject* obj, UiToggleArgs *args) { 99 UIWIDGET ui_togglebutton_create(UiObject* obj, UiToggleArgs *args) {
100 Arg xargs[16]; 100 Arg xargs[16];
101 int n = 0; 101 int n = 0;
102 102
103 UiContainerPrivate *ctn = ui_obj_container(obj); 103 UiContainerPrivate *ctn = ui_obj_container(obj);
104 UI_APPLY_LAYOUT(ctn->layout, args); 104 UiLayout layout = UI_ARGS2LAYOUT(args);
105 105
106 Widget parent = ctn->prepare(ctn, xargs, &n); 106 Widget parent = ui_container_prepare(ctn, &layout, xargs, &n);
107 XtSetArg(xargs[n], XmNfillOnSelect, True); n++; 107 XtSetArg(xargs[n], XmNfillOnSelect, True); n++;
108 XtSetArg(xargs[n], XmNindicatorOn, False); n++; 108 XtSetArg(xargs[n], XmNindicatorOn, False); n++;
109 109
110 XmString label = NULL; 110 XmString label = NULL;
111 if(args->label) { 111 if(args->label) {
114 } 114 }
115 115
116 char *name = args->name ? (char*)args->name : "togglebutton"; 116 char *name = args->name ? (char*)args->name : "togglebutton";
117 Widget button = XmCreateToggleButton(parent, name, xargs, n); 117 Widget button = XmCreateToggleButton(parent, name, xargs, n);
118 XtManageChild(button); 118 XtManageChild(button);
119 ctn->add(ctn, button); 119 ui_container_add(ctn, button);
120 120
121 ui_set_widget_groups(obj->ctx, button, args->groups); 121 ui_set_widget_groups(obj->ctx, button, args->groups);
122 122
123 ui_bind_togglebutton(obj, button, args->varname, args->value, args->onchange, args->onchangedata, args->enable_group); 123 ui_bind_togglebutton(obj, button, args->varname, args->value, args->onchange, args->onchangedata, args->enable_group);
124 124
129 UIWIDGET ui_checkbox_create(UiObject* obj, UiToggleArgs *args) { 129 UIWIDGET ui_checkbox_create(UiObject* obj, UiToggleArgs *args) {
130 Arg xargs[16]; 130 Arg xargs[16];
131 int n = 0; 131 int n = 0;
132 132
133 UiContainerPrivate *ctn = ui_obj_container(obj); 133 UiContainerPrivate *ctn = ui_obj_container(obj);
134 UI_APPLY_LAYOUT(ctn->layout, args); 134 UiLayout layout = UI_ARGS2LAYOUT(args);
135 135
136 Widget parent = ctn->prepare(ctn, xargs, &n); 136 Widget parent = ui_container_prepare(ctn, &layout, xargs, &n);
137 137
138 XmString label = NULL; 138 XmString label = NULL;
139 if(args->label) { 139 if(args->label) {
140 label = XmStringCreateLocalized((char*)args->label); 140 label = XmStringCreateLocalized((char*)args->label);
141 XtSetArg(xargs[n], XmNlabelString, label); n++; 141 XtSetArg(xargs[n], XmNlabelString, label); n++;
142 } 142 }
143 143
144 char *name = args->name ? (char*)args->name : "button"; 144 char *name = args->name ? (char*)args->name : "button";
145 Widget button = XmCreateToggleButton(parent, name, xargs, n); 145 Widget button = XmCreateToggleButton(parent, name, xargs, n);
146 XtManageChild(button); 146 XtManageChild(button);
147 ctn->add(ctn, button); 147 ui_container_add(ctn, button);
148 148
149 ui_set_widget_groups(obj->ctx, button, args->groups); 149 ui_set_widget_groups(obj->ctx, button, args->groups);
150 150
151 ui_bind_togglebutton(obj, button, args->varname, args->value, args->onchange, args->onchangedata, args->enable_group); 151 ui_bind_togglebutton(obj, button, args->varname, args->value, args->onchange, args->onchangedata, args->enable_group);
152 152
348 UIWIDGET ui_radiobutton_create(UiObject* obj, UiToggleArgs *args) { 348 UIWIDGET ui_radiobutton_create(UiObject* obj, UiToggleArgs *args) {
349 Arg xargs[16]; 349 Arg xargs[16];
350 int n = 0; 350 int n = 0;
351 351
352 UiContainerPrivate *ctn = ui_obj_container(obj); 352 UiContainerPrivate *ctn = ui_obj_container(obj);
353 UI_APPLY_LAYOUT(ctn->layout, args); 353 UiLayout layout = UI_ARGS2LAYOUT(args);
354 354
355 Widget parent = ctn->prepare(ctn, xargs, &n); 355 Widget parent = ui_container_prepare(ctn, &layout, xargs, &n);
356 XtSetArg(xargs[n], XmNindicatorType, XmONE_OF_MANY_ROUND); n++; 356 XtSetArg(xargs[n], XmNindicatorType, XmONE_OF_MANY_ROUND); n++;
357 XmString label = NULL; 357 XmString label = NULL;
358 if(args->label) { 358 if(args->label) {
359 label = XmStringCreateLocalized((char*)args->label); 359 label = XmStringCreateLocalized((char*)args->label);
360 XtSetArg(xargs[n], XmNlabelString, label); n++; 360 XtSetArg(xargs[n], XmNlabelString, label); n++;
361 } 361 }
362 362
363 char *name = args->name ? (char*)args->name : "button"; 363 char *name = args->name ? (char*)args->name : "button";
364 Widget button = XmCreateToggleButton(parent, name, xargs, n); 364 Widget button = XmCreateToggleButton(parent, name, xargs, n);
365 XtManageChild(button); 365 XtManageChild(button);
366 ctn->add(ctn, button); 366 ui_container_add(ctn, button);
367 367
368 ui_set_widget_groups(obj->ctx, button, args->groups); 368 ui_set_widget_groups(obj->ctx, button, args->groups);
369 369
370 UiVar* var = uic_widget_var(obj->ctx, obj->ctx, args->value, args->varname, UI_VAR_INTEGER); 370 UiVar* var = uic_widget_var(obj->ctx, obj->ctx, args->value, args->varname, UI_VAR_INTEGER);
371 if(var) { 371 if(var) {

mercurial