static VALUE rg_size(VALUE self) { guint rows, columns; gtk_table_get_size(_SELF(self), &rows, &columns); return rb_ary_new3(2, UINT2NUM(rows), UINT2NUM(columns)); }
static void relayout_table (GtkTable * table, GList * element_list) { guint maxcols, maxrows; gtk_table_get_size (GTK_TABLE (table), &maxrows, &maxcols); gint row = 0, col = 0; do { GtkWidget *element = GTK_WIDGET (element_list->data); gtk_table_attach (table, element, col, col + 1, row, row + 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); col++; if (col == maxcols) { col = 0; row++; } } while (NULL != (element_list = g_list_next (element_list))); }