aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/table')
-rw-r--r--widgets/table/e-table-col.c7
-rw-r--r--widgets/table/e-table-col.h6
-rw-r--r--widgets/table/e-table-header-item.c4
-rw-r--r--widgets/table/e-table-header.c17
-rw-r--r--widgets/table/e-table-header.h2
-rw-r--r--widgets/table/e-table-model.c8
-rw-r--r--widgets/table/e-table-model.h1
-rw-r--r--widgets/table/e-table-simple.c11
-rw-r--r--widgets/table/e-table-simple.h3
-rw-r--r--widgets/table/test-check.c17
-rw-r--r--widgets/table/test-cols.c17
-rw-r--r--widgets/table/test-table.c12
12 files changed, 21 insertions, 84 deletions
diff --git a/widgets/table/e-table-col.c b/widgets/table/e-table-col.c
index cca7bd13d6..86392a9419 100644
--- a/widgets/table/e-table-col.c
+++ b/widgets/table/e-table-col.c
@@ -21,8 +21,6 @@ etc_destroy (GtkObject *object)
{
ETableCol *etc = E_TABLE_COL (object);
- printf ("Destroying columns: %s %s\n", etc->id, etc->text);
- g_free (etc->id);
g_free (etc->text);
(*parent_class->destroy)(object);
@@ -38,12 +36,11 @@ e_table_col_class_init (GtkObjectClass *object_class)
E_MAKE_TYPE(e_table_col, "ETableCol", ETableCol, e_table_col_class_init, NULL, PARENT_TYPE);
ETableCol *
-e_table_col_new (const char *id, const char *text, int width, int min_width,
+e_table_col_new (int col_idx, const char *text, int width, int min_width,
ECell *ecell, GCompareFunc compare, gboolean resizable)
{
ETableCol *etc;
- g_return_val_if_fail (id != NULL, NULL);
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);
@@ -51,7 +48,7 @@ e_table_col_new (const char *id, const char *text, int width, int min_width,
etc = gtk_type_new (E_TABLE_COL_TYPE);
- etc->id = g_strdup (id);
+ etc->col_idx = col_idx;
etc->text = g_strdup (text);
etc->width = width;
etc->min_width = min_width;
diff --git a/widgets/table/e-table-col.h b/widgets/table/e-table-col.h
index c8fa6dd581..54f03ae237 100644
--- a/widgets/table/e-table-col.h
+++ b/widgets/table/e-table-col.h
@@ -16,14 +16,14 @@ typedef struct _ETableCol ETableCol;
*/
struct _ETableCol {
GtkObject base;
- char *id, *text;
+ char *text;
short width;
short min_width;
short x;
GCompareFunc compare;
unsigned int selected:1;
unsigned int resizeable:1;
-
+ int col_idx;
ECell *ecell;
};
@@ -33,7 +33,7 @@ typedef struct {
} ETableColClass;
GtkType e_table_col_get_type (void);
-ETableCol *e_table_col_new (const char *id, const char *text,
+ETableCol *e_table_col_new (int col_idx, const char *text,
int width, int min_width,
ECell *ecell, GCompareFunc compare,
gboolean resizable);
diff --git a/widgets/table/e-table-header-item.c b/widgets/table/e-table-header-item.c
index 378bdf4447..5368f10602 100644
--- a/widgets/table/e-table-header-item.c
+++ b/widgets/table/e-table-header-item.c
@@ -213,7 +213,7 @@ draw_button (ETableHeaderItem *ethi, ETableCol *col,
gdk_gc_set_clip_rectangle (ethi->gc, &clip);
/* Center the thing */
- xtra = (clip.width - gdk_string_measure (ethi->font, col->id))/2;
+ xtra = (clip.width - gdk_string_measure (ethi->font, col->text))/2;
if (xtra < 0)
xtra = 0;
@@ -224,7 +224,7 @@ draw_button (ETableHeaderItem *ethi, ETableCol *col,
gdk_draw_text (
drawable, ethi->font,
ethi->gc, x, y + ethi->height - PADDING,
- col->id, strlen (col->id));
+ col->text, strlen (col->text));
}
static void
diff --git a/widgets/table/e-table-header.c b/widgets/table/e-table-header.c
index e91113bbb9..576f609deb 100644
--- a/widgets/table/e-table-header.c
+++ b/widgets/table/e-table-header.c
@@ -170,22 +170,15 @@ e_table_header_count (ETableHeader *eth)
}
int
-e_table_header_index (ETableHeader *eth, const char *identifier)
+e_table_header_index (ETableHeader *eth, int col)
{
int i;
- g_return_val_if_fail (eth != NULL, 0);
- g_return_val_if_fail (E_IS_TABLE_HEADER (eth), 0);
- g_return_val_if_fail (identifier != NULL, 0);
+ g_return_val_if_fail (eth != NULL, -1);
+ g_return_val_if_fail (E_IS_TABLE_HEADER (eth), -1);
+ g_return_val_if_fail (col < eth->col_count, -1);
- for (i = 0; i < eth->col_count; i++){
- ETableCol *tc = eth->columns [i];
-
- if (strcmp (tc->id, identifier) == 0)
- return i;
- }
-
- return -1;
+ return eth->columns [col]->col_idx;
}
int
diff --git a/widgets/table/e-table-header.h b/widgets/table/e-table-header.h
index c263c36ad3..8965dee5c6 100644
--- a/widgets/table/e-table-header.h
+++ b/widgets/table/e-table-header.h
@@ -40,7 +40,7 @@ ETableCol * e_table_header_get_column (ETableHeader *eth,
int column);
int e_table_header_count (ETableHeader *eth);
int e_table_header_index (ETableHeader *eth,
- const char *identifier);
+ int col);
int e_table_header_get_index_at (ETableHeader *eth,
int x_offset);
ETableCol **e_table_header_get_columns (ETableHeader *eth);
diff --git a/widgets/table/e-table-model.c b/widgets/table/e-table-model.c
index 103bb31b57..60f762214f 100644
--- a/widgets/table/e-table-model.c
+++ b/widgets/table/e-table-model.c
@@ -33,14 +33,6 @@ e_table_model_column_count (ETableModel *e_table_model)
return ETM_CLASS (e_table_model)->column_count (e_table_model);
}
-const char *
-e_table_model_column_name (ETableModel *e_table_model, int col)
-{
- g_return_val_if_fail (e_table_model != NULL, NULL);
- g_return_val_if_fail (E_IS_TABLE_MODEL (e_table_model), NULL);
-
- return ETM_CLASS (e_table_model)->column_name (e_table_model, col);
-}
int
e_table_model_row_count (ETableModel *e_table_model)
diff --git a/widgets/table/e-table-model.h b/widgets/table/e-table-model.h
index 22339ae484..0749a39758 100644
--- a/widgets/table/e-table-model.h
+++ b/widgets/table/e-table-model.h
@@ -20,7 +20,6 @@ typedef struct {
* Virtual methods
*/
int (*column_count) (ETableModel *etm);
- const char *(*column_name) (ETableModel *etm, int col);
int (*row_count) (ETableModel *etm);
void *(*value_at) (ETableModel *etm, int col, int row);
void (*set_value_at) (ETableModel *etm, int col, int row, const void *value);
diff --git a/widgets/table/e-table-simple.c b/widgets/table/e-table-simple.c
index 2076e06cef..943a3291e9 100644
--- a/widgets/table/e-table-simple.c
+++ b/widgets/table/e-table-simple.c
@@ -22,14 +22,6 @@ simple_column_count (ETableModel *etm)
return simple->col_count (etm, simple->data);
}
-static const char *
-simple_column_name (ETableModel *etm, int col)
-{
- ETableSimple *simple = (ETableSimple *)etm;
-
- return simple->col_name (etm, col, simple->data);
-}
-
static int
simple_row_count (ETableModel *etm)
{
@@ -68,7 +60,6 @@ e_table_simple_class_init (GtkObjectClass *object_class)
ETableModelClass *model_class = (ETableModelClass *) object_class;
model_class->column_count = simple_column_count;
- model_class->column_name = simple_column_name;
model_class->row_count = simple_row_count;
model_class->value_at = simple_value_at;
model_class->set_value_at = simple_set_value_at;
@@ -100,7 +91,6 @@ e_table_simple_get_type (void)
ETableModel *
e_table_simple_new (ETableSimpleColumnCountFn col_count,
- ETableSimpleColumnNameFn col_name,
ETableSimpleRowCountFn row_count,
ETableSimpleValueAtFn value_at,
ETableSimpleSetValueAtFn set_value_at,
@@ -112,7 +102,6 @@ e_table_simple_new (ETableSimpleColumnCountFn col_count,
et = gtk_type_new (e_table_simple_get_type ());
et->col_count = col_count;
- et->col_name = col_name;
et->row_count = row_count;
et->value_at = value_at;
et->set_value_at = set_value_at;
diff --git a/widgets/table/e-table-simple.h b/widgets/table/e-table-simple.h
index 1f7a17aeff..d890245386 100644
--- a/widgets/table/e-table-simple.h
+++ b/widgets/table/e-table-simple.h
@@ -4,7 +4,6 @@
#include "e-table-model.h"
typedef int (*ETableSimpleColumnCountFn) (ETableModel *etm, void *data);
-typedef const char *(*ETableSimpleColumnNameFn) (ETableModel *etm, int col, void *data);
typedef int (*ETableSimpleRowCountFn) (ETableModel *etm, void *data);
typedef void *(*ETableSimpleValueAtFn) (ETableModel *etm, int col, int row, void *data);
typedef void (*ETableSimpleSetValueAtFn) (ETableModel *etm, int col, int row, const void *val, void *data);
@@ -14,7 +13,6 @@ typedef struct {
ETableModel parent;
ETableSimpleColumnCountFn col_count;
- ETableSimpleColumnNameFn col_name;
ETableSimpleRowCountFn row_count;
ETableSimpleValueAtFn value_at;
ETableSimpleSetValueAtFn set_value_at;
@@ -29,7 +27,6 @@ typedef struct {
GtkType e_table_simple_get_type (void);
ETableModel *e_table_simple_new (ETableSimpleColumnCountFn col_count,
- ETableSimpleColumnNameFn col_name,
ETableSimpleRowCountFn row_count,
ETableSimpleValueAtFn value_at,
ETableSimpleSetValueAtFn set_value_at,
diff --git a/widgets/table/test-check.c b/widgets/table/test-check.c
index 4573580562..d0b10d7f32 100644
--- a/widgets/table/test-check.c
+++ b/widgets/table/test-check.c
@@ -36,17 +36,6 @@ col_count (ETableModel *etc, void *data)
return 2;
}
-static const char *
-col_name (ETableModel *etc, int col, void *data)
-{
- g_assert (col < 2);
-
- if (col == 0)
- return "flag";
- else
- return "text";
-}
-
static int
row_count (ETableModel *etc, void *data)
{
@@ -107,7 +96,7 @@ check_test (void)
gtk_widget_push_colormap (gdk_rgb_get_cmap ());
e_table_model = e_table_simple_new (
- col_count, col_name, row_count, value_at,
+ col_count, row_count, value_at,
set_value_at, is_cell_editable, NULL);
/*
@@ -118,10 +107,10 @@ check_test (void)
cell_left_just = e_cell_text_new (e_table_model, NULL, GTK_JUSTIFY_LEFT);
cell_image_check = e_cell_checkbox_new (e_table_model);
- col_0 = e_table_col_new ("id", "", 18, 18, cell_image_check, g_int_equal, TRUE);
+ col_0 = e_table_col_new (0, "", 18, 18, cell_image_check, g_int_equal, TRUE);
e_table_header_add_column (e_table_header, col_0, 0);
- col_1 = e_table_col_new ("item", "Item Name", 180, 20, cell_left_just, g_str_equal, TRUE);
+ col_1 = e_table_col_new (1, "Item Name", 180, 20, cell_left_just, g_str_equal, TRUE);
e_table_header_add_column (e_table_header, col_1, 1);
/*
diff --git a/widgets/table/test-cols.c b/widgets/table/test-cols.c
index c4ce0e1b75..63033df569 100644
--- a/widgets/table/test-cols.c
+++ b/widgets/table/test-cols.c
@@ -36,17 +36,6 @@ col_count (ETableModel *etc, void *data)
return 2;
}
-static const char *
-col_name (ETableModel *etc, int col, void *data)
-{
- g_assert (col < 2);
-
- if (col == 0)
- return "flag";
- else
- return "text";
-}
-
static int
row_count (ETableModel *etc, void *data)
{
@@ -107,7 +96,7 @@ multi_cols_test (void)
gtk_widget_push_colormap (gdk_rgb_get_cmap ());
e_table_model = e_table_simple_new (
- col_count, col_name, row_count, value_at,
+ col_count, row_count, value_at,
set_value_at, is_cell_editable, NULL);
/*
@@ -133,10 +122,10 @@ multi_cols_test (void)
g_free (images);
}
- col_0 = e_table_col_new ("id", "A", 48, 48, cell_image_toggle, g_int_equal, TRUE);
+ col_0 = e_table_col_new (0, "A", 48, 48, cell_image_toggle, g_int_equal, TRUE);
e_table_header_add_column (e_table_header, col_0, 0);
- col_1 = e_table_col_new ("item", "Item Name", 180, 20, cell_left_just, g_str_equal, TRUE);
+ col_1 = e_table_col_new (1, "Item Name", 180, 20, cell_left_just, g_str_equal, TRUE);
e_table_header_add_column (e_table_header, col_1, 1);
diff --git a/widgets/table/test-table.c b/widgets/table/test-table.c
index be1a1059db..04c40959af 100644
--- a/widgets/table/test-table.c
+++ b/widgets/table/test-table.c
@@ -127,14 +127,6 @@ col_count (ETableModel *etc, void *data)
return cols;
}
-static const char *
-col_name (ETableModel *etc, int col, void *data)
-{
- g_assert (col < cols);
-
- return column_labels [col];
-}
-
static int
row_count (ETableModel *etc, void *data)
{
@@ -189,7 +181,7 @@ table_browser_test (void)
* Data model
*/
e_table_model = e_table_simple_new (
- col_count, col_name, row_count, value_at,
+ col_count, row_count, value_at,
set_value_at, is_cell_editable, NULL);
/*
@@ -200,7 +192,7 @@ table_browser_test (void)
for (i = 0; i < cols; i++){
ETableCol *ecol = e_table_col_new (
- column_labels [i], column_labels [i],
+ i, column_labels [i],
80, 20, cell_left_just,
g_str_equal, TRUE);