diff -r f6732f77edf8 -r 643fd1153e5d DropSource.st --- a/DropSource.st Sun Mar 30 15:00:55 2003 +0200 +++ b/DropSource.st Sun Mar 30 15:02:05 2003 +0200 @@ -14,8 +14,8 @@ "{ Package: 'stx:libview2' }" Object subclass:#DropSource - instanceVariableNames:'receiver argument feedBackSelector dropObjectSelector - displayObjectSelector startDragSelector' + instanceVariableNames:'receiver argument dropObjectSelector displayObjectSelector + startDragSelector dropFeedBackSelector' classVariableNames:'' poolDictionaries:'' category:'Interface-DragAndDrop' @@ -79,10 +79,12 @@ ! receiver:aReceiver argument:anArgument - ^ self receiver:aReceiver argument:anArgument - dropObjectSelector:nil - displayObjectSelector:nil - feedBackSelector:nil + ^ self + receiver:aReceiver + argument:anArgument + dropObjectSelector:nil + displayObjectSelector:nil + dropFeedBackSelector:nil ! receiver:aReceiver argument:anArgument dropObjectSelector:aSelector @@ -90,7 +92,7 @@ ^ self new receiver:aReceiver argument:anArgument dropObjectSelector:aSelector displayObjectSelector:nil - feedBackSelector:nil + dropFeedBackSelector:nil ! receiver:aReceiver argument:anArgument dropObjectSelector:s1 displayObjectSelector:s2 @@ -98,7 +100,15 @@ ^ self new receiver:aReceiver argument:anArgument dropObjectSelector:s1 displayObjectSelector:s2 - feedBackSelector:nil + dropFeedBackSelector:nil +! + +receiver:aReceiver argument:anArgument dropObjectSelector:s1 displayObjectSelector:s2 dropFeedBackSelector:s3 + + ^ self new receiver:aReceiver argument:anArgument + dropObjectSelector:s1 + displayObjectSelector:s2 + dropFeedBackSelector:s3 ! receiver:aReceiver argument:anArgument dropObjectSelector:s1 displayObjectSelector:s2 feedBackSelector:s3 @@ -106,26 +116,26 @@ ^ self new receiver:aReceiver argument:anArgument dropObjectSelector:s1 displayObjectSelector:s2 - feedBackSelector:s3 + dropFeedBackSelector:s3 ! ! !DropSource methodsFor:'accessing'! argument - "returns the user defined argument - " + "returns the user defined argument" + ^ argument ! argument:anArgument - "set the user defined argument - " + "set the user defined argument" + argument := anArgument ! displayObjects - "returns a collection of display objects or nil - " + "returns a collection of display objects or nil" + displayObjectSelector isNil ifTrue:[ ^ nil ]. @@ -134,8 +144,8 @@ ! dropObjects - "returns a collection of objects to drop - " + "returns a collection of objects to drop" + dropObjectSelector isNil ifTrue:[ ^ nil ]. @@ -174,6 +184,20 @@ displayObjectSelector := aSelectorWithNoneOrOneArgs. ! +dropFeedBackSelector + "selector called at end of a drop to give a feedback; the argument to + the selector is the dropContext" + + ^ dropFeedBackSelector +! + +dropFeedBackSelector:aSelectorWithZeroOrOneArgs + "selector called at end of a drop to give a feedback; the argument to + the selector is the dropContext" + + dropFeedBackSelector := aSelectorWithZeroOrOneArgs. +! + dropObjectSelector "selector to access the draggable objects; a sequence of DropObject's If an argument is required, the argument is the dropSource (self) @@ -188,20 +212,6 @@ dropObjectSelector := aSelectorWithNoneOrOneArgs. ! -feedBackSelector - "selector called at end of a drop to give a feedback; the argument to - the selector is the dropContext - " - ^ feedBackSelector -! - -feedBackSelector:aSelectorWithNoneOrOneArgs - "selector called at end of a drop to give a feedback; the argument to - the selector is the dropContext - " - feedBackSelector := aSelectorWithNoneOrOneArgs. -! - startDragSelector "send to the receiver to start a DragAndDropManager. If no selector is specified, the default drag & drop operation is performed. @@ -223,20 +233,20 @@ 2 aDropSource (self) Widget 3 aDropSource (self) Widget Point " + startDragSelector := aTwoOrThreeArgSelector ! ! !DropSource methodsFor:'actions'! -feedBack:aDropContext - "feedback to receiver - " - feedBackSelector isNil ifTrue:[ +dropFeedBackFrom:aDropContext + "drop feedback to receiver" + + dropFeedBackSelector isNil ifTrue:[ ^ self ]. - ^ feedBackSelector numArgs == 0 ifTrue:[receiver perform:feedBackSelector] - ifFalse:[receiver perform:feedBackSelector with:aDropContext] + ^ receiver perform:dropFeedBackSelector withOptionalArgument:aDropContext ! startDragIn:aView at:aPoint @@ -258,17 +268,34 @@ !DropSource methodsFor:'instance creation'! -receiver:aReceiver argument:anArgument dropObjectSelector:s1 displayObjectSelector:s2 feedBackSelector:s3 - +receiver:aReceiver argument:anArgument dropObjectSelector:s1 displayObjectSelector:s2 dropFeedBackSelector:s3 receiver := aReceiver. argument := anArgument. dropObjectSelector := s1. displayObjectSelector := s2. - feedBackSelector := s3. + dropFeedBackSelector := s3. +! ! + +!DropSource methodsFor:'obsolete'! + +feedBackSelector + "selector called at end of a drop to give a feedback; the argument to + the selector is the dropContext" + + "/ self obsoleteMethodWarning:'use dropFeedBackSelector'. + ^ self dropFeedBackSelector +! + +feedBackSelector:aSelectorWithZeroOrOneArgs + "selector called at end of a drop to give a feedback; the argument to + the selector is the dropContext" + + "/ self obsoleteMethodWarning:'use dropFeedBackSelector:'. + self dropFeedBackSelector:aSelectorWithZeroOrOneArgs. ! ! !DropSource class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libview2/DropSource.st,v 1.2 2002-12-10 11:03:11 cg Exp $' + ^ '$Header: /cvs/stx/stx/libview2/DropSource.st,v 1.3 2003-03-30 13:02:05 cg Exp $' ! !