gtk+ r19886 - in trunk: . gtk
- From: aruiz svn gnome org
- To: svn-commits-list gnome org
- Subject: gtk+ r19886 - in trunk: . gtk
- Date: Sun, 16 Mar 2008 01:37:12 +0000 (GMT)
Author: aruiz
Date: Sun Mar 16 01:37:12 2008
New Revision: 19886
URL: http://svn.gnome.org/viewvc/gtk+?rev=19886&view=rev
Log:
2008-16-03 Alberto Ruiz <aruiz gnome org>
* gtl/gtkcombobox.c: (gtk_combo_box_size_allocate) The child is now aware of
both the combobox and frame (if has-frame is set) thickness and border. (bug #521442)
Modified:
trunk/ChangeLog
trunk/gtk/gtkcombobox.c
Modified: trunk/gtk/gtkcombobox.c
==============================================================================
--- trunk/gtk/gtkcombobox.c (original)
+++ trunk/gtk/gtkcombobox.c Sun Mar 16 01:37:12 2008
@@ -2284,6 +2284,10 @@
{
/* list mode */
+ /* Combobox thickness + border-width */
+ int delta_x = shadow_width + GTK_CONTAINER (widget)->border_width;
+ int delta_y = shadow_height + GTK_CONTAINER (widget)->border_width;
+
/* button */
GTK_COMBO_BOX_SIZE_ALLOCATE_BUTTON
@@ -2292,38 +2296,40 @@
child.x = allocation->x + req.width;
else
child.x = allocation->x;
+
child.y = allocation->y;
child.width = allocation->width - req.width;
child.height = allocation->height;
if (priv->cell_view_frame)
{
- child.width = MAX (1, child.width);
- child.height = MAX (1, child.height);
+ child.x += delta_x;
+ child.y += delta_y;
+ child.width = MAX (1, child.width - delta_x * 2);
+ child.height = MAX (1, child.height - delta_y * 2);
gtk_widget_size_allocate (priv->cell_view_frame, &child);
/* the sample */
- if (priv->has_frame)
- {
- child.x +=
- GTK_CONTAINER (priv->cell_view_frame)->border_width +
- GTK_WIDGET (priv->cell_view_frame)->style->xthickness;
- child.y +=
- GTK_CONTAINER (priv->cell_view_frame)->border_width +
- GTK_WIDGET (priv->cell_view_frame)->style->ythickness;
- child.width -= 2 * (
- GTK_CONTAINER (priv->cell_view_frame)->border_width +
- GTK_WIDGET (priv->cell_view_frame)->style->xthickness);
- child.height -= 2 * (
- GTK_CONTAINER (priv->cell_view_frame)->border_width +
- GTK_WIDGET (priv->cell_view_frame)->style->ythickness);
- }
+ if (priv->has_frame)
+ {
+ delta_x = GTK_CONTAINER (priv->cell_view_frame)->border_width +
+ GTK_WIDGET (priv->cell_view_frame)->style->xthickness;
+ delta_y = GTK_CONTAINER (priv->cell_view_frame)->border_width +
+ GTK_WIDGET (priv->cell_view_frame)->style->ythickness;
+
+ child.x += delta_x;
+ child.y += delta_y;
+ child.width -= delta_x * 2;
+ child.height -= delta_y * 2;
+ }
+ }
+ else
+ {
+ child.x += delta_x;
+ child.y += delta_y;
+ child.width -= delta_x * 2;
+ child.height -= delta_y * 2;
}
-
- child.x += shadow_width;
- child.y += shadow_height;
- child.width -= shadow_width * 2;
- child.height -= shadow_height * 2;
child.width = MAX (1, child.width);
child.height = MAX (1, child.height);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]