| 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; |