From 832150b0dda320f18f1aedf2da23d0b087cde748 Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Tue, 29 Feb 2000 21:07:06 +0000 Subject: Test frozen columns 2000-02-29 Christopher James Lahey * test-table.c: Test frozen columns * e-table.c: Make frozen columns available through the xml file. * e-table-header.c, e-table-header.h, e-table-header-item.c: Added frozen columns API to let you specify some number of leading columns as undraggable. * Makefile.am: Add e-table-example-1.c and e-table-example-2.c. * e-table-example-1.c, e-table-example-2.c: New files. A couple of examples of ETable use. svn path=/trunk/; revision=1993 --- widgets/table/e-table-header-item.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'widgets/table/e-table-header-item.c') diff --git a/widgets/table/e-table-header-item.c b/widgets/table/e-table-header-item.c index 0289703bf2..91a64d204a 100644 --- a/widgets/table/e-table-header-item.c +++ b/widgets/table/e-table-header-item.c @@ -40,6 +40,7 @@ static GnomeCanvasItemClass *ethi_parent_class; static void ethi_request_redraw (ETableHeaderItem *ethi); +static void ethi_drop_table_header (ETableHeaderItem *ethi); /* @@ -326,6 +327,8 @@ ethi_drag_motion (GtkObject *canvas, GdkDragContext *context, int col; col = ethi_find_col_by_x (ethi, x); + if ( col < ethi->eth->frozen_count ) + col = ethi->eth->frozen_count; if (col != -1){ ethi_remove_destroy_marker (ethi); @@ -380,6 +383,8 @@ ethi_drag_drop (GtkWidget *canvas, int col; col = ethi_find_col_by_x (ethi, x); + if ( col < ethi->eth->frozen_count ) + col = ethi->eth->frozen_count; ethi_add_drop_marker(ethi, col); if (col != -1) { @@ -700,6 +705,10 @@ ethi_start_drag (ETableHeaderItem *ethi, GdkEvent *event) GdkGC *gc; ethi->drag_col = ethi_find_col_by_x (ethi, event->motion.x); + if ( ethi->drag_col < ethi->eth->frozen_count && ethi->drag_col >= 0 ) { + ethi->maybe_drag = FALSE; + ethi->drag_col = -1; + } if (ethi->drag_col == -1) return; -- cgit v1.2.3