Revision: 22827
          http://sourceforge.net/p/bibdesk/svn/22827
Author:   hofman
Date:     2018-10-14 12:39:52 +0000 (Sun, 14 Oct 2018)
Log Message:
-----------
Implement objectSpecifier for bookmarks and search bookmarks. Rename type to 
kind to avoid problems with the name

Modified Paths:
--------------
    trunk/bibdesk/BDSKBookmark+Scripting.m
    trunk/bibdesk/BDSKSearchBookmark+Scripting.m
    trunk/bibdesk/Scripting/BibDesk.sdef

Modified: trunk/bibdesk/BDSKBookmark+Scripting.m
===================================================================
--- trunk/bibdesk/BDSKBookmark+Scripting.m      2018-10-14 12:30:25 UTC (rev 
22826)
+++ trunk/bibdesk/BDSKBookmark+Scripting.m      2018-10-14 12:39:52 UTC (rev 
22827)
@@ -40,6 +40,23 @@
 
 @implementation BDSKBookmark (Scripting)
 
+- (id)objectSpecifier {
+    NSUInteger idx = [[parent children] indexOfObjectIdenticalTo:self];
+    if (idx != NSNotFound) {
+        NSScriptObjectSpecifier *containerRef = nil;
+        NSScriptClassDescription *containerClassDescription = nil;
+        if ([parent parent]) {
+            containerRef = [parent objectSpecifier];
+            containerClassDescription = [containerRef keyClassDescription];
+        } else {
+            containerClassDescription = [NSScriptClassDescription 
classDescriptionForClass:[NSApp class]];
+        }
+        return [[[NSIndexSpecifier allocWithZone:[self zone]] 
initWithContainerClassDescription:containerClassDescription 
containerSpecifier:containerRef key:@"bookmarks" index:idx] autorelease];
+    } else {
+        return nil;
+    }
+}
+
 - (NSString *)scriptingURL {
     return [[self URL] absoluteString];
 }

Modified: trunk/bibdesk/BDSKSearchBookmark+Scripting.m
===================================================================
--- trunk/bibdesk/BDSKSearchBookmark+Scripting.m        2018-10-14 12:30:25 UTC 
(rev 22826)
+++ trunk/bibdesk/BDSKSearchBookmark+Scripting.m        2018-10-14 12:39:52 UTC 
(rev 22827)
@@ -43,6 +43,23 @@
 
 @implementation BDSKSearchBookmark (Scripting)
 
+- (id)objectSpecifier {
+    NSUInteger idx = [[parent children] indexOfObjectIdenticalTo:self];
+    if (idx != NSNotFound) {
+        NSScriptObjectSpecifier *containerRef = nil;
+        NSScriptClassDescription *containerClassDescription = nil;
+        if ([parent parent]) {
+            containerRef = [parent objectSpecifier];
+            containerClassDescription = [containerRef keyClassDescription];
+        } else {
+            containerClassDescription = [NSScriptClassDescription 
classDescriptionForClass:[NSApp class]];
+        }
+        return [[[NSIndexSpecifier allocWithZone:[self zone]] 
initWithContainerClassDescription:containerClassDescription 
containerSpecifier:containerRef key:@"searchBookmarks" index:idx] autorelease];
+    } else {
+        return nil;
+    }
+}
+
 - (NSDictionary *)scriptingServerInfo {
     return [[[[BDSKServerInfo alloc] initWithDictionary:[self info]] 
autorelease] scriptingServerInfo];
 }

Modified: trunk/bibdesk/Scripting/BibDesk.sdef
===================================================================
--- trunk/bibdesk/Scripting/BibDesk.sdef        2018-10-14 12:30:25 UTC (rev 
22826)
+++ trunk/bibdesk/Scripting/BibDesk.sdef        2018-10-14 12:39:52 UTC (rev 
22827)
@@ -1581,7 +1581,7 @@
                 description="The name for the bookmark.">
                 <cocoa key="name"/>
             </property>
-            <property name="type" code="type" type="bookmark type" access="r"
+            <property name="kind" code="kind" type="bookmark type" access="r"
                 description="The bookmark type.">
                 <cocoa key="bookmarkType"/>
             </property>
@@ -1611,7 +1611,7 @@
                 description="The name for the bookmark.">
                 <cocoa key="label"/>
             </property>
-            <property name="type" code="type" type="bookmark type" access="r"
+            <property name="kind" code="kind" type="bookmark type" access="r"
                 description="The bookmark type.">
                 <cocoa key="bookmarkType"/>
             </property>

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Bibdesk-commit mailing list
Bibdesk-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to