ui/motif/container.c

changeset 901
884d70e847a3
parent 900
6e1485d5451a
child 903
019d078d665e
equal deleted inserted replaced
900:6e1485d5451a 901:884d70e847a3
53 53
54 void ui_container_add(UiContainerPrivate *container, Widget widget) { 54 void ui_container_add(UiContainerPrivate *container, Widget widget) {
55 container->add(container, widget); 55 container->add(container, widget);
56 } 56 }
57 57
58 void ui_container_apply_grid_margin(
59 Arg *args,
60 int *n,
61 int margin_left, int margin_right, int margin_top, int margin_bottom)
62 {
63 int c = *n;
64 XtSetArg(args[c], gridMarginLeft, margin_left); c++;
65 XtSetArg(args[c], gridMarginRight, margin_right); c++;
66 XtSetArg(args[c], gridMarginTop, margin_top); c++;
67 XtSetArg(args[c], gridMarginBottom, margin_bottom); c++;
68 *n = c;
69 }
58 70
59 /* ---------------------------- Box Container ---------------------------- */ 71 /* ---------------------------- Box Container ---------------------------- */
60 72
61 static UIWIDGET box_create(UiObject *obj, UiContainerArgs *args, UiBoxOrientation orientation) { 73 static UIWIDGET box_create(UiObject *obj, UiContainerArgs *args, UiBoxOrientation orientation) {
62 UiContainerPrivate *ctn = ui_obj_container(obj); 74 UiContainerPrivate *ctn = ui_obj_container(obj);
100 ctn->n = 0; 112 ctn->n = 0;
101 return (UiContainerX*)ctn; 113 return (UiContainerX*)ctn;
102 } 114 }
103 115
104 static Widget ui_box_container_prepare(UiBoxContainer *box, UiLayout *layout, Arg *args, int *n) { 116 static Widget ui_box_container_prepare(UiBoxContainer *box, UiLayout *layout, Arg *args, int *n) {
105 int a = *n; 117 ui_container_apply_grid_margin(args, n, layout->margin_left, layout->margin_right, layout->margin_top, layout->margin_bottom);
106 box->n++; 118 box->n++;
107 return box->container.widget; 119 return box->container.widget;
108 } 120 }
109 121
110 Widget ui_vbox_prepare(UiContainerPrivate *ctn, UiLayout *layout, Arg *args, int *n) { 122 Widget ui_vbox_prepare(UiContainerPrivate *ctn, UiLayout *layout, Arg *args, int *n) {
149 161
150 UiContainerPrivate *ctn = ui_obj_container(obj); 162 UiContainerPrivate *ctn = ui_obj_container(obj);
151 UiLayout layout = UI_ARGS2LAYOUT(args); 163 UiLayout layout = UI_ARGS2LAYOUT(args);
152 164
153 Widget parent = ui_container_prepare(ctn, &layout, xargs, &n); 165 Widget parent = ui_container_prepare(ctn, &layout, xargs, &n);
154 XtSetArg(xargs[n], gridMargin, args->margin); n++; 166 XtSetArg(xargs[n], gridPaddingLeft, 10); n++;
167 XtSetArg(xargs[n], gridPaddingRight, 10); n++;
168 XtSetArg(xargs[n], gridPaddingTop, 10); n++;
169 XtSetArg(xargs[n], gridPaddingBottom, 10); n++;
155 XtSetArg(xargs[n], gridColumnSpacing, args->columnspacing); n++; 170 XtSetArg(xargs[n], gridColumnSpacing, args->columnspacing); n++;
156 XtSetArg(xargs[n], gridRowSpacing, args->rowspacing); n++; 171 XtSetArg(xargs[n], gridRowSpacing, args->rowspacing); n++;
157 Widget grid = XtCreateManagedWidget(args->name ? args->name : "gridcontainer", gridClass, parent, xargs, n); 172 Widget grid = XtCreateManagedWidget(args->name ? args->name : "gridcontainer", gridClass, parent, xargs, n);
158 ui_container_add(ctn, grid); 173 ui_container_add(ctn, grid);
159 174
216 if(layout->vexpand) { 231 if(layout->vexpand) {
217 XtSetArg(args[a], gridVExpand, TRUE); a++; 232 XtSetArg(args[a], gridVExpand, TRUE); a++;
218 } 233 }
219 234
220 *n = a; 235 *n = a;
236 ui_container_apply_grid_margin(args, n, layout->margin_left, layout->margin_right, layout->margin_top, layout->margin_bottom);
221 return ctn->widget; 237 return ctn->widget;
222 } 238 }
223 239
224 void ui_grid_container_add(UiContainerPrivate *ctn, Widget widget) { 240 void ui_grid_container_add(UiContainerPrivate *ctn, Widget widget) {
225 UiGridContainer *grid = (UiGridContainer*)ctn; 241 UiGridContainer *grid = (UiGridContainer*)ctn;

mercurial