diff --git a/basis/ui/clipboards/clipboards.factor b/basis/ui/clipboards/clipboards.factor index 235c74da0b..e1b591dfb9 100644 --- a/basis/ui/clipboards/clipboards.factor +++ b/basis/ui/clipboards/clipboards.factor @@ -6,7 +6,17 @@ USING: kernel accessors ui.gadgets ui.gestures namespaces ; IN: ui.clipboards ! Two text transfer buffers + TUPLE: clipboard contents ; + +GENERIC: clipboard-contents ( clipboard -- string ) + +GENERIC: set-clipboard-contents ( string clipboard -- ) + +M: clipboard clipboard-contents contents>> ; + +M: clipboard set-clipboard-contents (>>contents) ; + : ( -- clipboard ) "" clipboard boa ; GENERIC: paste-clipboard ( gadget clipboard -- ) @@ -22,11 +32,10 @@ SYMBOL: clipboard SYMBOL: selection : gadget-copy ( gadget clipboard -- ) - over gadget-selection? [ - >r [ gadget-selection ] keep r> copy-clipboard - ] [ - 2drop - ] if ; + over gadget-selection? + [ >r [ gadget-selection ] keep r> copy-clipboard ] + [ 2drop ] + if ; : com-copy ( gadget -- ) clipboard get gadget-copy ;