root/functions/set-focus.r

Revision 111, 0.7 kB (checked in by ashley, 10 months ago)

Split requestors off into %rebgui-requestors.r
Requestors and functions now appear in their respective parent objects
Added new on-resize handler
tab-panel.r and chat.r fixes
RebDOC.r enhancements

Line 
1set-focus: make function! [
2        "Set and show widget focus."
3        face [object!]
4        /caret
5][
6        unless edit/unfocus [exit]
7        if face/show? [
8                if get in face/action 'on-focus [
9                        unless face/action/on-focus face [return false]
10                ]
11                view*/focal-face: face
12                view*/caret: case [
13                        all [caret in face 'caret face/caret] [at face/text face/caret]
14                        find behaviors/caret-on-focus face/type [either none? edit/caret [tail face/text] [edit/caret]]
15                        find behaviors/hilight-on-focus face/type [edit/hilight-all face face/text]
16                ]
17                edit/caret: none
18                all [in face 'esc face/esc: copy face/text]
19                either face/type = 'button [face/feel/over face true none] [show face]
20        ]
21]
Note: See TracBrowser for help on using the browser.