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