mirror of https://github.com/GNOME/gimp.git
Port cell renderers to gtk_cell_renderer_get_state()
This commit is contained in:
parent
9244cbe898
commit
64d80e9aa4
|
@ -202,29 +202,7 @@ gimp_cell_renderer_dashes_render (GtkCellRenderer *cell,
|
|||
|
||||
gtk_cell_renderer_get_padding (cell, &xpad, &ypad);
|
||||
|
||||
if (! gtk_cell_renderer_get_sensitive (cell))
|
||||
{
|
||||
state = GTK_STATE_INSENSITIVE;
|
||||
}
|
||||
else if ((flags & GTK_CELL_RENDERER_SELECTED) == GTK_CELL_RENDERER_SELECTED)
|
||||
{
|
||||
if (gtk_widget_has_focus (widget))
|
||||
state = GTK_STATE_SELECTED;
|
||||
else
|
||||
state = GTK_STATE_ACTIVE;
|
||||
}
|
||||
else if ((flags & GTK_CELL_RENDERER_PRELIT) == GTK_CELL_RENDERER_PRELIT &&
|
||||
gtk_widget_get_state (widget) == GTK_STATE_PRELIGHT)
|
||||
{
|
||||
state = GTK_STATE_PRELIGHT;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gtk_widget_is_sensitive (widget))
|
||||
state = GTK_STATE_NORMAL;
|
||||
else
|
||||
state = GTK_STATE_INSENSITIVE;
|
||||
}
|
||||
state = gtk_cell_renderer_get_state (cell, widget, flags);
|
||||
|
||||
y = cell_area->y + (cell_area->height - DASHES_HEIGHT) / 2;
|
||||
width = cell_area->width - 2 * xpad;
|
||||
|
|
|
@ -278,7 +278,7 @@ gimp_cell_renderer_color_render (GtkCellRenderer *cell,
|
|||
if (rect.width > 2 && rect.height > 2)
|
||||
{
|
||||
GtkStyleContext *context = gtk_widget_get_style_context (widget);
|
||||
GtkStateFlags state = 0;
|
||||
GtkStateFlags state;
|
||||
GdkRGBA color;
|
||||
|
||||
cairo_rectangle (cr,
|
||||
|
@ -314,16 +314,7 @@ gimp_cell_renderer_color_render (GtkCellRenderer *cell,
|
|||
rect.x + 0.5, rect.y + 0.5,
|
||||
rect.width - 1, rect.height - 1);
|
||||
|
||||
if (! gtk_cell_renderer_get_sensitive (cell) ||
|
||||
! gtk_widget_is_sensitive (widget))
|
||||
{
|
||||
state |= GTK_STATE_FLAG_INSENSITIVE;
|
||||
}
|
||||
|
||||
if (flags & GTK_CELL_RENDERER_SELECTED)
|
||||
{
|
||||
state |= GTK_STATE_FLAG_SELECTED;
|
||||
}
|
||||
state = gtk_cell_renderer_get_state (cell, widget, flags);
|
||||
|
||||
cairo_set_line_width (cr, 1);
|
||||
gtk_style_context_get_color (context, state, &color);
|
||||
|
|
|
@ -355,7 +355,7 @@ gimp_cell_renderer_toggle_render (GtkCellRenderer *cell,
|
|||
GimpCellRendererTogglePrivate *priv = GET_PRIVATE (cell);
|
||||
GtkStyleContext *context = gtk_widget_get_style_context (widget);
|
||||
GdkRectangle toggle_rect;
|
||||
GtkStateType state = 0;
|
||||
GtkStateFlags state;
|
||||
gboolean active;
|
||||
gint xpad;
|
||||
gint ypad;
|
||||
|
@ -416,28 +416,20 @@ gimp_cell_renderer_toggle_render (GtkCellRenderer *cell,
|
|||
if (toggle_rect.width <= 0 || toggle_rect.height <= 0)
|
||||
return;
|
||||
|
||||
state = gtk_cell_renderer_get_state (cell, widget, flags);
|
||||
|
||||
active =
|
||||
gtk_cell_renderer_toggle_get_active (GTK_CELL_RENDERER_TOGGLE (cell));
|
||||
|
||||
if (active)
|
||||
state |= GTK_STATE_FLAG_ACTIVE;
|
||||
|
||||
if ((flags & GTK_CELL_RENDERER_SELECTED) == GTK_CELL_RENDERER_SELECTED)
|
||||
{
|
||||
state |= GTK_STATE_FLAG_SELECTED;
|
||||
|
||||
if (gtk_widget_has_focus (widget))
|
||||
state |= GTK_STATE_FLAG_FOCUSED;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (! gtk_cell_renderer_toggle_get_activatable (GTK_CELL_RENDERER_TOGGLE (cell)))
|
||||
state |= GTK_STATE_FLAG_INSENSITIVE;
|
||||
}
|
||||
if (! gtk_cell_renderer_toggle_get_activatable (GTK_CELL_RENDERER_TOGGLE (cell)))
|
||||
state |= GTK_STATE_FLAG_INSENSITIVE;
|
||||
|
||||
gtk_style_context_set_state (context, state);
|
||||
|
||||
if (flags & GTK_CELL_RENDERER_PRELIT)
|
||||
if (state & GTK_STATE_FLAG_PRELIGHT)
|
||||
gtk_render_frame (context, cr,
|
||||
toggle_rect.x, toggle_rect.y,
|
||||
toggle_rect.width, toggle_rect.height);
|
||||
|
|
Loading…
Reference in New Issue