[ENH] BrowserWithDragAndDrop

Stephan Rudlof sr at evolgo.de
Fri May 5 02:10:24 UTC 2000


Dear Squeakers,

here is version 0.6 of the standard browser with drag&drop
functionality.

New highlights:
		copy/move semantic controlled by shift key:
		-> copy visualized by cursor with '+',
		-> move visualized by cursor without '+' and animation,
			- successful move has another animation as unsuccessful one;
		refactored and improved Browser code;
		animation of #move operation (controlled by Preferences).

Greetings,

Stephan


"Change Set:		BrowserWithDragAndDrop
Date:			5 May 2000
Author:			Stephan Rudlof
Release:			0.6

Drag&drop for standard browsers!

Precondition: Morphic, Squeak 2.7

Postcondition: You have to open new browsers to see some effect! Old
ones should work as before (the same should be valid for other tools
using PluggableListMorph or subclasses).


Usage:

Just press the red button (after pressing shift key or not) and drag
inside a browser window or from one browser window to another (you
*don't* need two windows!):
- a method in another message category,
- a class in another class category,
- a method from a class to another class.

There is
- copy semantic, if shift key pressed,
- move semantic, if shift key not pressed.

The user has to confirm, if some method should be overwritten.


DoIts:

Browser openBrowser.
Utilities dragNDropDomestos. 'for removal of drag&drop artifacts'


Preferences:

There are 'browsing' preferences
- 'browseWithDragNDrop', default is 'on';
- 'dragNDropWithAnimation', default is 'on'.


Bugs: 

They surely exist: mail them to me or Squeak ML!


Implementation note:

Merged with standard classes since v0.5 to avoid code bloat.


Have fun!


History:

0.6		copy/move semantic controlled by shift key:
		-> copy visualized by cursor with '+',
		-> move visualized by cursor without '+' and animation,
			- successful move has another animation as unsuccessful one;
		refactored and improved Browser code;
		animation of #move operation (controlled by Preferences).
		
0.5		Drag&drop inside hierarchies: moving methods from sub/super to
super/sub class
			-> works in HierarchyBrowsers!
		Drag&drop between hierarchies: copying methods from class to class;
		TransferMorph: better visualization (from Henrik Gedenryd)
			-> the item will be dragged now;
		Implementation integrated in standard classes now.

0.4		Drag&drop inside browsers, better logic, better visualization.

0.3		Drag&drop triggered by pressing red mouse button and just moving
mouse;
		PluggableListMorphWithDragAndDrop:
			event handling improved
			-> mouseUp deselects now (better for drag&drop).

0.2.1	PluggableListMorphWithDragAndDrop: superfluous inst var removed
0.2		Drag&drop triggered by pressing red mouse button longer than
DoubleClickTime.

0.1		Drag&drop triggered by pressing shift-key and then red mouse
button.
"
-- 
Stephan Rudlof (sr at evolgo.de)
   "Genius doesn't work on an assembly line basis.
    You can't simply say, 'Today I will be brilliant.'"
    -- Kirk, "The Ultimate Computer", stardate 4731.3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: BrowserWithDragAndDrop.23.cs.gz
Type: application/octet-stream
Size: 16120 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20000505/3b0e9e18/BrowserWithDragAndDrop.23.cs.obj


More information about the Squeak-dev mailing list