2006-05-24 19:34:30 -04:00
|
|
|
! Copyright (C) 2006 Slava Pestov.
|
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
2006-05-24 18:40:54 -04:00
|
|
|
IN: cocoa
|
2006-05-24 19:34:30 -04:00
|
|
|
USING: arrays kernel objc-NSPasteboard sequences ;
|
2006-05-24 18:40:54 -04:00
|
|
|
|
2006-05-24 19:34:30 -04:00
|
|
|
: NSStringPboardType "NSStringPboardType" ;
|
2006-05-24 18:40:54 -04:00
|
|
|
|
2006-05-24 19:34:30 -04:00
|
|
|
: pasteboard-string? ( type id -- seq )
|
|
|
|
|
NSStringPboardType swap [types] CF>string-array member? ;
|
2006-05-24 18:40:54 -04:00
|
|
|
|
|
|
|
|
: pasteboard-string ( id -- str )
|
2006-05-24 19:34:30 -04:00
|
|
|
NSStringPboardType <NSString> [stringForType:]
|
|
|
|
|
dup [ CF>string ] when ;
|
2006-05-24 18:40:54 -04:00
|
|
|
|
|
|
|
|
: set-pasteboard-types ( seq id -- )
|
2006-05-24 19:34:30 -04:00
|
|
|
swap <NSArray> f [declareTypes:owner:] drop ;
|
2006-05-24 18:40:54 -04:00
|
|
|
|
|
|
|
|
: 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 ;
|