summaryrefslogtreecommitdiff
path: root/gtk/gtktable.c
diff options
context:
space:
mode:
authorTim Janik <timj@gtk.org>2002-02-12 01:39:28 +0000
committerTim Janik <timj@src.gnome.org>2002-02-12 01:39:28 +0000
commit1cc88c4cf8ce7b8da715a00122d10161c6fb1ce2 (patch)
tree63e61fba9a4dca49198f098113a6fe3bdfd1b96e /gtk/gtktable.c
parentc823b8f6fd93c29ffcf10d7e2530b4e48d6444f5 (diff)
downloadgtk+-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.c56
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