projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge 'master' into 'gtk3'.
[pspp]
/
src
/
ui
/
gui
/
psppire-cell-renderer-button.c
diff --git
a/src/ui/gui/psppire-cell-renderer-button.c
b/src/ui/gui/psppire-cell-renderer-button.c
index aa7164d01f3bb726dffe9e1586baa974933f06b3..5a20ff5a8df8d039acaf3050cad37ac09c5fde93 100644
(file)
--- a/
src/ui/gui/psppire-cell-renderer-button.c
+++ b/
src/ui/gui/psppire-cell-renderer-button.c
@@
-70,15
+70,14
@@
psppire_cell_renderer_button_set_property (GObject *object,
GParamSpec *pspec)
{
PsppireCellRendererButton *obj = PSPPIRE_CELL_RENDERER_BUTTON (object);
GParamSpec *pspec)
{
PsppireCellRendererButton *obj = PSPPIRE_CELL_RENDERER_BUTTON (object);
-
switch (prop_id)
{
case PROP_EDITABLE:
obj->editable = g_value_get_boolean (value);
if (obj->editable)
switch (prop_id)
{
case PROP_EDITABLE:
obj->editable = g_value_get_boolean (value);
if (obj->editable)
-
GTK_CELL_RENDERER (obj)->mode = GTK_CELL_RENDERER_MODE_EDITABLE
;
+
g_object_set (obj, "mode", GTK_CELL_RENDERER_MODE_EDITABLE, NULL)
;
else
else
-
GTK_CELL_RENDERER (obj)->mode = GTK_CELL_RENDERER_MODE_INERT
;
+
g_object_set (obj, "mode", GTK_CELL_RENDERER_MODE_INERT, NULL)
;
break;
case PROP_LABEL:
break;
case PROP_LABEL:
@@
-182,17
+181,17
@@
update_style_cache (PsppireCellRendererButton *button,
static void
psppire_cell_renderer_button_render (GtkCellRenderer *cell,
static void
psppire_cell_renderer_button_render (GtkCellRenderer *cell,
-
GdkDrawable *window
,
+
cairo_t *cr
,
GtkWidget *widget,
GtkWidget *widget,
- GdkRectangle *background_area,
- GdkRectangle *cell_area,
- GdkRectangle *expose_area,
+ const GdkRectangle *background_area,
+ const GdkRectangle *cell_area,
GtkCellRendererState flags)
{
GtkCellRendererState flags)
{
- PsppireCellRendererButton *button = PSPPIRE_CELL_RENDERER_BUTTON (cell);
GtkStateType state_type;
GtkStateType state_type;
-
- if (!button->editable || !cell->sensitive)
+ 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)
{
state_type = GTK_STATE_INSENSITIVE;
else if (flags & GTK_CELL_RENDERER_SELECTED)
{
@@
-211,17
+210,19
@@
psppire_cell_renderer_button_render (GtkCellRenderer *cell,
state_type = GTK_STATE_NORMAL;
}
state_type = GTK_STATE_NORMAL;
}
+ gtk_cell_renderer_get_alignment (cell, &xalign, &yalign);
+
+
update_style_cache (button, widget);
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,
cell_area, button->border_width, button->button_style,
state_type,
button->label_style, button->label, button->xpad,
- button->ypad,
cell->xalign, cell->
yalign);
+ button->ypad,
xalign,
yalign);
if (button->slash)
{
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_set_line_width (cr, 1.0);
cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE);
cairo_move_to (cr,
@@
-238,7
+239,7
@@
psppire_cell_renderer_button_render (GtkCellRenderer *cell,
static void
psppire_cell_renderer_button_get_size (GtkCellRenderer *cell,
GtkWidget *widget,
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,
gint *x_offset,
gint *y_offset,
gint *width,
@@
-403,8
+404,8
@@
psppire_cell_renderer_button_start_editing (GtkCellRenderer *cell,
GdkEvent *event,
GtkWidget *widget,
const gchar *path,
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);
GtkCellRendererState flags)
{
PsppireCellRendererButton *cell_button = PSPPIRE_CELL_RENDERER_BUTTON (cell);