#include "gui_container_info.h"
#include "gui.h"
uint16_t gui_container_info_get_components_count(gui_container_info_t info) {
if (info.type == CONT_GROUP) {
return info.payload.group.components_count;
}
return 0;
}
container_t gui_container_info_create(gui_container_info_t info, component_t *components, uint16_t components_count) {
switch(info.type) {
case CONT_TABLE:
{
container_t container = gui_list_container_create(
NULL, 0, info.payload.list.item_height,
info.payload.list.render_item_fn, info.payload.list.render_header_fn);
return container;
}
break;
case CONT_ONE:
return gui_one_container_create(0, 0);
case CONT_GROUP:
return gui_group_container_create(0, 0, components, components_count);
}
// TODO: figure out what to dO
return gui_one_container_create(0, 0);
}
void gui_container_info_init(container_t *container, void *state,
uint32_t items_count, int16_t x, int16_t y) {
container->x = x;
container->y = y;
switch(container->type) {
case CONT_ONE:
// do nothing
break;
case CONT_GROUP:
// do nothing
break;
case CONT_TABLE:
gui_list_container_set_state(container, state, items_count);
break;
}
}