diff options
author | Tim Janik <timj@gtk.org> | 2002-02-12 01:39:28 +0000 |
---|---|---|
committer | Tim Janik <timj@src.gnome.org> | 2002-02-12 01:39:28 +0000 |
commit | 1cc88c4cf8ce7b8da715a00122d10161c6fb1ce2 (patch) | |
tree | 63e61fba9a4dca49198f098113a6fe3bdfd1b96e /gtk/gtktable.c | |
parent | c823b8f6fd93c29ffcf10d7e2530b4e48d6444f5 (diff) | |
download | gtk+-1cc88c4cf8ce7b8da715a00122d10161c6fb1ce2.tar.gz |
always spread out the extra space allocated for the homogeneous case, as
Tue Feb 12 02:19:49 2002 Tim Janik <timj@gtk.org>
* gtk/gtktable.c (gtk_table_size_allocate_pass1): always spread out
the extra space allocated for the homogeneous case, as we don't
properly deal with readjusting table allocation within it. (for this
purpose, a GtkAlignment can be used as table parent).
Diffstat (limited to 'gtk/gtktable.c')
-rw-r--r-- | gtk/gtktable.c | 56 |
1 files changed, 17 insertions, 39 deletions
diff --git a/gtk/gtktable.c b/gtk/gtktable.c index eedbb7a995..68e2fef02a 100644 --- a/gtk/gtktable.c +++ b/gtk/gtktable.c @@ -1335,27 +1335,16 @@ gtk_table_size_allocate_pass1 (GtkTable *table) if (table->homogeneous) { - nexpand = 0; - for (col = 0; col < table->ncols; col++) - if (table->cols[col].expand) - { - nexpand += 1; - break; - } + width = real_width; - if (nexpand > 0) + for (col = 0; col + 1 < table->ncols; col++) + width -= table->cols[col].spacing; + + for (col = 0; col < table->ncols; col++) { - width = real_width; - - for (col = 0; col + 1 < table->ncols; col++) - width -= table->cols[col].spacing; - - for (col = 0; col < table->ncols; col++) - { - extra = width / (table->ncols - col); - table->cols[col].allocation = MAX (1, extra); - width -= extra; - } + extra = width / (table->ncols - col); + table->cols[col].allocation = MAX (1, extra); + width -= extra; } } else @@ -1423,28 +1412,17 @@ gtk_table_size_allocate_pass1 (GtkTable *table) if (table->homogeneous) { - nexpand = 0; - for (row = 0; row < table->nrows; row++) - if (table->rows[row].expand) - { - nexpand += 1; - break; - } + height = real_height; + + for (row = 0; row + 1 < table->nrows; row++) + height -= table->rows[row].spacing; + - if (nexpand > 0) + for (row = 0; row < table->nrows; row++) { - height = real_height; - - for (row = 0; row + 1 < table->nrows; row++) - height -= table->rows[row].spacing; - - - for (row = 0; row < table->nrows; row++) - { - extra = height / (table->nrows - row); - table->rows[row].allocation = MAX (1, extra); - height -= extra; - } + extra = height / (table->nrows - row); + table->rows[row].allocation = MAX (1, extra); + height -= extra; } } else |