[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
|