diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/dnd.txt | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/docs/dnd.txt b/docs/dnd.txt index 64220bddf..8abf3919e 100644 --- a/docs/dnd.txt +++ b/docs/dnd.txt @@ -53,6 +53,7 @@ Then, when the drop occurs, drag_drop is called on the destination. drag_drop calls gtk_drag_get_data to get the data from the source to do its drop. Then, drag_data_received is called when the data is received. There, we can do the actual operation involved by the drop. +Also, just before the drag_drop event, a drag_leave event is triggered. If no drop occurs, a drag_leave occurs. @@ -74,7 +75,18 @@ To solve 2), we have to be very careful where we call this fution from. This function has to clean up: - the list of expanded nodes (tree view). + - the autoscroll code. + - the prelighting code. + It also has to set drag_info->need_to_destroy to TRUE + so that during the next drag in this widget, the + rest of the drag data is destroyed before begening the actual + new drag. + +When we receive a drag_motion, we first test for need_to_destroy and +destroy the rest of the data left from the previous drag. This code +has to destroy/reset: - the drag data. - the boolean vars used to store the state of the drag. - - the autoscroll code. - - the prelighting code.
\ No newline at end of file + + + |