diff options
author | Lars Hamann <lars@gtk.org> | 1999-01-08 00:21:36 +0000 |
---|---|---|
committer | Lars Hamann <lars@src.gnome.org> | 1999-01-08 00:21:36 +0000 |
commit | b56693d114a9033d5d371b668ac5304a88d6effd (patch) | |
tree | 0c3b1ec20dcbb2c0ef9b323c8336a54d676d3b8d /gtk/gtkclist.c | |
parent | 41604dd844dd5ad482a9703248c290ea62a58587 (diff) | |
download | gdk-pixbuf-b56693d114a9033d5d371b668ac5304a88d6effd.tar.gz |
call gtk_spin_button_update before returning a value
Fri Jan 8 00:42:00 1999 Lars Hamann <lars@gtk.org>
* gtk/gtkspinbutton.c (gtk_spin_button_get_value_as_int)
(gtk_spin_button_get_value_as_float): call gtk_spin_button_update
before returning a value
* gtk/gtkclist.c (gtk_clist_motion): don't allow 'drag selections'
if clist is a drag source.
(gtk_clist_drag_begin): remove pointer grabs, end ongoing selections.
* gtk/gtkctree.c (remove_grab): copy of clist function.
(gtk_ctree_drag_begin): let clists drag_begin method set the
source info struct.
Diffstat (limited to 'gtk/gtkclist.c')
-rw-r--r-- | gtk/gtkclist.c | 43 |
1 files changed, 20 insertions, 23 deletions
diff --git a/gtk/gtkclist.c b/gtk/gtkclist.c index d674d2c39..a201f39dc 100644 --- a/gtk/gtkclist.c +++ b/gtk/gtkclist.c @@ -5202,31 +5202,11 @@ gtk_clist_motion (GtkWidget *widget, x >= (COLUMN_LEFT_XPIXEL(clist, clist->click_cell.column) + clist->column[clist->click_cell.column].area.width))) { - GdkDragContext *context; GtkTargetList *target_list; - gint button; - - button = clist->drag_button; - clist->drag_button = 0; - remove_grab (clist); - - switch (clist->selection_mode) - { - case GTK_SELECTION_EXTENDED: - update_extended_selection (clist, clist->focus_row); - GTK_CLIST_CLASS_FW (clist)->resync_selection - (clist, (GdkEvent *) event); - break; - case GTK_SELECTION_SINGLE: - case GTK_SELECTION_MULTIPLE: - clist->anchor = -1; - case GTK_SELECTION_BROWSE: - break; - } target_list = gtk_target_list_new (&clist_target_table, 1); - context = gtk_drag_begin (widget, target_list, GDK_ACTION_MOVE, - button, (GdkEvent *)event); + gtk_drag_begin (widget, target_list, GDK_ACTION_MOVE, + clist->drag_button, (GdkEvent *)event); } return TRUE; @@ -5283,7 +5263,8 @@ gtk_clist_motion (GtkWidget *widget, row = CLAMP (row, 0, clist->rows - 1); - if (button_actions & GTK_BUTTON_SELECTS) + if (button_actions & GTK_BUTTON_SELECTS & + !gtk_object_get_data (GTK_OBJECT (widget), "gtk-site-data")) { if (row == clist->focus_row) return FALSE; @@ -7357,6 +7338,22 @@ gtk_clist_drag_begin (GtkWidget *widget, clist = GTK_CLIST (widget); + clist->drag_button = 0; + remove_grab (clist); + + switch (clist->selection_mode) + { + case GTK_SELECTION_EXTENDED: + update_extended_selection (clist, clist->focus_row); + GTK_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL); + break; + case GTK_SELECTION_SINGLE: + case GTK_SELECTION_MULTIPLE: + clist->anchor = -1; + case GTK_SELECTION_BROWSE: + break; + } + info = g_dataset_get_data (context, "gtk-clist-drag-source"); if (!info) |