[333] in The GTK GIMP ToolKit mailing list archive

home help back first fref pref prev next nref lref last post

[gtk-list] Drag and Drop, try 1

daemon@ATHENA.MIT.EDU (Elliot Lee)
Fri Jun 13 10:32:50 1997

Date: Fri, 13 Jun 1997 10:31:17 -0400 (EDT)
From: Elliot Lee <sopwith@redhat.com>
To: gtk-list@redhat.com
Resent-From: gtk-list@redhat.com
Reply-To: gtk-list@redhat.com

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--453300188-1793485751-866212277=:20286
Content-Type: TEXT/PLAIN; charset=US-ASCII

MIME-attached is a gzip'd (it's 40K uncompressed, I don't like to fill
people's mailboxes up) patch for my first try at drag and drop support,
for 0.99.10.

Documentation so far:
	- Accepting drops is not very hard. You add a signal handler for
	a "drop_notify_event" to a widget. The signal handler should have
	a prototype like:
		void drop_signal(GtkWidget *widget, GdkEventDrop *what);
	In the GdkEventDrop structure, there are 'data', 'datanumbytes',
	and 'datatype' elements. Only one that needs explaining is
	'datatype', which comes from <gdk/gdktypes.h> and tells you
	whether you have raw data, text, a file, files, MIME data, etc.
	being dropped. You must free the 'data' after you are done with
	it.
	BTW only widgets which have their own ->window element set up
	can do drag and drop.

	- Allowing drags is much more hairy. After creating the widget,
	it has to be realized (i.e. its ->window element created), after
	which you can do
		gtk_widget_set_dnd_data(widget,
			gint dnd_enable /*{FALSE,TRUE} */,
			GdkDropType dnd_type, /* See gdk/gdktypes.h */
			gpointer dnd_data  /* You do not have to keep this
					      around after doing the set,
					      a copy of it is saved with
					      the widget */,
			guint32 dnd_datanumbytes /* Number of bytes in data */,
			GdkCursorType dnd_cursor /* Cursor to change to
						    when dragging this widget */
			);
	The best way to do things IMHO is to set_dnd_data with
	dnd_enable = TRUE, but passing GDK_DNDTYPE_NOTDND,
	NULL, and 0 in for the type/data/datanumbytes. Then you
	can set your signal handler on the widget for the
	"drag_begin_notify_event" and set the correct data as each
	drag occurs.

Bugs/Todo:
	- Drag cursor doesn't get set correctly the first time the
	  widget is dragged.
	- A widget shouldn't have to be realized to set_dnd_data on it.
	- Separate set_dnd_data into set_dnd_data and set_dnd_options
	  functions.
	- Would be nice to add drag & drop to different widgets -
	  i.e. be able to drag a color from the color selector to anywhere
	  in your application.
	- Feedback on the implementation needed. There *have* to be
	  mistakes I made that are yours to correct ;-) Please let me know
	  when you find something.
	- A DRAG_ACCEPTED_NOTIFY_EVENT would be very useful especially
	  for file managers where you need to know the outcome, however
	  OffiX does not provide this in the protocol. A PROPERTY_NOTIFY
	  should be generated when the receiving application receives &
	  deletes the dndselection property through which data is passed,
	  but the receiving application sometimes does a read without
	  delete, and even if it did it wouldn't let you know if the
	  application had actually accepted. (see below)
	- Add Motif drag & drop (a much more robust protocol than OffiX)
	  (see below)
Soapbox:
	The types made available by the OffiX protocol are not going
	to suffice for a lot of the applications needed. I
	would like to suggest always using a GDK_DNDTYPE_MIME, and
	then following the standard HTTP header convention. So for
	dragging an image, you could do something like
Content-type: image/gif

[imagedatahere]
	This will add a little bit of parsing to your apps, but allow
	for a lot more flexibility (you don't need a Content-length:
	header, just subtract strlen(line1) + 1 from total length).

	I'm hoping to get Motif DND protocol docs and implement that.
	KDE uses Offix protocol version 0 as a base and then adds
	DndEnter and DndLeave events, making it Yet Another protocol to
	support.
	(this implementation is vanilla OffiX protocol version 1).

	There are problems with supporting multiple drop protocols, namely
	that you might get drops in three different protocols from another
	gtk application, and think that you had got 3 separate drop
	events.

That's my blathering, now do your thing ;-)
-- Elliot					http://www.redhat.com/
How do you explain school to a higher intelligence?
                -- Elliot, "E.T."

--453300188-1793485751-866212277=:20286
Content-Type: APPLICATION/octet-stream; name="gtk-dnd9.patch.gz"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.95.970613103117.20286F@dilbert.redhat.com>
Content-Description: 

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
XfM/8A4VMAejAAA=
--453300188-1793485751-866212277=:20286--

--
To unsubscribe: mail -s unsubscribe gtk-list-request@redhat.com < /dev/null


home help back first fref pref prev next nref lref last post