Search the FAQ Archives

3 - A - B - C - D - E - F - G - H - I - J - K - L - M
N - O - P - Q - R - S - T - U - V - W - X - Y - Z - Internet FAQ Archives Frequently Asked Questions (FAQ)
Section - 27. What is and how can I implement drag and drop?

( Single Page )
[ Usenet FAQs | Web FAQs | Documents | RFC Index | Counties ]

Top Document: Frequently Asked Questions (FAQ)
Previous Document: 26. Why don't XtAddInput(), XtAddTimeout() and XtAddWorkProc() work?
Next Document: 28. How can I add a C++ member function as a widget callback?
See reader questions & answers on this topic! - Help others by sharing your knowledge
(Courtesy of Roger Reynolds,; 19 Feb 93)

Drag-n-drop is a buzzword for moving data between clients, in an
``intuitive'' fashion.

Motif Version 1.2 supports drag-n-drop capabilities, OpenLook has
supported d-n-d all along.  The two protocols are not compatible with
each other, and so far as I know, they are not published.

I wrote a package called RDD which is designed to be a flexible public
protocol for doing drag 'n drop operations between clients.  My
intention was to provide a tool which would make it easy for people to
support a "standard" drag-n-drop protocol in the programs they develop
and contribute or sell, regardless of what widget set is used (as long
as it is based on Xt).

The implementation is based upon my understanding of the ICCCM
conventions, for more details read the code.

I have heard from dozens of people using RDD who like it and feel that
it works a whole lot better than Motif 1.2 stuff.  Also, there seem to
be many who think that it is neat but are constrained to use Motif

The latest RDD (and some other stuff) is available for ftp from, in /pub/rogerr.  A (possibly older) version is also
available on in /contrib.

User Contributions:

Comment about this article, ask questions, or add new information about this topic: