| 118 } |
118 } |
| 119 |
119 |
| 120 UIWIDGET ui_grid_create(UiObject *obj, UiContainerArgs *args) { |
120 UIWIDGET ui_grid_create(UiObject *obj, UiContainerArgs *args) { |
| 121 GridLayout *grid = [[GridLayout alloc] init]; |
121 GridLayout *grid = [[GridLayout alloc] init]; |
| 122 grid.translatesAutoresizingMaskIntoConstraints = false; |
122 grid.translatesAutoresizingMaskIntoConstraints = false; |
| |
123 grid.columnspacing = args->columnspacing; |
| |
124 grid.rowspacing = args->rowspacing; |
| 123 |
125 |
| 124 // add box to the parent |
126 // add box to the parent |
| 125 UiLayout layout = UI_INIT_LAYOUT(args); |
127 UiLayout layout = UI_INIT_LAYOUT(args); |
| 126 ui_container_add(obj, grid, &layout); |
128 ui_container_add(obj, grid, &layout); |
| 127 |
129 |
| 158 |
160 |
| 159 void ui_container_add(UiObject *obj, NSView *view, UiLayout *layout) { |
161 void ui_container_add(UiObject *obj, NSView *view, UiLayout *layout) { |
| 160 UiContainerX *ctn = obj->container_end; |
162 UiContainerX *ctn = obj->container_end; |
| 161 id<Container> container = (__bridge id<Container>)ctn->container; |
163 id<Container> container = (__bridge id<Container>)ctn->container; |
| 162 container.uilayout = *layout; |
164 container.uilayout = *layout; |
| 163 [container addView:view]; |
165 NSEdgeInsets margin = {0}; // TODO |
| |
166 [container addView:view margin:margin]; |
| 164 } |
167 } |
| 165 |
168 |
| 166 /* ---------------------- public layout functions ----------------------- */ |
169 /* ---------------------- public layout functions ----------------------- */ |
| 167 |
170 |
| 168 void ui_newline(UiObject *obj) { |
171 void ui_newline(UiObject *obj) { |