The Artima Developer Community
Sponsored Link

Agile Buzz Forum
DragDrop Part 1 (At Last)

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
James Robertson

Posts: 29924
Nickname: jarober61
Registered: Jun, 2003

David Buck, Smalltalker at large
DragDrop Part 1 (At Last) Posted: Nov 7, 2003 3:34 PM
Reply to this message Reply

This post originated from an RSS feed registered with Agile Buzz by James Robertson.
Original Post: DragDrop Part 1 (At Last)
Feed Title: Pollock
Feed URL: http://www.cincomsmalltalk.com/rssBlog/pollock-rss.xml
Feed Description: Pollock - the next VW GUI
Latest Agile Buzz Posts
Latest Agile Buzz Posts by James Robertson
Latest Posts From Pollock

Advertisement

Sorry I've been away for so long. I promised I'd talk about DragDrop, and I hadn't forgotten. I had DragDrop on my list of things to do for Pollock, and much to my surprise, it became obvious that I was going to actually get too it pretty soon, so I delayed actually writing this till I got to it.

So, this is going to be a bit of many things. It will be about the research I have done, what VisualWorks can and can't do in terms of DragDrop, and the design of DragDrop for Pollock itself. Hopefully I won't bounce around too much and you'll be able to follow along

First off, let's cover what DragDrop entails. Given you have selected something, either a bit of text in an entry field of some sort, or one or more items in some list object (be it a List Box or a TreeView or whatever) and then click and start dragging, there are two possible operations you are going to do with the selected objects, and two possible interactions with the target object.

  • Operations
  • *Copy Selected Objects To Target
  • *Move Selected Objects To Target
  • Interactions
  • *Drop Objects Into Target Pane
  • *Drop Objects Onto Something In The Target Pane

This means the following four examples can apply:

  1. Copy/Into = Dragging A File From One Directory To Another (With Ctrl Down)
  2. Move/Into = Dragging A File From One Directory To Another (Without Ctrl Down)
  3. Copy/Onto = Dragging A File And Dropping It On An Executable
  4. Move/Onto = Dragging A File And Dropping It On The Recycle Bin

Simple no? Just four things anyone has to worry about, right? ... Were it only that simple below the surface!

Now that we've laid out the general fundamentals of DragDrop from orbit, let's talk about VisualWorks and DragDrop

VisualWorks supports DragDrop only from and to VisualWorks windows and the panes therein. Why is that? VisualWorks is a cross platform system. We really only support those things that are reasonably common in all platforms. While it is part of the OS in on Windows and Mac platforms, it is NOT guaranteed to be there on our many X11 platforms. There are several "standards" for Drag/Drop on the X11 platform, such as XDND protocol http://www.newplanetsoftware.com/xdnd] and to a lesser extent the Motif Drag/Drop. Unfortunately, that's just not good enough. Maybe with the coming of the Squeak Plugin system, we'll eventually be able to support cross platform DragDrop, with the caveat that by definition, it won't work in all X11 environments. Even the Squeak DropPlugin is only Drop into the Smalltalk world, with no current support for drag outside the Smalltalk world. Maybe someday DragDrop will become something that is actually in the guts of all of our supported platforms. Until then, don't expect to see DragDrop in our base system... Sorry

Read: DragDrop Part 1 (At Last)

Topic: In the other camp... Previous Topic   Next Topic Topic: Round Trip Events

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use