--- a/DragAndDropManager.st Tue Mar 31 09:48:29 1998 +0200
+++ b/DragAndDropManager.st Tue Mar 31 11:42:45 1998 +0200
@@ -215,6 +215,7 @@
]
].
+ addButton value:(0@-5) value:'String' value:'String'.
addButton value:#topLeft value:'String' value:'String'.
addButton value:#topRight value:'Text' value:(Text string:'hello' emphasis:#bold).
addButton value:#bottomLeft value:'Icon' value:icon.
@@ -813,7 +814,12 @@
height := height + (obj heightOn:aView).
].
- offset := self computeOffset:anOffset w:width h:height.
+ anOffset isSymbol ifTrue:[
+ offset := (0@0 extent:(width @ height)) perform:anOffset.
+ ] ifFalse:[
+ offset := anOffset ? (0@0).
+ ].
+ offset := offset rounded.
dispObjs do:[:el| el at:2 put:((el at:2) - offset) ].
@@ -823,6 +829,8 @@
in:aView
at:nil
atEnd:aFourArgBlock
+
+ "Modified: / 31.3.1998 / 11:18:04 / cg"
!
startDrag:draggableObjects from:aView offset:anOffset display:something
@@ -929,32 +937,6 @@
!DragAndDropManager methodsFor:'drawing'!
-computeOffset:anOffset w:w h:h
- |p|
-
- anOffset isSymbol ifFalse:[
- ^ anOffset notNil ifTrue:[anOffset] ifFalse:[0@0]
- ].
- anOffset == #topLeft ifTrue:[ ^ 0 @ 0].
- anOffset == #topRight ifTrue:[ ^ w @ 0].
-
- anOffset == #bottomLeft ifTrue:[ ^ 0 @ h].
- anOffset == #bottomRight ifTrue:[ ^ w @ h].
-
- p := (w @ h) // 2.
-
- anOffset == #center ifTrue:[ ^ p ].
-
- anOffset == #topCenter ifTrue:[ ^ p x @ 0 ].
- anOffset == #bottomCenter ifTrue:[ ^ p x @ h ].
-
- anOffset == #leftCenter ifTrue:[ ^ 0 @ p y ].
- anOffset == #rightCenter ifTrue:[ ^ w @ p y ].
-
- Transcript showCR:'unsupported offset: ', anOffset printString.
- ^ 0 @ 0
-!
-
displayObjectFor:anObject on:aDevice
"converts an object to a display object
"
@@ -1310,6 +1292,6 @@
!DragAndDropManager class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview2/DragAndDropManager.st,v 1.19 1998-03-30 12:02:15 ca Exp $'
+ ^ '$Header: /cvs/stx/stx/libview2/DragAndDropManager.st,v 1.20 1998-03-31 09:42:45 cg Exp $'
! !
DragAndDropManager initialize!