Revision: 12578 http://sourceforge.net/p/skim-app/code/12578 Author: hofman Date: 2021-11-27 19:37:51 +0000 (Sat, 27 Nov 2021) Log Message: ----------- Implement descriptor conversion for TeX line to be sure, scripting is unpredictable
Modified Paths: -------------- trunk/NSNumber_SKExtensions.m Modified: trunk/NSNumber_SKExtensions.m =================================================================== --- trunk/NSNumber_SKExtensions.m 2021-11-27 14:54:01 UTC (rev 12577) +++ trunk/NSNumber_SKExtensions.m 2021-11-27 19:37:51 UTC (rev 12578) @@ -112,6 +112,23 @@ return string; } ++ (NSNumber *)scriptingTexLineWithDescriptor:(NSAppleEventDescriptor *)descriptor { + if ([descriptor descriptorType] != typeObjectSpecifier || [[descriptor descriptorForKeyword:keyAEDesiredClass] typeCodeValue]!= 'Line') + return nil; + NSInteger i = [[descriptor descriptorForKeyword:keyAEKeyData] int32Value]; + return [NSNumber numberWithInteger:MAX(0, i - 1)]; +} + +- (NSAppleEventDescriptor *)scriptingTexLineDescriptor { + NSScriptClassDescription *containerClassDescription = [NSScriptClassDescription classDescriptionForClass:[NSApp class]]; + return [[[[NSIndexSpecifier alloc] initWithContainerClassDescription:containerClassDescription containerSpecifier:nil key:@"texLines" index:[self integerValue]] autorelease] descriptor]; + AEDesc desc; + if (noErr == CreateObjSpecifier('Line', (AEDesc *)[[NSAppleEventDescriptor nullDescriptor] aeDesc], formAbsolutePosition, (AEDesc *)[[NSAppleEventDescriptor descriptorWithInt32:[self intValue] + 1] aeDesc], YES, &desc)) { + return [[[NSAppleEventDescriptor alloc] initWithAEDescNoCopy:&desc] autorelease]; + } + return nil; +} + @end @implementation NSObject (SKExtensions) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ Skim-app-commit mailing list Skim-app-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/skim-app-commit