From 04bb0a4fb01448394533a80850370448a2f3aadf Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Sat, 12 Feb 2000 00:27:22 +0000 Subject: Test column header image. 2000-02-11 Christopher James Lahey * clip.png: Test column header image. * test-check.c: Test pixbuf column headers. * e-table-col.h, e-table-col.c: Added pixbufs for column headers. * e-table-header-item.c (draw_button): Draw pixbuf column headers properly. svn path=/trunk/; revision=1739 --- widgets/e-table/e-table-col.c | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) (limited to 'widgets/e-table/e-table-col.c') diff --git a/widgets/e-table/e-table-col.c b/widgets/e-table/e-table-col.c index 6f475158a5..ba5c131078 100644 --- a/widgets/e-table/e-table-col.c +++ b/widgets/e-table/e-table-col.c @@ -21,7 +21,10 @@ etc_destroy (GtkObject *object) { ETableCol *etc = E_TABLE_COL (object); - g_free (etc->text); + if ( etc->is_pixbuf ) + gdk_pixbuf_unref( etc->pixbuf ); + else + g_free (etc->text); (*parent_class->destroy)(object); } @@ -47,9 +50,12 @@ e_table_col_new (int col_idx, const char *text, int width, int min_width, g_return_val_if_fail (compare != NULL, NULL); etc = gtk_type_new (E_TABLE_COL_TYPE); + + etc->is_pixbuf = FALSE; etc->col_idx = col_idx; etc->text = g_strdup (text); + etc->pixbuf = NULL; etc->width = width; etc->min_width = min_width; etc->ecell = ecell; @@ -61,4 +67,35 @@ e_table_col_new (int col_idx, const char *text, int width, int min_width, return etc; } +ETableCol * +e_table_col_new_with_pixbuf (int col_idx, GdkPixbuf *pixbuf, int width, int min_width, + ECell *ecell, GCompareFunc compare, gboolean resizable) +{ + ETableCol *etc; + + g_return_val_if_fail (width >= 0, NULL); + g_return_val_if_fail (min_width >= 0, NULL); + g_return_val_if_fail (width >= min_width, NULL); + g_return_val_if_fail (compare != NULL, NULL); + + etc = gtk_type_new (E_TABLE_COL_TYPE); + + etc->is_pixbuf = TRUE; + + etc->col_idx = col_idx; + etc->text = NULL; + etc->pixbuf = pixbuf; + etc->width = width; + etc->min_width = min_width; + etc->ecell = ecell; + etc->compare = compare; + + etc->selected = 0; + etc->resizeable = resizable; + + gdk_pixbuf_ref(etc->pixbuf); + + return etc; +} + -- cgit v1.2.3