[racket] how to add text-field-style behavior to rectangles drawn on a canvas
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 10/07/11 14:17, Matthew Flatt wrote:
> At Fri, 07 Oct 2011 13:06:23 +0200, Marijn wrote:
>> I've prepared a chopped-down attempt which defines an editor, an
>> administrator and a display class and instantiates them.
>>
>> Unfortunately the editor doesn't appear on the screen where I
>> thought I'd let the administrator tell it to appear.
>>
>> I'm not sure why it doesn't work. Any help?
>
> All windowing events go to the `canvas%', and the built-in canvas
> methods know nothing about your editor admin. You need to override
> `on-paint' to pass on the message to the editor, `on-focus' to
> notify the editor, `on-event' to send events on to the editor, and
> so on.
>
> See enclosed.
>
> I changed the direct calls to `refresh' to instead send `refresh'
> to the canvas, and then the canvas's `on-paint' calls the editor's
> `refresh'. Otherwise, you have to erase the area for the editor
> before redrawing the editor, and the windowing system is usually
> better at scheduling the refresh.
Thanks Matthew, that is immensely helpful!
Marijn
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAk6O+EYACgkQp/VmCx0OL2xNgwCghqLL0KAwIe2729BRsVWbCuo2
AWMAniW+cnfnGNTAlcmF5RfNWnLkbvcG
=Fv1F
-----END PGP SIGNATURE-----