aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--widgets/table/e-table-scrolled.c22
-rw-r--r--widgets/table/e-table-scrolled.h1
2 files changed, 23 insertions, 0 deletions
diff --git a/widgets/table/e-table-scrolled.c b/widgets/table/e-table-scrolled.c
index 8946f25c25..ab490ad7b3 100644
--- a/widgets/table/e-table-scrolled.c
+++ b/widgets/table/e-table-scrolled.c
@@ -31,6 +31,7 @@ enum {
CURSOR_CHANGE,
DOUBLE_CLICK,
RIGHT_CLICK,
+ CLICK,
KEY_PRESS,
LAST_SIGNAL
};
@@ -73,6 +74,16 @@ right_click_proxy (ETable *et, int row, int col, GdkEvent *event, ETableScrolled
}
static gint
+click_proxy (ETable *et, int row, int col, GdkEvent *event, ETableScrolled *ets)
+{
+ int return_val = 0;
+ gtk_signal_emit (GTK_OBJECT (ets),
+ ets_signals [CLICK],
+ row, col, event, &return_val);
+ return return_val;
+}
+
+static gint
key_press_proxy (ETable *et, int row, int col, GdkEvent *event, ETableScrolled *ets)
{
int return_val;
@@ -114,6 +125,8 @@ e_table_scrolled_real_construct (ETableScrolled *ets)
GTK_SIGNAL_FUNC(double_click_proxy), ets);
gtk_signal_connect(GTK_OBJECT(ets->table), "right_click",
GTK_SIGNAL_FUNC(right_click_proxy), ets);
+ gtk_signal_connect(GTK_OBJECT(ets->table), "click",
+ GTK_SIGNAL_FUNC(click_proxy), ets);
gtk_signal_connect(GTK_OBJECT(ets->table), "key_press",
GTK_SIGNAL_FUNC(key_press_proxy), ets);
@@ -359,6 +372,7 @@ e_table_scrolled_class_init (GtkObjectClass *object_class)
klass->cursor_change = NULL;
klass->double_click = NULL;
klass->right_click = NULL;
+ klass->click = NULL;
klass->key_press = NULL;
ets_signals [CURSOR_CHANGE] =
@@ -385,6 +399,14 @@ e_table_scrolled_class_init (GtkObjectClass *object_class)
e_marshal_INT__INT_INT_POINTER,
GTK_TYPE_INT, 3, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_POINTER);
+ ets_signals [CLICK] =
+ gtk_signal_new ("click",
+ GTK_RUN_LAST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (ETableScrolledClass, click),
+ e_marshal_INT__INT_INT_POINTER,
+ GTK_TYPE_INT, 3, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_POINTER);
+
ets_signals [KEY_PRESS] =
gtk_signal_new ("key_press",
GTK_RUN_LAST,
diff --git a/widgets/table/e-table-scrolled.h b/widgets/table/e-table-scrolled.h
index 4cce278a49..fca9c7cd98 100644
--- a/widgets/table/e-table-scrolled.h
+++ b/widgets/table/e-table-scrolled.h
@@ -28,6 +28,7 @@ typedef struct {
void (*cursor_change) (ETableScrolled *est, int row);
void (*double_click) (ETableScrolled *est, int row);
gint (*right_click) (ETableScrolled *est, int row, int col, GdkEvent *event);
+ gint (*click) (ETableScrolled *est, int row, int col, GdkEvent *event);
gint (*key_press) (ETableScrolled *est, int row, int col, GdkEvent *event);
} ETableScrolledClass;