comparison man/lispref/dragndrop.texi @ 290:c9fe270a4101 r21-0b43

Import from CVS: tag r21-0b43
author cvs
date Mon, 13 Aug 2007 10:36:47 +0200
parents e11d67e05968
children 70ad99077275
comparison
equal deleted inserted replaced
289:6e6992ccc4b6 290:c9fe270a4101
2 @c This is part of the XEmacs Lisp Reference Manual. 2 @c This is part of the XEmacs Lisp Reference Manual.
3 @c Copyright (C) 1998 Oliver Graf <ograf@fga.de> 3 @c Copyright (C) 1998 Oliver Graf <ograf@fga.de>
4 @c Original reference is (c) 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc. 4 @c Original reference is (c) 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
5 @c See the file lispref.texi for copying conditions. 5 @c See the file lispref.texi for copying conditions.
6 @setfilename ../../info/dragndrop.texi 6 @setfilename ../../info/dragndrop.texi
7 @node Drag'n'Drop, Modes, Scrollbars, Top 7 @node Drag and Drop, Modes, Scrollbars, Top
8 @chapter Drag'n'Drop 8 @chapter Drag and Drop
9 @cindex drag'n'drop 9 @cindex drag and drop
10 10
11 @emph{WARNING}: the Drag'n'Drop API is still under development and the 11 @emph{WARNING}: the Drag'n'Drop API is still under development and the
12 interface may change! 12 interface may change! The current implementation is considered experimental.
13 13
14 Drag'n'drop is a way to transfer information between multiple applications. 14 Drag'n'drop is a way to transfer information between multiple applications.
15 To do this serveral GUIs define their own protocols. Examples are OffiX, CDE, 15 To do this serveral GUIs define their own protocols. Examples are OffiX, CDE,
16 Motif, KDE, MSWindows, GNOME, and many more. To catch all these protocols, 16 Motif, KDE, MSWindows, GNOME, and many more. To catch all these protocols,
17 XEmacs provides a generic API. 17 XEmacs provides a generic API.
84 84
85 @node Loose ends 85 @node Loose ends
86 @subsection Loose ends 86 @subsection Loose ends
87 87
88 The following protocols will be supported soon: Xdnd, Motif, Xde (if I 88 The following protocols will be supported soon: Xdnd, Motif, Xde (if I
89 get some specs). 89 get some specs), KDE OffiX (if KDE can find XEmacs windows).
90 90
91 In particular Xdnd will be one of the protocols that can benefit from 91 In particular Xdnd will be one of the protocols that can benefit from
92 the XEmacs API, cause it also uses MIME types to encode dragged data. 92 the XEmacs API, cause it also uses MIME types to encode dragged data.
93 93
94 @node Drop Interface 94 @node Drop Interface
99 For each activated low-level protocol, a internal routine will catch 99 For each activated low-level protocol, a internal routine will catch
100 incoming drops and convert them to a dragdrop-drop type 100 incoming drops and convert them to a dragdrop-drop type
101 misc-user-event. 101 misc-user-event.
102 102
103 This misc-user-event has its function argument set to 103 This misc-user-event has its function argument set to
104 dragdrop-drop-dispatch and the object contains the data of the drop 104 @code{dragdrop-drop-dispatch} and the object contains the data of the drop
105 (converted to URL/MIME specific data). 105 (converted to URL/MIME specific data). This function will search the variable
106 @code{experimental-dragdrop-drop-functions} for a function that can handle the
107 dropped data.
108
109 To modify the drop behaviour, the user can modify the variable
110 @code{experimental-dragdrop-drop-functions}. Each element of this list
111 specifies a possible handler for dropped data. The first one that can handle
112 the data will return @code{t} and exit. Another possibility is to set a
113 extent-property with the same name. Extents are checked prior to the
114 variable.
115
116 The customization group @code{drag-n-drop} shows all variables of user
117 interest.
106 118
107 @node Drag Interface 119 @node Drag Interface
108 @section Drag Interface 120 @section Drag Interface
109 @cindex drag 121 @cindex drag
110 @cindex Drag API 122 @cindex Drag API