OSDN Git Service

UIを調整
[kcd/KCD.git] / KCD / HMBookmarkItem.m
1 //
2 //  HMBookmarkItem.m
3 //  KCD
4 //
5 //  Created by Hori,Masaki on 2015/05/25.
6 //  Copyright (c) 2015年 Hori,Masaki. All rights reserved.
7 //
8
9 #import "HMBookmarkItem.h"
10
11 @interface HMBookmarkItem ()
12 @property (strong, nonatomic) NSString *windowContentSizeString;
13 @property (strong, nonatomic) NSString *contentVisibleRectString;
14 @property (strong, nonatomic) NSNumber *scrollDelayValue;
15 @end
16
17 @implementation HMBookmarkItem
18
19 @dynamic identifier;
20 @dynamic name;
21 @dynamic urlString;
22 @dynamic canScroll;
23 @dynamic canResize;
24 @dynamic windowContentSizeString;
25 @dynamic contentVisibleRectString;
26 @dynamic order;
27 @dynamic scrollDelayValue;
28
29
30 - (void)setWindowContentSize:(NSSize)windowContentSize
31 {
32         self.windowContentSizeString = NSStringFromSize(windowContentSize);
33 }
34 - (NSSize)windowContentSize
35 {
36         return NSSizeFromString(self.windowContentSizeString);
37 }
38 - (void)setContentVisibleRect:(NSRect)contentVisibleRect
39 {
40         self.contentVisibleRectString = NSStringFromRect(contentVisibleRect);
41 }
42 - (NSRect)contentVisibleRect
43 {
44         return NSRectFromString(self.contentVisibleRectString);
45 }
46 - (void)setScrollDelay:(NSTimeInterval)scrollDelay
47 {
48         self.scrollDelayValue = [NSNumber numberWithDouble:scrollDelay];
49 }
50 - (NSTimeInterval)scrollDelay
51 {
52         return self.scrollDelayValue.doubleValue;
53 }
54
55 - (NSArray *)writableTypesForPasteboard:(NSPasteboard *)pasteboard
56 {
57         return @[@"com.masakih.KCD.HMBookmarkItem"];
58 }
59 - (id)pasteboardPropertyListForType:(NSString *)type
60 {
61         NSURL *uri = self.objectID.URIRepresentation;
62         NSData *data = [NSKeyedArchiver archivedDataWithRootObject:uri];
63         return data;
64 }
65
66 - (id)description
67 {
68         return [NSString stringWithFormat:
69                         @"{identifier -> %@,\n"
70                         @"name -> %@,\n"
71                         @"urlString -> %@,\n"
72                         @"windowContentSize -> %@,\n"
73                         @"contentVisibleRect -> %@,\n"
74                         @"canResize -> %@,\n"
75                         @"canScroll -> %@,\n"
76                         @"scrollDelay -> %lf,\n"
77                         @"order -> %@}",
78                         self.identifier,
79                         self.name,
80                         self.urlString,
81                         NSStringFromSize(self.windowContentSize),
82                         NSStringFromRect(self.contentVisibleRect),
83                         self.canResize ? @"YES" : @"NO",
84                         self.canScroll ? @"YES" : @"NO",
85                         self.scrollDelay,
86                         self.order];
87 }
88
89 @end