[squeak-dev] The Inbox: Morphic-pre.1329.mcz

Bob Arning arning315 at comcast.net
Fri Mar 24 11:09:50 UTC 2017


You are right about it looking good for menu items. TransferMorph 
specifically aligns its bottomLeft with the hand, thus keeping the text 
fully readable.


aboutToBeGrabbedBy: aHand
     "The receiver is being grabbed by a hand.
     Perform necessary adjustments (if any) and return the actual morph
          that should be added to the hand."
     "Since this morph has been initialized automatically with bounds 
origin
          0 at 0, we have to move it to aHand position."
     super aboutToBeGrabbedBy: aHand.

     self align: self fullBounds bottomLeft with: aHand position.
     aHand newKeyboardFocus: self.


The above could be changed to #topLeft and perhaps achieve the effect 
you wanted, although maybe less nicely for menu/list items. I was 
thinking that since TransferMorph was making things a bit difficult, 
maybe TransferMorph could clean things up. Have you installed a 
transferMorphConverter in the World? What does it do? Maybe that's the 
place to handle the offset.

morphToDropForTransferMorph: aTransferMorph
     "aTransferMorph has been dragged directly onto the desktop. 
TransferMorphs, by nature, are about transferring a 'logical object' 
from another source. Answer the Morph that should actually be dropped on 
to the desktop."
     ^ self
         perform: self transferMorphConverter
         with: aTransferMorph

On 3/24/17 4:51 AM, Rein, Patrick wrote:
>
> I just also made a small gif to show the usual use case of dropping an 
> object in the world which is not a morph yet.
>
> ------------------------------------------------------------------------
> *From:* Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> on 
> behalf of Rein, Patrick
> *Sent:* Friday, March 24, 2017 09:39
> *To:* The general-purpose Squeak developers list
> *Subject:* Re: [squeak-dev] The Inbox: Morphic-pre.1329.mcz
>
> Hi Bob,
>
>
> I think I see now what I missed out in my explanation. Ordinary 
> morph drag and drop should not be affected by my change at all.
>
> Actually you can still drag and drop morphs like before (even 
> openInHand and dropping it afterwards).
>
>
> What I intented to change was the drop behavior for the mechanism for 
> opening a morph for an object dropped in the world (basically 
> PasteUpMorph>>transferMorphConverter:).
>
> For example, my method checks whether the dropped object is a Model 
> and if so tries to open it with ToolBuilder.​
>
>
> The drag starts in PluggableTreeMorph>>#startDrag: to answer your 
> initial question.
>
>
> Bests
>
> Patrick
>
> ------------------------------------------------------------------------
> *From:* Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> on 
> behalf of Bob Arning <arning315 at comcast.net>
> *Sent:* Thursday, March 23, 2017 18:15
> *To:* squeak-dev at lists.squeakfoundation.org
> *Subject:* Re: [squeak-dev] The Inbox: Morphic-pre.1329.mcz
>
> The real question is how the morph got attached to the hand in the 
> first place. People have been picking morphs up and dropping them for 
> decades, so there is something new here. Do you have the code that put 
> the bowl into the hand?
>
>
> On 3/23/17 11:43 AM, Rein, Patrick wrote:
>>
>> Well before the change, the morph would have opened anywhere in the 
>> world. Most of the time that was not close to the hand.
>>
>>
>> You are right though, that the new behavior look weird too... Maybe 
>> this is because it looks good for dragging menu items?
>>
>> ------------------------------------------------------------------------
>> *From:* Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> on 
>> behalf of Bob Arning <arning315 at comcast.net>
>> *Sent:* Thursday, March 23, 2017 16:36
>> *To:* squeak-dev at lists.squeakfoundation.org
>> *Subject:* Re: [squeak-dev] The Inbox: Morphic-pre.1329.mcz
>>
>> I guess one question is why the bowl was attached to the hand at the 
>> lower left corner of the bowl rather than the upper left. If it had 
>> been attached at the upper left, then it probably would have dropped 
>> right where expected.
>>
>>
>> On 3/23/17 11:13 AM, Rein, Patrick wrote:
>>> This allows for more "intuitive" drag and drop behavior. When I drop something into the world and a morph is opened for it than the morph is displayed at the position where the element was dropped. For a simple example so the gif attached.
>>
>>
>>
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20170324/a2b7e6a2/attachment.html>


More information about the Squeak-dev mailing list