diff options
author | Christopher James Lahey <clahey@ximian.com> | 2002-05-03 02:45:19 +0800 |
---|---|---|
committer | Chris Lahey <clahey@src.gnome.org> | 2002-05-03 02:45:19 +0800 |
commit | cad5e25f863f3bf643a2c7a7b4a77be0bc9db130 (patch) | |
tree | 3bbf26485c00f3deb8597d4468bb5384325698e2 /widgets/table/e-tree.c | |
parent | e7432164869e777b21aee021e23033bbdf747cac (diff) | |
download | gsoc2013-evolution-cad5e25f863f3bf643a2c7a7b4a77be0bc9db130.tar.gz gsoc2013-evolution-cad5e25f863f3bf643a2c7a7b4a77be0bc9db130.tar.zst gsoc2013-evolution-cad5e25f863f3bf643a2c7a7b4a77be0bc9db130.zip |
Added horizontal dividers to this item when in table mode.
2002-05-02 Christopher James Lahey <clahey@ximian.com>
* e-table-click-to-add.c: Added horizontal dividers to this item
when in table mode.
* e-table.c, e-tree.c: Made the background be an
e-canvas-background instead of a
* e-tree.c, e-tree.h: Added a white_space_event for feature parity
with ETable.
svn path=/trunk/; revision=16667
Diffstat (limited to 'widgets/table/e-tree.c')
-rw-r--r-- | widgets/table/e-tree.c | 34 |
1 files changed, 24 insertions, 10 deletions
diff --git a/widgets/table/e-tree.c b/widgets/table/e-tree.c index e92254ce10..5e5c2d10da 100644 --- a/widgets/table/e-tree.c +++ b/widgets/table/e-tree.c @@ -33,6 +33,7 @@ #include "gal/util/e-i18n.h" #include <gal/util/e-util.h> #include <gal/widgets/e-canvas.h> +#include <gal/widgets/e-canvas-background.h> #include <gal/e-table/e-table-column-specification.h> #include <gal/e-table/e-table-header-item.h> @@ -76,6 +77,7 @@ enum { KEY_PRESS, START_DRAG, STATE_CHANGE, + WHITE_SPACE_EVENT, TREE_DRAG_BEGIN, TREE_DRAG_END, @@ -697,11 +699,6 @@ tree_canvas_reflow_idle (ETree *e_tree) 0, 0, width - 1, height - 1); set_header_canvas_width (e_tree); } - gtk_object_set (GTK_OBJECT (e_tree->priv->white_item), - "y1", item_height, - "x2", width, - "y2", height, - NULL); e_tree->priv->reflow_idle_id = 0; return FALSE; } @@ -951,6 +948,16 @@ et_canvas_realize (GtkWidget *canvas, ETree *e_tree) } static gint +white_item_event (GnomeCanvasItem *white_item, GdkEvent *event, ETree *e_tree) +{ + int return_val = 0; + gtk_signal_emit (GTK_OBJECT (e_tree), + et_signals [WHITE_SPACE_EVENT], + event, &return_val); + return return_val; +} + +static gint et_canvas_root_event (GnomeCanvasItem *root, GdkEvent *event, ETree *e_tree) { switch (event->type) { @@ -1046,14 +1053,12 @@ e_tree_setup_table (ETree *e_tree) e_tree->priv->white_item = gnome_canvas_item_new( gnome_canvas_root(e_tree->priv->table_canvas), - gnome_canvas_rect_get_type(), - "x1", (double) 0, - "y1", (double) 0, - "x2", (double) 100, - "y2", (double) 100, + e_canvas_background_get_type(), "fill_color_gdk", >K_WIDGET(e_tree->priv->table_canvas)->style->base[GTK_STATE_NORMAL], NULL); + gtk_signal_connect (GTK_OBJECT (e_tree->priv->white_item), "event", + GTK_SIGNAL_FUNC (white_item_event), e_tree); gtk_signal_connect ( GTK_OBJECT(e_tree->priv->table_canvas), "realize", GTK_SIGNAL_FUNC(et_canvas_realize), e_tree); @@ -2969,6 +2974,7 @@ e_tree_class_init (ETreeClass *class) class->key_press = NULL; class->start_drag = et_real_start_drag; class->state_change = NULL; + class->white_space_event = NULL; class->tree_drag_begin = NULL; class->tree_drag_end = NULL; @@ -3052,6 +3058,14 @@ e_tree_class_init (ETreeClass *class) gtk_marshal_NONE__NONE, GTK_TYPE_NONE, 0); + et_signals [WHITE_SPACE_EVENT] = + gtk_signal_new ("white_space_event", + GTK_RUN_LAST, + E_OBJECT_CLASS_TYPE (object_class), + GTK_SIGNAL_OFFSET (ETreeClass, white_space_event), + gtk_marshal_INT__POINTER, + GTK_TYPE_INT, 1, GTK_TYPE_GDK_EVENT); + et_signals[TREE_DRAG_BEGIN] = gtk_signal_new ("tree_drag_begin", GTK_RUN_LAST, |