aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/e-table/e-table-col.c
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@helixcode.com>2000-02-12 08:27:22 +0800
committerChris Lahey <clahey@src.gnome.org>2000-02-12 08:27:22 +0800
commit04bb0a4fb01448394533a80850370448a2f3aadf (patch)
tree847a8b541f2597a80e2bfdc73b3401a288368128 /widgets/e-table/e-table-col.c
parent07d9ddab8e2b6759bbe1b2364371bf5c7b6fe6de (diff)
downloadgsoc2013-evolution-04bb0a4fb01448394533a80850370448a2f3aadf.tar.gz
gsoc2013-evolution-04bb0a4fb01448394533a80850370448a2f3aadf.tar.zst
gsoc2013-evolution-04bb0a4fb01448394533a80850370448a2f3aadf.zip
Test column header image.
2000-02-11 Christopher James Lahey <clahey@helixcode.com> * 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
Diffstat (limited to 'widgets/e-table/e-table-col.c')
-rw-r--r--widgets/e-table/e-table-col.c39
1 files changed, 38 insertions, 1 deletions
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;
+}
+