5 // Created by Hori,Masaki on 2017/01/28.
6 // Copyright © 2017年 Hori,Masaki. All rights reserved.
11 class Bookmark: NSManagedObject {
12 @NSManaged var identifier: String
13 @NSManaged var name: String
14 @NSManaged var urlString: String
15 @NSManaged var canScroll: Bool
16 @NSManaged var canResize: Bool
17 @NSManaged var windowContentSizeString: String
18 @NSManaged var contentVisibleRectString: String
19 @NSManaged var order: Int
20 @NSManaged var scrollDelayValue: Float
24 var windowContentSize: NSSize {
25 get { return NSSizeFromString(windowContentSizeString) }
26 set { windowContentSizeString = NSStringFromSize(newValue) }
28 var contentVisibleRect: NSRect {
29 get { return NSRectFromString(contentVisibleRectString) }
30 set { contentVisibleRectString = NSStringFromRect(newValue) }
32 var scrollDelay: TimeInterval {
33 get { return TimeInterval(scrollDelayValue) }
34 set { scrollDelayValue = Float(newValue) }
38 extension Bookmark: NSPasteboardWriting {
39 func writableTypes(for pasteboard: NSPasteboard) -> [String] {
40 return ["com.masakih.KCD.BookmarkItem"]
42 func pasteboardPropertyList(forType type: String) -> Any? {
43 let uri = objectID.uriRepresentation()
44 return NSKeyedArchiver.archivedData(withRootObject: uri)