[plt-scheme] Dragging between canvases in MrED

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Thu Jun 14 19:54:00 EDT 2007

At Thu, 14 Jun 2007 20:03:55 +0100, "Stephen De Gabrielle" wrote:
> Hi, just wondering if anyone has experience dragging items between
> canvases.

There's no specific support for dragging between canvases, but it can
be implemented. When a user clicks in a canvas, all mouse events until
the button is released are directed to the same canvas. The canvas can
determine whether the mouse is moved outside, and send messages to
other windows. Within the same frame, the canvas can find a target
window by walking up and down the hierarchy with `get-parent' and
`get-children'. Among different top-level frames, it would have to use
the `send-message-to-window' procedure.

Something that does most of that work would make a good Planet library.

> From what I can tell from the documentation, the only way is
> to have virtual canvases and use the embedded gui collection.

I doubt that the embedded GUI library will help, actually.

Matthew



Posted on the users mailing list.