[Newbies] EventHandler "value parameters are passed as first of 3 arguments" ?
jrmaffeo at gmail.com
Fri Jan 12 01:57:46 UTC 2018
Thanks for your reply.
I don't know why it is so difficult for me to grock (does anyone say that
anymore?) this stuff, however your answer does not clarify my
understanding:-( I will attempt to use #on:send:to::in my solution,
however, I would appreciate a Workspace example of #on:send:to:withValue to
satisfy my curiosity. I will write something in the wiki for future
reference once I understand it :-)
On Thu, Jan 11, 2018 at 6:33 AM, Marcel Taeumel <marcel.taeumel at hpi.de>
> Hi, there. :)
> Well, #on:send:to: works best if the target's source code is under your
> control. In your example, you would implement something like
> #setContentsEvent:from: in MyTextMorph. There, you have access to the mouse
> event and to the source morph to access the contents.
> I would like to explain two other things, too:
> 1) You only need to call #addDependent: in the source if you want to
> implement or use #update: in the target. That's not the case in your
> example. You do not need it here.
> 2) The way #on:send:to:withValue: works is, in my opinion, broken. It only
> supports you to configure a single, hard-coded value, to be passed as first
> argument in a three-arg-selector. This is useless if you think about having
> multiple callbacks configured via #on:send:to:withValue:. We should fix
> that in the future.
> Am 11.01.2018 03:33:27 schrieb John-Reed Maffeo <jrmaffeo at gmail.com>:
> _______________________________________________ Beginners mailing list
> Beginners at lists.squeakfoundation.org http://lists.squeakfoundation.
> #EventHandler halts with this warning from the method
> How does this work? I can't find an example.
> I am trying to learn how to use TextMorph in an application. My simple
> test case is a morph containing two TextMorphs. I want the second morph to
> contain the contents of the first morph when that morph loses focus.
> start -------------------
> |borMor tMor1 tMor2 |
> borMor := BorderedMorph new.
> borMor color: Color white.
> borMor width: 44.
> tMor1 := TextMorph new.
> tMor1 contents: 'Hello World!'.
> tMor2 := TextMorph new.
> tMor2 contents: '?????'.
> tMor1 addDependent: tMor2.
> borMor layoutPolicy: TableLayout new;
> listDirection: #leftToRight;
> wrapCentering: #topLeft;
> hResizing: #spaceFill;
> vResizing: #spaceFill;
> layoutInset: 2;
> rubberBandCells: true.
> borMor addMorph: tMor1.
> tMor1 addDependent: tMor2.
> borMor addMorph: tMor2.
> tMor1 on: #mouseLeave send: #contents: to: tMore2 withValue: #(tMor1
> contents nil).
> borMor openInWorld.
> end -----------------
> This may not be the best way to approach the problem, but I would like to
> know how to use the method in any case.
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Beginners