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