[squeak-dev] The Trunk: Morphic-mt.1105.mcz

Chris Muller asqueaker at gmail.com
Mon Apr 11 15:03:11 UTC 2016


Why hasTail: true?  It's not actually "pointing" at anything other
than where the Hand is already pointing, so its two "arrows" pionting
at each other, which is redundant and even somewhat confusing.  I
don't think you will find any other UI which does that.

Strangely, I can't seem to turn it off myself -- if I specify
"hasTail: false" right there, it has no effect, the tail still
appears...

On Mon, Apr 11, 2016 at 3:19 AM,  <commits at source.squeak.org> wrote:
> Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
> http://source.squeak.org/trunk/Morphic-mt.1105.mcz
>
> ==================== Summary ====================
>
> Name: Morphic-mt.1105
> Author: mt
> Time: 11 April 2016, 10:19:30.423264 am
> UUID: ea97f6eb-ebd3-f34a-b7ea-f6b0fb77b730
> Ancestors: Morphic-cmm.1104
>
> Fixes deferred balloon tips that showed up at the hand but the hand has already moved above another morph.
>
> =============== Diff against Morphic-cmm.1104 ===============
>
> Item was changed:
>   ----- Method: NewBalloonMorph>>popUpAt: (in category 'initialization') -----
>   popUpAt: point
>         "Do not remove other balloon helps."
>
>         | w h |
>         self balloonOwner ifNil: [^ self].
>         self balloonOwner isInWorld ifFalse: [^ self].
>
>         w := self balloonOwner world.
>         h := w activeHand.
> +
> +       self hasTail: true.
>
>         #(bottomLeft topLeft bottomRight topRight) detect: [:nextOrientation |
>                 | pointWithOffset |
>                 self orientation: nextOrientation.
>                 pointWithOffset := point + self tailOffset.
>                 self move: pointWithOffset.
>                 self bounds: (self bounds translatedToBeWithin: w bounds).
>                 (self bounds perform: self orientation) = pointWithOffset] ifNone: ["Keep last try."].
>
>         w activeHand addBalloonHelp: self.
>         self openInWorld.!
>
> Item was changed:
>   ----- Method: NewBalloonMorph>>popUpFor:hand: (in category 'initialization') -----
>   popUpFor: aMorph hand: aHand
> +       "Pop up the receiver as balloon help for the given hand. Ignore if the hand does not touch the morph."
> -       "Pop up the receiver as balloon help for the given hand"
>
> +       (aMorph boundsInWorld containsPoint: aHand position)
> +               ifFalse: [^ self "Ignore"].
> +
>         self balloonOwner: aMorph.
>         self popUpForHand: aHand.!
>
>


More information about the Squeak-dev mailing list