aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-cell-checkbox.c
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/table/e-cell-checkbox.c')
-rw-r--r--widgets/table/e-cell-checkbox.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/widgets/table/e-cell-checkbox.c b/widgets/table/e-cell-checkbox.c
index cdeb1814de..33135b5b71 100644
--- a/widgets/table/e-cell-checkbox.c
+++ b/widgets/table/e-cell-checkbox.c
@@ -39,8 +39,32 @@
static GdkPixbuf *checks [2];
static void
+ecc_print (ECellView *ecell_view, GtkPrintContext *context,
+ int model_col, int view_col, int row,
+ double width, double height)
+{
+ cairo_t *cr;
+ cr = gtk_print_context_get_cairo_context (context);
+ const int value = GPOINTER_TO_INT (
+ e_table_model_value_at (ecell_view->e_table_model, model_col, row));
+ cairo_save (cr);
+
+ if ( value == 1) {
+
+ cairo_set_line_width (cr, 2);
+ cairo_move_to (cr, 3, 11);
+ cairo_line_to (cr, 7, 14);
+ cairo_line_to (cr, 11, 5);
+ cairo_stroke (cr);
+ }
+ cairo_restore (cr);
+}
+
+static void
e_cell_checkbox_class_init (GtkObjectClass *object_class)
{
+ ECellClass *ecc = (ECellClass *) object_class;
+ ecc->print = ecc_print;
checks [0] = gdk_pixbuf_new_from_xpm_data (check_empty_xpm);
checks [1] = gdk_pixbuf_new_from_xpm_data (check_filled_xpm);
}