aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-table-field-chooser-item.c
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@helixcode.com>2000-06-08 15:55:21 +0800
committerChris Lahey <clahey@src.gnome.org>2000-06-08 15:55:21 +0800
commitc04ce4ea111fa38815975df46af6bea80e06241a (patch)
tree199fc3b9d1b3dfba7fa4d6bc85c57825fe50af19 /widgets/table/e-table-field-chooser-item.c
parent2f3245408c26ebef806b0824a1f5885b15529fce (diff)
downloadgsoc2013-evolution-c04ce4ea111fa38815975df46af6bea80e06241a.tar
gsoc2013-evolution-c04ce4ea111fa38815975df46af6bea80e06241a.tar.gz
gsoc2013-evolution-c04ce4ea111fa38815975df46af6bea80e06241a.tar.bz2
gsoc2013-evolution-c04ce4ea111fa38815975df46af6bea80e06241a.tar.lz
gsoc2013-evolution-c04ce4ea111fa38815975df46af6bea80e06241a.tar.xz
gsoc2013-evolution-c04ce4ea111fa38815975df46af6bea80e06241a.tar.zst
gsoc2013-evolution-c04ce4ea111fa38815975df46af6bea80e06241a.zip
The field chooser works now.
2000-06-08 Christopher James Lahey <clahey@helixcode.com> * The field chooser works now. * e-table-field-chooser-dialog.c: Make the dialog resizable. * e-table-field-chooser-item.c: Requested a reflow on realization. Made the correct column get dragged. * e-table-field-chooser.c: Set the height correctly. * e-table-field-chooser.glade: Replace the GnomeCanvas with an ECanvas. * e-table-header-item.c: Receive drags from the new dialog. svn path=/trunk/; revision=3476
Diffstat (limited to 'widgets/table/e-table-field-chooser-item.c')
-rw-r--r--widgets/table/e-table-field-chooser-item.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/widgets/table/e-table-field-chooser-item.c b/widgets/table/e-table-field-chooser-item.c
index 4d0d03b0d4..e23fc4c9f5 100644
--- a/widgets/table/e-table-field-chooser-item.c
+++ b/widgets/table/e-table-field-chooser-item.c
@@ -150,6 +150,7 @@ etfci_drop_table_header (ETableFieldChooserItem *etfci)
gtk_object_unref (header);
etfci->full_header = NULL;
etfci->height = 0;
+ e_canvas_item_request_reflow(GNOME_CANVAS_ITEM(etfci));
}
static void
@@ -280,6 +281,7 @@ etfci_realize (GnomeCanvasItem *item)
etfci->drag_data_get_id = gtk_signal_connect (
GTK_OBJECT (item->canvas), "drag_data_get",
GTK_SIGNAL_FUNC (etfci_drag_data_get), etfci);
+ e_canvas_item_request_reflow(GNOME_CANVAS_ITEM(etfci));
}
static void
@@ -407,7 +409,7 @@ etfci_maybe_start_drag (ETableFieldChooserItem *etfci, double x, double y)
}
static void
-etfci_start_drag (ETableFieldChooserItem *etfci, GdkEvent *event)
+etfci_start_drag (ETableFieldChooserItem *etfci, GdkEvent *event, double x, double y)
{
GtkWidget *widget = GTK_WIDGET (GNOME_CANVAS_ITEM (etfci)->canvas);
GtkTargetList *list;
@@ -420,7 +422,7 @@ etfci_start_drag (ETableFieldChooserItem *etfci, GdkEvent *event)
{ TARGET_ETABLE_COL_TYPE, 0, TARGET_ETABLE_COL_HEADER },
};
- drag_col = event->motion.x / etfci->button_height;
+ drag_col = y / etfci->button_height;
if (drag_col < 0 || drag_col > e_table_header_count(etfci->full_header))
return;
@@ -464,7 +466,7 @@ etfci_event (GnomeCanvasItem *item, GdkEvent *e)
gnome_canvas_w2c (canvas, e->motion.x, e->motion.y, &x, &y);
if (etfci_maybe_start_drag (etfci, x, y))
- etfci_start_drag (etfci, e);
+ etfci_start_drag (etfci, e, x, y);
break;
case GDK_BUTTON_PRESS: