2006-07-19 17:00:57 -04:00
|
|
|
! Copyright (C) 2006 Slava Pestov
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
|
|
IN: gadgets-text
|
2006-08-31 22:16:59 -04:00
|
|
|
USING: gadgets gadgets-controls generic kernel models sequences
|
|
|
|
gadgets-theme ;
|
2006-07-19 17:00:57 -04:00
|
|
|
|
2006-08-24 00:45:58 -04:00
|
|
|
TUPLE: field model ;
|
2006-07-19 17:00:57 -04:00
|
|
|
|
2006-07-28 15:33:23 -04:00
|
|
|
C: field ( model -- field )
|
2006-07-19 17:00:57 -04:00
|
|
|
<editor> over set-delegate
|
2006-07-21 18:07:26 -04:00
|
|
|
[ set-field-model ] keep
|
2006-08-31 22:16:59 -04:00
|
|
|
dup dup set-control-self
|
|
|
|
dup faint-boundary ;
|
2006-07-19 17:00:57 -04:00
|
|
|
|
2006-07-19 18:46:33 -04:00
|
|
|
: field-commit ( field -- string )
|
|
|
|
[ editor-text ] keep
|
2006-07-27 19:46:21 -04:00
|
|
|
[ field-model [ dupd set-model ] when* ] keep
|
2006-07-25 00:14:59 -04:00
|
|
|
select-all ;
|
2006-07-19 17:00:57 -04:00
|
|
|
|
2006-08-24 19:15:50 -04:00
|
|
|
field {
|
|
|
|
{ f "Clear input" T{ key-down f { C+ } "k" } [ control-model clear-doc ] }
|
|
|
|
{ f "Accept input" T{ key-down f f "RETURN" } [ field-commit drop ] }
|
|
|
|
} define-commands
|