[squeak-dev] how to attachMorph: at the corner?
Chris Muller
asqueaker at gmail.com
Fri May 31 02:26:59 UTC 2013
Awesome. Thank you very much. It makes sense now that you've explained it..
On Wed, May 29, 2013 at 10:29 PM, Bob Arning <arning315 at comcast.net> wrote:
> compare the difference in these two:
>
> Morph new openInWorld;
> color: Color red;
> position: 20 at 100;
> on: #mouseDown
> send: #value
> to: [(r _ RectangleMorph new extent: 500 at 500)
> openInHand;
> position: r center].
>
> Morph new openInWorld;
> color: Color green;
> position: 20 at 200;
> on: #mouseUp
> send: #value
> to: [(r _ RectangleMorph new extent: 500 at 500)
> openInHand;
> position: r center].
>
> If you want to keep the big rectangle in hand, the red button requires you
> hold the mouse button continuously. The green button retains the big
> rectangle until you click. HandMorph simply waits for the next mouse up or
> down to drop the morphs it's holding.
>
> Cheers,
> Bob
>
>
>
> On 5/29/13 10:21 PM, Chris Muller wrote:
>
> Interesting. I guess I thought that wouldn't work because it was
> "locked" to the hand based on its 'targetOffset' or something..
>
> Thanks a lot. Although it seems to work there's one strange anomaly.
> For background, the action that causes #openInHand to be invoked is by
> the user left clicking on a button. In your example, which is not
> invoked by a left click, the morph stays attached to the hand until I
> click it down. With my openInHand: hack it seemed it would also stay
> attached without needing to hold down left button. Very strange.
>
> Morphic is hard stuff.
>
> On Tue, May 28, 2013 at 5:56 PM, Bob Arning <arning315 at comcast.net> wrote:
>
> (r _ RectangleMorph new extent: 500 at 500)
> openInHand;
> position: r center
>
> Cheers,
> Bob
>
> On 5/28/13 6:05 PM, Chris Muller wrote:
>
> I'm using #openInHand, which opens my morph, centered under the hand.
> I want to open it in the hand, but attached near the upper left corner
> rather than the center.
>
> To do this, I factored the temp var "delta" calculation out of
> HandMorph>>#attachMorph:, so it would take an argument instead,
> attachMorph: aMorph at: delta. Regular attachMorph now calls it
> passing in the center point.
>
> Now I have an attach API that accepts an offset, guess I just need to
> support openInHand: offset to call the new #attachMorph:at:.
>
> (Sigh) It works but is there a better way to do this?
>
>
>
>
>
>
>
>
>
>
>
More information about the Squeak-dev
mailing list
|