- orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area));
-
- if (orientation == GTK_ORIENTATION_VERTICAL)
- {
- GArray *request_array;
- gint n_rows, i, full_size = 0;
-
- n_rows = gtk_tree_model_iter_n_children (priv->model, NULL);
-
- /* Get an array for the contextual request */
- request_array = g_array_new (FALSE, FALSE, sizeof (RowData));
- g_array_set_size (request_array, n_rows);
- memset (request_array->data, 0x0, n_rows * sizeof (RowData));
-
- /* Gather each contextual size into the request array */
- get_row_sizes (scaffold, request_array, for_size - priv->indent);
-
- /* Sum up the size and add some row spacing */
- for (i = 0; i < n_rows; i++)
- {
- RowData *data = &g_array_index (request_array, RowData, i);
-
- full_size += data->size;
- }
-
- full_size += MAX (0, n_rows -1) * priv->row_spacing;
-
- g_array_free (request_array, TRUE);
-
- *minimum_size = full_size;
- *natural_size = full_size;
- }
- else
- {
- GTK_WIDGET_GET_CLASS (widget)->get_preferred_width (widget, minimum_size, natural_size);
- }