diff options
author | Matthias Clasen <mclasen@redhat.com> | 2004-04-14 20:26:26 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2004-04-14 20:26:26 +0000 |
commit | b18a684f280d75b738d68eb4df62606f8afe6d23 (patch) | |
tree | f9556e6835175b4f34b7d1888d0dcf91ccf6cf95 /gtk/gtkcellview.c | |
parent | 5dc40ee3b447902c7d2078b08775314d1eb869a1 (diff) | |
download | gtk+-b18a684f280d75b738d68eb4df62606f8afe6d23.tar.gz |
Make the arrow and separator regular children of an hbox inside the
2004-04-14 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c: Make the arrow and separator regular
children of an hbox inside the button, and propagate state
changes from the button to the cell view. (part of the fix
for #138650, should also fix #137535)
* gtk/gtkcellview.c (gtk_cell_view_expose): Pass the PRELIT
state to gtk_cell_renderer_render() when prelighted. (part
of the fix for #138650)
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render):
Use PRELIGHT state when appropriate. (part of the fix for
#138650)
Diffstat (limited to 'gtk/gtkcellview.c')
-rw-r--r-- | gtk/gtkcellview.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index 1b44316e33..8ca33fd998 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -408,6 +408,7 @@ gtk_cell_view_expose (GtkWidget *widget, GList *i; GtkCellView *cellview; GdkRectangle area; + GtkCellRendererState state; gboolean rtl = (gtk_widget_get_direction(widget) == GTK_TEXT_DIR_RTL); cellview = GTK_CELL_VIEW (widget); @@ -450,6 +451,11 @@ gtk_cell_view_expose (GtkWidget *widget, area.x = widget->allocation.x + (rtl ? widget->allocation.width : 0); area.y = widget->allocation.y; + if (GTK_WIDGET_STATE (widget) == GTK_STATE_PRELIGHT) + state = GTK_CELL_RENDERER_PRELIT; + else + state = 0; + /* PACK_START */ for (i = cellview->priv->cell_list; i; i = i->next) { @@ -469,7 +475,7 @@ gtk_cell_view_expose (GtkWidget *widget, event->window, widget, /* FIXME! */ - &area, &area, &event->area, 0); + &area, &area, &event->area, state); if (!rtl) area.x += info->real_width; @@ -496,7 +502,7 @@ gtk_cell_view_expose (GtkWidget *widget, widget->window, widget, /* FIXME ! */ - &area, &area, &event->area, 0); + &area, &area, &event->area, state); if (rtl) area.x += info->real_width; } |