diff --git a/basis/ui/gadgets/panes/panes.factor b/basis/ui/gadgets/panes/panes.factor index 983d092c47..6cfcbe1112 100644 --- a/basis/ui/gadgets/panes/panes.factor +++ b/basis/ui/gadgets/panes/panes.factor @@ -100,12 +100,16 @@ M: pane selected-children : smash-pane ( pane -- gadget ) [ pane-nl ] [ output>> smash-line ] bi ; -: pane-write ( seq pane -- ) - [ pane-nl ] [ current>> stream-write ] +GENERIC: pane-write ( str gadget -- ) +GENERIC: pane-write1 ( char gadget -- ) +GENERIC: pane-format ( str style gadget -- ) + +M: pane pane-write + [ pane-nl ] [ current>> pane-write ] bi-curry interleave ; -: pane-format ( seq style pane -- ) - [ nip pane-nl ] [ current>> stream-format ] +M: pane pane-format + [ nip pane-nl ] [ current>> pane-format ] bi-curry bi-curry interleave ; : do-pane-stream ( pane-stream quot -- ) @@ -115,7 +119,7 @@ M: pane-stream stream-nl [ pane-nl ] do-pane-stream ; M: pane-stream stream-write1 - [ current>> stream-write1 ] do-pane-stream ; + [ current>> pane-write1 ] do-pane-stream ; : split-pane ( str quot: ( str -- ) -- ) '[ @@ -318,30 +322,27 @@ M: pane-stream stream-write-table ] dip write-gadget ; ! Stream utilities -M: pack dispose drop ; - -M: paragraph dispose drop ; : gadget-write ( string gadget -- ) swap dup empty? [ 2drop ] [