DragAndDropManager.st
changeset 881 981e0791ca36
parent 874 0730cf44f593
child 1072 be90bc383d83
--- 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!