 M: model-field model-changed
     nip [ editor>> editor-string ] [ field-model>> ] bi set-model ;
 
-TUPLE: action-editor < editor default-text ;
-
-: <action-editor> ( -- editor )
-    action-editor new-editor ;
-
-<PRIVATE
-
-: draw-default-text? ( editor -- ? )
-    { [ default-text>> ] [ model>> doc-string empty? ] } 1&& ;
-
-: draw-default-text ( editor -- )
-    [ font>> clone line-color >>foreground ]
-    [ default-text>> ] bi draw-text ;
-
-PRIVATE>
-
-M: action-editor draw-gadget*
-    dup draw-default-text? [
-        [ draw-default-text ] [ draw-caret ] bi
-    ] [
-        call-next-method
-    ] if ;
-
-M: action-editor pref-dim*
-    dup draw-default-text? [
-        [ font>> ] [ default-text>> ] bi text-dim { 1 0 } v+
-    ] [
-        call-next-method
-    ] if ;
-
 TUPLE: action-field < field quot ;
 
 : <action-field> ( quot: ( string -- ) -- gadget )
-    action-field [ <action-editor> ] dip new-border
+    action-field [ <editor> ] dip new-border
         dup gadget-child >>editor
         field-theme
         swap >>quot ;
-
-M: action-field default-text>> editor>> default-text>> ;
-
-M: action-field default-text<< editor>> default-text<< ;
 
 : invoke-action-field ( field -- )
     [ editor>> editor-string ]

TUPLE: editor < line-gadget
    caret-color
    caret mark
    focused? blink blink-timer ;

<PRIVATE


    [ [ line-gadget-width ] [ drop second ] 2bi 2array ]
    tri border-pref-dim ;

M: field default-text>> editor>> default-text>> ;

M: field default-text<< editor>> default-text<< ;

TUPLE: model-field < field field-model ;

: <model-field> ( model -- gadget )
