forked from AuroraMiddleware/gtk
Draw the focus around the arrow if there is no label widget. (#124045,
2007-03-07 Matthias Clasen <mclasen@redhat.com> * gtk/gtkexpander.c (gtk_expander_paint_focus): Draw the focus around the arrow if there is no label widget. (#124045, Cody Russell) svn path=/trunk/; revision=17419
This commit is contained in:
parent
c0c2ac8e38
commit
9aad97770a
@ -1,3 +1,9 @@
|
|||||||
|
2007-03-07 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkexpander.c (gtk_expander_paint_focus): Draw the
|
||||||
|
focus around the arrow if there is no label widget.
|
||||||
|
(#124045, Cody Russell)
|
||||||
|
|
||||||
2007-03-07 Matthias Clasen <mclasen@redhat.com>
|
2007-03-07 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
* gtk/gtkcombo.c: (gtk_combo_init):
|
* gtk/gtkcombo.c: (gtk_combo_init):
|
||||||
|
@ -789,6 +789,7 @@ gtk_expander_paint_focus (GtkExpander *expander,
|
|||||||
{
|
{
|
||||||
GtkWidget *widget;
|
GtkWidget *widget;
|
||||||
GtkExpanderPrivate *priv;
|
GtkExpanderPrivate *priv;
|
||||||
|
GdkRectangle rect;
|
||||||
gint x, y, width, height;
|
gint x, y, width, height;
|
||||||
gboolean interior_focus;
|
gboolean interior_focus;
|
||||||
gint border_width;
|
gint border_width;
|
||||||
@ -815,35 +816,47 @@ gtk_expander_paint_focus (GtkExpander *expander,
|
|||||||
|
|
||||||
width = height = 0;
|
width = height = 0;
|
||||||
|
|
||||||
if (priv->label_widget && GTK_WIDGET_VISIBLE (priv->label_widget))
|
if (priv->label_widget)
|
||||||
{
|
{
|
||||||
GtkAllocation label_allocation = priv->label_widget->allocation;
|
if (GTK_WIDGET_VISIBLE (priv->label_widget))
|
||||||
|
{
|
||||||
|
GtkAllocation label_allocation = priv->label_widget->allocation;
|
||||||
|
|
||||||
width = label_allocation.width;
|
width = label_allocation.width;
|
||||||
height = label_allocation.height;
|
height = label_allocation.height;
|
||||||
}
|
}
|
||||||
|
|
||||||
width += 2 * focus_pad + 2 * focus_width;
|
width += 2 * focus_pad + 2 * focus_width;
|
||||||
height += 2 * focus_pad + 2 * focus_width;
|
height += 2 * focus_pad + 2 * focus_width;
|
||||||
|
|
||||||
x = widget->allocation.x + border_width;
|
x = widget->allocation.x + border_width;
|
||||||
y = widget->allocation.y + border_width;
|
y = widget->allocation.y + border_width;
|
||||||
|
|
||||||
if (ltr)
|
if (ltr)
|
||||||
{
|
{
|
||||||
if (interior_focus)
|
if (interior_focus)
|
||||||
x += expander_spacing * 2 + expander_size;
|
x += expander_spacing * 2 + expander_size;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
x += widget->allocation.width - 2 * border_width
|
||||||
|
- expander_spacing * 2 - expander_size - width;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!interior_focus)
|
||||||
|
{
|
||||||
|
width += expander_size + 2 * expander_spacing;
|
||||||
|
height = MAX (height, expander_size + 2 * expander_spacing);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
x += widget->allocation.width - 2 * border_width
|
get_expander_bounds (expander, &rect);
|
||||||
- expander_spacing * 2 - expander_size - width;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!interior_focus)
|
x = rect.x - focus_pad;
|
||||||
{
|
y = rect.y - focus_pad;
|
||||||
width += expander_size + 2 * expander_spacing;
|
width = rect.width + 2 * focus_pad;
|
||||||
height = MAX (height, expander_size + 2 * expander_spacing);
|
height = rect.height + 2 * focus_pad;
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_paint_focus (widget->style, widget->window, GTK_WIDGET_STATE (widget),
|
gtk_paint_focus (widget->style, widget->window, GTK_WIDGET_STATE (widget),
|
||||||
|
Loading…
Reference in New Issue
Block a user