factor/library/ui/cocoa/pasteboard-utils.factor

35 lines
986 B
Factor
Raw Normal View History

2006-05-24 19:34:30 -04:00
! Copyright (C) 2006 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
IN: cocoa
2006-06-03 02:55:57 -04:00
USING: arrays gadgets kernel namespaces objc objc-classes
sequences ;
2006-05-24 19:34:30 -04:00
: NSStringPboardType "NSStringPboardType" ;
2006-05-24 19:34:30 -04:00
: pasteboard-string? ( type id -- seq )
NSStringPboardType swap -> types CF>string-array member? ;
: pasteboard-string ( id -- str )
NSStringPboardType <NSString> -> stringForType:
2006-05-24 19:34:30 -04:00
dup [ CF>string ] when ;
: set-pasteboard-types ( seq id -- )
swap <NSArray> f -> declareTypes:owner: drop ;
: set-pasteboard-string ( str id -- )
2006-05-24 19:34:30 -04:00
NSStringPboardType <NSString>
dup 1array pick set-pasteboard-types
>r swap <NSString> r> -> setString:forType: drop ;
TUPLE: pasteboard handle ;
M: pasteboard clipboard-contents
pasteboard-handle pasteboard-string ;
M: pasteboard set-clipboard-contents
pasteboard-handle set-pasteboard-string ;
2006-06-03 02:55:57 -04:00
: init-clipboard ( -- )
NSPasteboard -> generalPasteboard <pasteboard>
clipboard set-global ;