X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-cell-renderer-button.c;h=e801cc6bf30ba6c1e8e42b7e1d40ee45e6bf8f70;hb=f02c89686fbe706e2800a91d13933f1129ec5c36;hp=0f550767364c7a299acc4a8364a6d3539ed35817;hpb=4838697d2603d2ac7c480beff9baceeccc46846f;p=pspp diff --git a/src/ui/gui/psppire-cell-renderer-button.c b/src/ui/gui/psppire-cell-renderer-button.c index 0f55076736..e801cc6bf3 100644 --- a/src/ui/gui/psppire-cell-renderer-button.c +++ b/src/ui/gui/psppire-cell-renderer-button.c @@ -27,8 +27,9 @@ #include "gl/configmake.h" #include "gl/relocatable.h" -#include "gettext.h" -#define _(msgid) gettext (msgid) +G_GNUC_BEGIN_IGNORE_DEPRECATIONS + +#define P_(msgid) (msgid) static void psppire_cell_renderer_button_dispose (GObject *); static void psppire_cell_renderer_button_finalize (GObject *); @@ -181,17 +182,16 @@ update_style_cache (PsppireCellRendererButton *button, static void psppire_cell_renderer_button_render (GtkCellRenderer *cell, - GdkDrawable *window, + cairo_t *cr, GtkWidget *widget, - GdkRectangle *background_area, - GdkRectangle *cell_area, - GdkRectangle *expose_area, + const GdkRectangle *background_area, + const GdkRectangle *cell_area, GtkCellRendererState flags) { GtkStateType state_type; PsppireCellRendererButton *button = PSPPIRE_CELL_RENDERER_BUTTON (cell); gfloat xalign, yalign; - + if (!button->editable || ! gtk_cell_renderer_get_sensitive (cell)) state_type = GTK_STATE_INSENSITIVE; else if (flags & GTK_CELL_RENDERER_SELECTED) @@ -205,7 +205,7 @@ psppire_cell_renderer_button_render (GtkCellRenderer *cell, state_type = GTK_STATE_PRELIGHT; else { - if (gtk_widget_get_state (widget) == GTK_STATE_INSENSITIVE) + if (gtk_widget_get_state_flags (widget) == GTK_STATE_FLAG_INSENSITIVE) state_type = GTK_STATE_INSENSITIVE; else state_type = GTK_STATE_NORMAL; @@ -213,8 +213,10 @@ psppire_cell_renderer_button_render (GtkCellRenderer *cell, gtk_cell_renderer_get_alignment (cell, &xalign, &yalign); + update_style_cache (button, widget); - facade_button_render (widget, window, expose_area, + + facade_button_render (widget, cr, cell_area, button->border_width, button->button_style, state_type, button->label_style, button->label, button->xpad, @@ -222,11 +224,9 @@ psppire_cell_renderer_button_render (GtkCellRenderer *cell, if (button->slash) { - cairo_t *cr = gdk_cairo_create (window); - cairo_set_line_width (cr, 1.0); cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE); - cairo_move_to (cr, + cairo_move_to (cr, cell_area->x, cell_area->y + cell_area->height); @@ -240,7 +240,7 @@ psppire_cell_renderer_button_render (GtkCellRenderer *cell, static void psppire_cell_renderer_button_get_size (GtkCellRenderer *cell, GtkWidget *widget, - GdkRectangle *cell_area, + const GdkRectangle *cell_area, gint *x_offset, gint *y_offset, gint *width, @@ -405,8 +405,8 @@ psppire_cell_renderer_button_start_editing (GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const gchar *path, - GdkRectangle *background_area, - GdkRectangle *cell_area, + const GdkRectangle *background_area, + const GdkRectangle *cell_area, GtkCellRendererState flags) { PsppireCellRendererButton *cell_button = PSPPIRE_CELL_RENDERER_BUTTON (cell); @@ -490,24 +490,24 @@ psppire_cell_renderer_button_class_init (PsppireCellRendererButtonClass *class) g_object_class_install_property (gobject_class, PROP_EDITABLE, g_param_spec_boolean ("editable", - "Editable", - "Whether the button may be clicked.", + P_("Editable"), + P_("Whether the button may be clicked."), FALSE, G_PARAM_READWRITE)); g_object_class_install_property (gobject_class, PROP_LABEL, g_param_spec_string ("label", - "Label", - "Text to appear in button.", + P_("Label"), + P_("Text to appear in button."), "", G_PARAM_READWRITE)); g_object_class_install_property (gobject_class, PROP_SLASH, g_param_spec_boolean ("slash", - _("Diagonal slash"), - _("Whether to draw a diagonal slash across the button."), + P_("Diagonal slash"), + P_("Whether to draw a diagonal slash across the button."), FALSE, G_PARAM_READWRITE)); @@ -548,7 +548,7 @@ psppire_cell_renderer_button_dispose (GObject *obj) if (button->dispose_has_run) return; - + button->dispose_has_run = TRUE; /* When called with NULL, as we are doing here, update_style_cache