[racket] how to add text-field-style behavior to rectangles drawn on a canvas
At Mon, 17 Oct 2011 16:33:26 +0200, Marijn wrote:
> Is it correct, that when you click the title bar of a window frame to
> select it, this causes the on-focus method of that frame to be called.
That's not what's supposed to happen. The `on-activate' method of the
frame should be called, though.
> Further that on-focus method should check which sub-window had the
> focus before and call that subwindow's on-focus method to restore
> focus. This will recursively restore the focus.
No, the `on-focus' call should go directly to the window that has the
focus relative to the frame.
I see that what I think should happen isn't what happens on Gtk. The
frame gets `on-focus' when one of its subwindows gets the focus, and
`on-activate' has problems. I'll work on that.
> Conversely when you click the title bar of a different window frame B
> to deselect window A, then A's on-focus method is also called with as
> sole argument #f. The same recursive process as above is used to
> remove focus from any subwindows.
Only the window with the focus is supposed to get the `on-focus' call
as focus leaves, while the frame should receive `on-activate'.