Skip to main content

"Xtreme" Drag and Drop

3 replies [Last post]
Anonymous

Hi

I took my head in my hands, and I thinked about the Drag and Drop...
Actually, there is no Drag and Drop in LG3D, but I think that is a need !
Here are my ideas :
- an universal trash on the taskbar (something like MacOS, where we could put
useless backgrounds, shortcuts icons or mounted devices for instance)
- everything can be drag and dropped
- small drawers (I hope it's the good word...), something like the way Xfce
works... What is the link with the Drag and Drop ? I think that we could for
instance go on a webpage, drop a picture in a drawer, reboot the computer and
drop the picture from the drawer to a new OpenOffice document for instance :
the content must stay between two reboots ! I could also drag an email to a
drawer, then drag it back to the web browser which will show the mail as if
it were a HTML file on the harddrive...
- the windows pictures in the taskbar should be droppable in a drawer too !
The window would be closed, and then restored by dropping it to the window
pictures list back....

Yet, back to the 3D effects :
the trash should off course be a 3D cylinder, with translucency. When we leave
the mouse over the trash, it should rotate (like if we push it and it fails),
all the trashed items should go over the taskbar in order to be easily
selected... The same effect should be applied to the drawers. The items go
back in the trash when the mouse leave the taskbar for two-three seconds.

Good points from that XDnD :
- easy for users, it's very intuitive
- a lot of features,
- no additionnal window
Bad points :
- hard to implement ? (I suppose it's possible to create an event
corresponding to the drag and drop, just do it :p
- compatibility with existing apps : would need a Qt patch (?) for instance in
order to make it compatible with our system,
- for the window dragged to drawers : is it possible to do the window remember
their state (opened file) without recoding most of the applictions in order
to make them use our APIs ?

---------------------------------------------------------------------
To unsubscribe, e-mail: interest-unsubscribe@lg3d.dev.java.net
For additional commands, e-mail: interest-help@lg3d.dev.java.net

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
vdegrandpre
Offline
Joined: 2004-11-21

Bonjour Pierre,

Je trouve ton idée très bonne.

'(I suppose it's possible to create an event corresponding to the drag and drop, just do it)'

Tu sais que tu peut participer activement au projet en remplissant le JCA?

Pierre

Le Lundi 22 Novembre 2004 06:59, lg3d-interest@javadesktop.org a écrit :
> Bonjour Pierre,
>
> Je trouve ton idée très bonne.
>
> '(I suppose it's possible to create an event corresponding to the drag and
> drop, just do it)'
>
> Tu sais que tu peut participer activement au projet en remplissant le
> JCA?
Je pensais qu'on devait parler en anglais :p
I can't legally fill in the JCA because I'm only 17, but in 6 month I'll be 18
and then I will be legally allowed to fill in the JCA, but not before :(

---------------------------------------------------------------------
To unsubscribe, e-mail: interest-unsubscribe@lg3d.dev.java.net
For additional commands, e-mail: interest-help@lg3d.dev.java.net

charetjc
Offline
Joined: 2004-07-24

I'm not sure how hard DnD would be to implement. Maybe it's possible to utilize the DnD feature in the JDK AWT/Swing packages. If not, here's part of what we'll need:

1) A clipboard object to store data after it's picked up and before it's dropped. This object can be loaded by lg3d using a singleton interface and accessed by programs using a public interface implemented by lg3d.

2) A wrapper class to hold the data and a descriptor of the data type (i.e. Java DnD Flavors & Transferables)

3) An event mechanism that will likely be the hardest part. The OS will have to monitor the mouse gestures and

a. notify a program of a drag-start event
b. notify a program of a drag-over event
c. notify a program of a drop event

I'll keep an eye out for links that provide more details for implementing DnD, it'll definitely be a major project for lg3d.

As for the drawers, a simple app can be made that supports DnD. Since writing to the hard drive is slower than memory, one drawer can be used for a RAM buffer, and a second for a HD buffer. I think the drawers will be the easiest part.