Fixed some bugs with set_default_size.

Sun Feb  7 19:49:21 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwindow.c (gtk_window_move_resize): Fixed some
	  bugs with set_default_size.

Sat Feb  6 13:23:51 1999  Owen Taylor  <otaylor@redhat.com>

	* docs/Changes-1.2.txt: Added information about
	 the change to gtk_widget_size_request().

	* gtk/gtkentry.c: Call gtk_widget_get_child_requisition
	 explicitely since we differentiate between the usize
	 set by the user and what we got. (Ugh)

	* gtk/gtkwidget.[ch] (gtk_widget_get_child_requisition):
	 New function to return the effective size of a widget
	 as it looks to its parent.

	* gtk/gtkwidget.c (gtk_widget_size_request): Leave
	 widget->requisition set to exactly what the widget
	 asked for, and then make a copy of that into
	 the requisition argument. Allow a NULL requisition
	 argument, and, if G_ENABLE_DEBUG, warn if
	 requisition == &widget->requisition.

	* gtkalignment.c gtkaspectframe.c gtkbutton.c gtkclist.c
	  gtkcontainer.c gtkentry.c gtkeventbox.c gtkfixed.c
	  gtkframe.c gtkhandlebox.c gtkhbox.c gtkhpaned.c
	  gtklayout.c gtklist.c gtklistitem.c gtkmenu.c
	  gtkmenubar.c gtkmenuitem.c gtknotebook.c
	  gtkoptionmenu.c gtkpacker.c gtkscrolledwindow.c
	  gtktable.c gtktoolbar.c gtktree.c gtktreeitem.c
	  gtkvbox.c gtkviewport.c gtkvpaned.c gtkwindow.c

	 Avoid calling gtk_widget_size_request with
	 requisition == widget->requisition; use
	 gtk_widget_get_child_requisition to get the
	 size of children.
This commit is contained in:
Owen Taylor
1999-02-10 02:35:09 +00:00
committed by Owen Taylor
parent 84d9f5f9a1
commit d1bda8d562
44 changed files with 747 additions and 222 deletions

View File

@ -250,6 +250,7 @@ gtk_fixed_size_request (GtkWidget *widget,
GtkFixed *fixed;
GtkFixedChild *child;
GList *children;
GtkRequisition child_requisition;
g_return_if_fail (widget != NULL);
g_return_if_fail (GTK_IS_FIXED (widget));
@ -267,14 +268,14 @@ gtk_fixed_size_request (GtkWidget *widget,
if (GTK_WIDGET_VISIBLE (child->widget))
{
gtk_widget_size_request (child->widget, &child->widget->requisition);
gtk_widget_size_request (child->widget, &child_requisition);
requisition->height = MAX (requisition->height,
child->y +
child->widget->requisition.height);
child_requisition.height);
requisition->width = MAX (requisition->width,
child->x +
child->widget->requisition.width);
child_requisition.width);
}
}
@ -289,6 +290,7 @@ gtk_fixed_size_allocate (GtkWidget *widget,
GtkFixed *fixed;
GtkFixedChild *child;
GtkAllocation child_allocation;
GtkRequisition child_requisition;
GList *children;
guint16 border_width;
@ -316,10 +318,11 @@ gtk_fixed_size_allocate (GtkWidget *widget,
if (GTK_WIDGET_VISIBLE (child->widget))
{
gtk_widget_get_child_requisition (child->widget, &child_requisition);
child_allocation.x = child->x + border_width;
child_allocation.y = child->y + border_width;
child_allocation.width = child->widget->requisition.width;
child_allocation.height = child->widget->requisition.height;
child_allocation.width = child_requisition.width;
child_allocation.height = child_requisition.height;
gtk_widget_size_allocate (child->widget, &child_allocation);
}
}