Revision: 3960
          http://skim-app.svn.sourceforge.net/skim-app/?rev=3960&view=rev
Author:   hofman
Date:     2008-06-04 05:06:29 -0700 (Wed, 04 Jun 2008)

Log Message:
-----------
Move script commands to separate files.

Modified Paths:
--------------
    trunk/PDFSelection_SKExtensions.h
    trunk/PDFSelection_SKExtensions.m
    trunk/Skim.xcodeproj/project.pbxproj

Added Paths:
-----------
    trunk/SKBoundsCommand.h
    trunk/SKBoundsCommand.m
    trunk/SKIndexCommand.h
    trunk/SKIndexCommand.m
    trunk/SKJoinCommand.h
    trunk/SKJoinCommand.m
    trunk/SKPagesCommand.h
    trunk/SKPagesCommand.m
    trunk/SKTextCommand.h
    trunk/SKTextCommand.m

Modified: trunk/PDFSelection_SKExtensions.h
===================================================================
--- trunk/PDFSelection_SKExtensions.h   2008-06-04 11:11:41 UTC (rev 3959)
+++ trunk/PDFSelection_SKExtensions.h   2008-06-04 12:06:29 UTC (rev 3960)
@@ -55,29 +55,3 @@
 - (id)objectSpecifier;
 
 @end
-
-#pragma mark -
-
[EMAIL PROTECTED] SKJoinCommand : NSScriptCommand
[EMAIL PROTECTED]
-
-#pragma mark -
-// We cannot set properties for a list of specifiers, so we get properties 
using some script commands
-
[EMAIL PROTECTED] SKBoundsCommand : NSScriptCommand
[EMAIL PROTECTED]
-
-#pragma mark -
-
[EMAIL PROTECTED] SKTextCommand : NSScriptCommand
[EMAIL PROTECTED]
-
-#pragma mark -
-
[EMAIL PROTECTED] SKPagesCommand : NSScriptCommand
[EMAIL PROTECTED]
-
-#pragma mark -
-
[EMAIL PROTECTED] SKIndexCommand : NSScriptCommand
[EMAIL PROTECTED]

Modified: trunk/PDFSelection_SKExtensions.m
===================================================================
--- trunk/PDFSelection_SKExtensions.m   2008-06-04 11:11:41 UTC (rev 3959)
+++ trunk/PDFSelection_SKExtensions.m   2008-06-04 12:06:29 UTC (rev 3960)
@@ -40,9 +40,6 @@
 #import "NSString_SKExtensions.h"
 #import "NSParagraphStyle_SKExtensions.h"
 #import "PDFPage_SKExtensions.h"
-#import "PDFAnnotation_SKExtensions.h"
-#import "NSGeometry_SKExtensions.h"
-#import "SKPDFDocument.h"
 #import "SKStringConstants.h"
 
 
@@ -337,179 +334,3 @@
 }
 
 @end
-
-#pragma mark -
-
[EMAIL PROTECTED] SKJoinCommand
-
-- (id)performDefaultImplementation {
-    id dP = [self directParameter];
-       NSDictionary *args = [self evaluatedArguments];
-    id other = [args objectForKey:@"To"];
-    BOOL continuous = [[args objectForKey:@"Continuous"] boolValue];
-    PDFSelection *selection = [PDFSelection selectionWithSpecifier:dP];
-    PDFSelection *otherSelection = other ? [PDFSelection 
selectionWithSpecifier:other] : nil;
-    
-    if (selection == nil)
-        selection = otherSelection;
-    else if (otherSelection)
-        [selection addSelection:otherSelection];
-    
-    if (continuous) {
-        NSArray *pages = [selection pages];
-        PDFPage *firstPage = [pages objectAtIndex:0];
-        PDFPage *lastPage = [pages lastObject];
-        
-        unsigned int numRanges = [selection safeNumberOfRangesOnPage:lastPage];
-        unsigned int firstIndex = numRanges ? [selection safeRangeAtIndex:0 
onPage:firstPage].location : NSNotFound;
-        unsigned int lastIndex = numRanges ? NSMaxRange([selection 
safeRangeAtIndex:numRanges - 1 onPage:lastPage]) : NSNotFound;
-        if (firstIndex != NSNotFound && lastIndex != NSNotFound)
-            selection = [[firstPage document] selectionFromPage:firstPage 
atCharacterIndex:firstIndex toPage:lastPage atCharacterIndex:lastIndex - 1];
-    }
-    return selection ? [selection objectSpecifier] : [NSArray array];
-}
-
[EMAIL PROTECTED]
-
-#pragma mark -
-
[EMAIL PROTECTED] SKBoundsCommand
-
-- (id)performDefaultImplementation {
-    id dP = [self directParameter];
-    id dPO = nil;
-    if ([dP isKindOfClass:[NSArray class]] == NO)
-        dPO = [dP objectsByEvaluatingSpecifier];
-    
-    NSDictionary *args = [self evaluatedArguments];
-    PDFPage *page = [args objectForKey:@"Page"];
-    NSNumber *boxNumber = [args objectForKey:@"Box"];
-    PDFDisplayBox box = [boxNumber intValue] == SKScriptingMediaBox ? 
kPDFDisplayBoxMediaBox : kPDFDisplayBoxCropBox;
-    NSRect bounds = NSZeroRect;
-    
-    if ([dPO isKindOfClass:[SKPDFDocument class]]) {
-        if ([page isKindOfClass:[PDFPage class]] == NO) {
-            NSArray *pages = [dPO valueForKey:@"pages"];
-            page = [pages count] ? [pages objectAtIndex:0] : nil;
-        }
-        if (page)
-            bounds = [page boundsForBox:box];
-    } else if ([dPO isKindOfClass:[PDFPage class]]) {
-        if (page == nil || [page isEqual:dPO])
-            bounds = [dPO boundsForBox:box];
-    } else if ([dPO isKindOfClass:[PDFAnnotation class]]) {
-        if (page == nil || [page isEqual:[dPO page]])
-            bounds = [dPO bounds];
-    } else {
-        PDFSelection *selection = [PDFSelection selectionWithSpecifier:dP];
-        if ([page isKindOfClass:[PDFPage class]] == NO) {
-            NSArray *pages = [selection pages];
-            page = [pages count] ? [pages objectAtIndex:0] : nil;
-        }
-        if (page)
-            bounds = [selection boundsForPage:page];
-    }
-    
-    Rect qdBounds = RectFromNSRect(bounds);
-    return [NSData dataWithBytes:&qdBounds length:sizeof(Rect)];
-}
-
[EMAIL PROTECTED]
-
-#pragma mark -
-
[EMAIL PROTECTED] SKTextCommand
-
-- (id)performDefaultImplementation {
-    id dP = [self directParameter];
-    id dPO = nil;
-    if ([dP isKindOfClass:[NSArray class]] == NO)
-        dPO = [dP objectsByEvaluatingSpecifier];
-    
-    NSDictionary *args = [self evaluatedArguments];
-    PDFPage *page = [args objectForKey:@"Page"];
-    NSTextStorage *textStorage = nil;
-    NSAttributedString *attrString = nil;
-    
-    if ([dPO isKindOfClass:[SKPDFDocument class]]) {
-        attrString = page ? [page attributedString] : [[[dPO pdfDocument] 
selectionForEntireDocument] attributedString];
-    } else if ([dPO isKindOfClass:[PDFPage class]]) {
-        if (page == nil || [page isEqual:dPO])
-            textStorage = [dPO richText];
-    } else if ([dPO isKindOfClass:[PDFAnnotation class]]) {
-        if (page == nil || [page isEqual:[dPO page]])
-            textStorage = [dPO textContents];
-    } else {
-        attrString = [[PDFSelection selectionWithSpecifier:dP onPage:page] 
attributedString];
-    }
-    
-    return textStorage ? textStorage : attrString ? [[[NSTextStorage alloc] 
initWithAttributedString:attrString] autorelease] : [[[NSTextStorage alloc] 
init] autorelease];
-}
-
[EMAIL PROTECTED]
-
-#pragma mark -
-
[EMAIL PROTECTED] SKIndexCommand
-
-- (id)performDefaultImplementation {
-    id dP = [self directParameter];
-    id dPO = nil;
-    if ([dP isKindOfClass:[NSArray class]] == NO)
-        dPO = [dP objectsByEvaluatingSpecifier];
-    
-    NSDictionary *args = [self evaluatedArguments];
-    PDFPage *page = [args objectForKey:@"Page"];
-    BOOL last = [[args objectForKey:@"Last"] boolValue];
-    unsigned int idx = NSNotFound;
-    
-    if ([dPO isKindOfClass:[SKPDFDocument class]]) {
-        idx = [[NSApp orderedDocuments] indexOfObjectIdenticalTo:dPO];
-    } else if ([dPO isKindOfClass:[PDFPage class]]) {
-        idx = [dPO pageIndex];
-    } else if ([dPO isKindOfClass:[PDFAnnotation class]]) {
-        idx = [[(page ? (id)page : (id)[page containingDocument]) 
valueForKey:@"notes"] indexOfObjectIdenticalTo:dPO];
-    } else {
-        PDFSelection *selection = [PDFSelection selectionWithSpecifier:dP 
onPage:page];
-        NSArray *pages = [selection pages];
-        if ([pages count] && (page = [pages objectAtIndex:last ? [pages count] 
- 1 : 0])) {
-            unsigned int count = [selection safeNumberOfRangesOnPage:page];
-            if (count > 0) {
-                NSRange range = [selection safeRangeAtIndex:last ? count - 1 : 
0 onPage:page];
-                if (range.length) {
-                    idx = last ? NSMaxRange(range) - 1 : range.location;
-                }
-            }
-        }
-    }
-    
-    return [NSNumber numberWithInt:idx == NSNotFound ? 0 : (int)idx + 1];
-}
-
[EMAIL PROTECTED]
-
-#pragma mark -
-
[EMAIL PROTECTED] SKPagesCommand
-
-- (id)performDefaultImplementation {
-    id dP = [self directParameter];
-    id dPO = nil;
-    if ([dP isKindOfClass:[NSArray class]] == NO)
-        dPO = [dP objectsByEvaluatingSpecifier];
-    
-    if ([dPO isKindOfClass:[SKPDFDocument class]]) {
-        return [dPO valueForKey:@"pages"];
-    } else if ([dPO isKindOfClass:[PDFPage class]]) {
-        return [NSArray arrayWithObjects:dPO, nil];
-    } else if ([dPO isKindOfClass:[PDFAnnotation class]]) {
-        return [NSArray arrayWithObjects:[dPO page], nil];
-    } else {
-        PDFSelection *selection = [PDFSelection selectionWithSpecifier:dP];
-        return selection ? [selection pages] : [NSArray array];
-    }
-    
-    return nil;
-}
-
[EMAIL PROTECTED]

Added: trunk/SKBoundsCommand.h
===================================================================
--- trunk/SKBoundsCommand.h                             (rev 0)
+++ trunk/SKBoundsCommand.h     2008-06-04 12:06:29 UTC (rev 3960)
@@ -0,0 +1,43 @@
+//
+//  SKBoundsCommand.h
+//  Skim
+//
+//  Created by Christiaan Hofman on 6/4/08.
+/*
+ This software is Copyright (c) 2008
+ Christiaan Hofman. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+
+ - Neither the name of Christiaan Hofman nor the names of any
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <Cocoa/Cocoa.h>
+
+
[EMAIL PROTECTED] SKBoundsCommand : NSScriptCommand
[EMAIL PROTECTED]

Added: trunk/SKBoundsCommand.m
===================================================================
--- trunk/SKBoundsCommand.m                             (rev 0)
+++ trunk/SKBoundsCommand.m     2008-06-04 12:06:29 UTC (rev 3960)
@@ -0,0 +1,87 @@
+//
+//  SKBoundsCommand.m
+//  Skim
+//
+//  Created by Christiaan Hofman on 6/4/08.
+/*
+ This software is Copyright (c) 2008
+ Christiaan Hofman. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+
+ - Neither the name of Christiaan Hofman nor the names of any
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "SKBoundsCommand.h"
+#import <Quartz/Quartz.h>
+#import "SKPDFDocument.h"
+#import "PDFSelection_SKExtensions.h"
+#import "NSGeometry_SKExtensions.h"
+
+
[EMAIL PROTECTED] SKBoundsCommand
+
+- (id)performDefaultImplementation {
+    id dP = [self directParameter];
+    id dPO = nil;
+    if ([dP isKindOfClass:[NSArray class]] == NO)
+        dPO = [dP objectsByEvaluatingSpecifier];
+    
+    NSDictionary *args = [self evaluatedArguments];
+    PDFPage *page = [args objectForKey:@"Page"];
+    NSNumber *boxNumber = [args objectForKey:@"Box"];
+    PDFDisplayBox box = [boxNumber intValue] == SKScriptingMediaBox ? 
kPDFDisplayBoxMediaBox : kPDFDisplayBoxCropBox;
+    NSRect bounds = NSZeroRect;
+    
+    if ([dPO isKindOfClass:[SKPDFDocument class]]) {
+        if ([page isKindOfClass:[PDFPage class]] == NO) {
+            NSArray *pages = [dPO valueForKey:@"pages"];
+            page = [pages count] ? [pages objectAtIndex:0] : nil;
+        }
+        if (page)
+            bounds = [page boundsForBox:box];
+    } else if ([dPO isKindOfClass:[PDFPage class]]) {
+        if (page == nil || [page isEqual:dPO])
+            bounds = [dPO boundsForBox:box];
+    } else if ([dPO isKindOfClass:[PDFAnnotation class]]) {
+        if (page == nil || [page isEqual:[dPO page]])
+            bounds = [dPO bounds];
+    } else {
+        PDFSelection *selection = [PDFSelection selectionWithSpecifier:dP];
+        if ([page isKindOfClass:[PDFPage class]] == NO) {
+            NSArray *pages = [selection pages];
+            page = [pages count] ? [pages objectAtIndex:0] : nil;
+        }
+        if (page)
+            bounds = [selection boundsForPage:page];
+    }
+    
+    Rect qdBounds = RectFromNSRect(bounds);
+    return [NSData dataWithBytes:&qdBounds length:sizeof(Rect)];
+}
+
[EMAIL PROTECTED]

Added: trunk/SKIndexCommand.h
===================================================================
--- trunk/SKIndexCommand.h                              (rev 0)
+++ trunk/SKIndexCommand.h      2008-06-04 12:06:29 UTC (rev 3960)
@@ -0,0 +1,43 @@
+//
+//  SKIndexCommand.h
+//  Skim
+//
+//  Created by Christiaan Hofman on 6/4/08.
+/*
+ This software is Copyright (c) 2008
+ Christiaan Hofman. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+
+ - Neither the name of Christiaan Hofman nor the names of any
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <Cocoa/Cocoa.h>
+
+
[EMAIL PROTECTED] SKIndexCommand : NSScriptCommand
[EMAIL PROTECTED]

Added: trunk/SKIndexCommand.m
===================================================================
--- trunk/SKIndexCommand.m                              (rev 0)
+++ trunk/SKIndexCommand.m      2008-06-04 12:06:29 UTC (rev 3960)
@@ -0,0 +1,82 @@
+//
+//  SKIndexCommand.m
+//  Skim
+//
+//  Created by Christiaan Hofman on 6/4/08.
+/*
+ This software is Copyright (c) 2008
+ Christiaan Hofman. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+
+ - Neither the name of Christiaan Hofman nor the names of any
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "SKIndexCommand.h"
+#import <Quartz/Quartz.h>
+#import "SKPDFDocument.h"
+#import "PDFPage_SKExtensions.h"
+#import "PDFSelection_SKExtensions.h"
+
+
[EMAIL PROTECTED] SKIndexCommand
+
+- (id)performDefaultImplementation {
+    id dP = [self directParameter];
+    id dPO = nil;
+    if ([dP isKindOfClass:[NSArray class]] == NO)
+        dPO = [dP objectsByEvaluatingSpecifier];
+    
+    NSDictionary *args = [self evaluatedArguments];
+    PDFPage *page = [args objectForKey:@"Page"];
+    BOOL last = [[args objectForKey:@"Last"] boolValue];
+    unsigned int idx = NSNotFound;
+    
+    if ([dPO isKindOfClass:[SKPDFDocument class]]) {
+        idx = [[NSApp orderedDocuments] indexOfObjectIdenticalTo:dPO];
+    } else if ([dPO isKindOfClass:[PDFPage class]]) {
+        idx = [dPO pageIndex];
+    } else if ([dPO isKindOfClass:[PDFAnnotation class]]) {
+        idx = [[(page ? (id)page : (id)[page containingDocument]) 
valueForKey:@"notes"] indexOfObjectIdenticalTo:dPO];
+    } else {
+        PDFSelection *selection = [PDFSelection selectionWithSpecifier:dP 
onPage:page];
+        NSArray *pages = [selection pages];
+        if ([pages count] && (page = [pages objectAtIndex:last ? [pages count] 
- 1 : 0])) {
+            unsigned int count = [selection safeNumberOfRangesOnPage:page];
+            if (count > 0) {
+                NSRange range = [selection safeRangeAtIndex:last ? count - 1 : 
0 onPage:page];
+                if (range.length) {
+                    idx = last ? NSMaxRange(range) - 1 : range.location;
+                }
+            }
+        }
+    }
+    
+    return [NSNumber numberWithInt:idx == NSNotFound ? 0 : (int)idx + 1];
+}
+
[EMAIL PROTECTED]

Added: trunk/SKJoinCommand.h
===================================================================
--- trunk/SKJoinCommand.h                               (rev 0)
+++ trunk/SKJoinCommand.h       2008-06-04 12:06:29 UTC (rev 3960)
@@ -0,0 +1,43 @@
+//
+//  SKJoinCommand.h
+//  Skim
+//
+//  Created by Christiaan Hofman on 6/4/08.
+/*
+ This software is Copyright (c) 2008
+ Christiaan Hofman. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+
+ - Neither the name of Christiaan Hofman nor the names of any
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <Cocoa/Cocoa.h>
+
+
[EMAIL PROTECTED] SKJoinCommand : NSScriptCommand
[EMAIL PROTECTED]

Added: trunk/SKJoinCommand.m
===================================================================
--- trunk/SKJoinCommand.m                               (rev 0)
+++ trunk/SKJoinCommand.m       2008-06-04 12:06:29 UTC (rev 3960)
@@ -0,0 +1,73 @@
+//
+//  SKJoinCommand.m
+//  Skim
+//
+//  Created by Christiaan Hofman on 6/4/08.
+/*
+ This software is Copyright (c) 2008
+ Christiaan Hofman. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+
+ - Neither the name of Christiaan Hofman nor the names of any
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "SKJoinCommand.h"
+#import <Quartz/Quartz.h>
+#import "PDFSelection_SKExtensions.h"
+
+
[EMAIL PROTECTED] SKJoinCommand
+
+- (id)performDefaultImplementation {
+    id dP = [self directParameter];
+       NSDictionary *args = [self evaluatedArguments];
+    id other = [args objectForKey:@"To"];
+    BOOL continuous = [[args objectForKey:@"Continuous"] boolValue];
+    PDFSelection *selection = [PDFSelection selectionWithSpecifier:dP];
+    PDFSelection *otherSelection = other ? [PDFSelection 
selectionWithSpecifier:other] : nil;
+    
+    if (selection == nil)
+        selection = otherSelection;
+    else if (otherSelection)
+        [selection addSelection:otherSelection];
+    
+    if (continuous) {
+        NSArray *pages = [selection pages];
+        PDFPage *firstPage = [pages objectAtIndex:0];
+        PDFPage *lastPage = [pages lastObject];
+        
+        unsigned int numRanges = [selection safeNumberOfRangesOnPage:lastPage];
+        unsigned int firstIndex = numRanges ? [selection safeRangeAtIndex:0 
onPage:firstPage].location : NSNotFound;
+        unsigned int lastIndex = numRanges ? NSMaxRange([selection 
safeRangeAtIndex:numRanges - 1 onPage:lastPage]) : NSNotFound;
+        if (firstIndex != NSNotFound && lastIndex != NSNotFound)
+            selection = [[firstPage document] selectionFromPage:firstPage 
atCharacterIndex:firstIndex toPage:lastPage atCharacterIndex:lastIndex - 1];
+    }
+    return selection ? [selection objectSpecifier] : [NSArray array];
+}
+
[EMAIL PROTECTED]

Added: trunk/SKPagesCommand.h
===================================================================
--- trunk/SKPagesCommand.h                              (rev 0)
+++ trunk/SKPagesCommand.h      2008-06-04 12:06:29 UTC (rev 3960)
@@ -0,0 +1,43 @@
+//
+//  SKPagesCommand.h
+//  Skim
+//
+//  Created by Christiaan Hofman on 6/4/08.
+/*
+ This software is Copyright (c) 2008
+ Christiaan Hofman. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+
+ - Neither the name of Christiaan Hofman nor the names of any
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <Cocoa/Cocoa.h>
+
+
[EMAIL PROTECTED] SKPagesCommand : NSScriptCommand
[EMAIL PROTECTED]

Added: trunk/SKPagesCommand.m
===================================================================
--- trunk/SKPagesCommand.m                              (rev 0)
+++ trunk/SKPagesCommand.m      2008-06-04 12:06:29 UTC (rev 3960)
@@ -0,0 +1,67 @@
+//
+//  SKPagesCommand.m
+//  Skim
+//
+//  Created by Christiaan Hofman on 6/4/08.
+/*
+ This software is Copyright (c) 2008
+ Christiaan Hofman. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+
+ - Neither the name of Christiaan Hofman nor the names of any
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "SKPagesCommand.h"
+#import <Quartz/Quartz.h>
+#import "SKPDFDocument.h"
+#import "PDFSelection_SKExtensions.h"
+
+
[EMAIL PROTECTED] SKPagesCommand
+
+- (id)performDefaultImplementation {
+    id dP = [self directParameter];
+    id dPO = nil;
+    if ([dP isKindOfClass:[NSArray class]] == NO)
+        dPO = [dP objectsByEvaluatingSpecifier];
+    
+    if ([dPO isKindOfClass:[SKPDFDocument class]]) {
+        return [dPO valueForKey:@"pages"];
+    } else if ([dPO isKindOfClass:[PDFPage class]]) {
+        return [NSArray arrayWithObjects:dPO, nil];
+    } else if ([dPO isKindOfClass:[PDFAnnotation class]]) {
+        return [NSArray arrayWithObjects:[dPO page], nil];
+    } else {
+        PDFSelection *selection = [PDFSelection selectionWithSpecifier:dP];
+        return selection ? [selection pages] : [NSArray array];
+    }
+    
+    return nil;
+}
+
[EMAIL PROTECTED]

Added: trunk/SKTextCommand.h
===================================================================
--- trunk/SKTextCommand.h                               (rev 0)
+++ trunk/SKTextCommand.h       2008-06-04 12:06:29 UTC (rev 3960)
@@ -0,0 +1,43 @@
+//
+//  SKTextCommand.h
+//  Skim
+//
+//  Created by Christiaan Hofman on 6/4/08.
+/*
+ This software is Copyright (c) 2008
+ Christiaan Hofman. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+
+ - Neither the name of Christiaan Hofman nor the names of any
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <Cocoa/Cocoa.h>
+
+
[EMAIL PROTECTED] SKTextCommand : NSScriptCommand
[EMAIL PROTECTED]

Added: trunk/SKTextCommand.m
===================================================================
--- trunk/SKTextCommand.m                               (rev 0)
+++ trunk/SKTextCommand.m       2008-06-04 12:06:29 UTC (rev 3960)
@@ -0,0 +1,74 @@
+//
+//  SKTextCommand.m
+//  Skim
+//
+//  Created by Christiaan Hofman on 6/4/08.
+/*
+ This software is Copyright (c) 2008
+ Christiaan Hofman. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+
+ - Neither the name of Christiaan Hofman nor the names of any
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "SKTextCommand.h"
+#import <Quartz/Quartz.h>
+#import "SKPDFDocument.h"
+#import "PDFAnnotation_SKExtensions.h"
+#import "PDFSelection_SKExtensions.h"
+
+
[EMAIL PROTECTED] SKTextCommand
+
+- (id)performDefaultImplementation {
+    id dP = [self directParameter];
+    id dPO = nil;
+    if ([dP isKindOfClass:[NSArray class]] == NO)
+        dPO = [dP objectsByEvaluatingSpecifier];
+    
+    NSDictionary *args = [self evaluatedArguments];
+    PDFPage *page = [args objectForKey:@"Page"];
+    NSTextStorage *textStorage = nil;
+    NSAttributedString *attrString = nil;
+    
+    if ([dPO isKindOfClass:[SKPDFDocument class]]) {
+        attrString = page ? [page attributedString] : [[[dPO pdfDocument] 
selectionForEntireDocument] attributedString];
+    } else if ([dPO isKindOfClass:[PDFPage class]]) {
+        if (page == nil || [page isEqual:dPO])
+            textStorage = [dPO richText];
+    } else if ([dPO isKindOfClass:[PDFAnnotation class]]) {
+        if (page == nil || [page isEqual:[dPO page]])
+            textStorage = [dPO textContents];
+    } else {
+        attrString = [[PDFSelection selectionWithSpecifier:dP onPage:page] 
attributedString];
+    }
+    
+    return textStorage ? textStorage : attrString ? [[[NSTextStorage alloc] 
initWithAttributedString:attrString] autorelease] : [[[NSTextStorage alloc] 
init] autorelease];
+}
+
[EMAIL PROTECTED]

Modified: trunk/Skim.xcodeproj/project.pbxproj
===================================================================
--- trunk/Skim.xcodeproj/project.pbxproj        2008-06-04 11:11:41 UTC (rev 
3959)
+++ trunk/Skim.xcodeproj/project.pbxproj        2008-06-04 12:06:29 UTC (rev 
3960)
@@ -91,6 +91,11 @@
                CE4294A30BBD29120016FDC2 /* SKReadingBar.m in Sources */ = {isa 
= PBXBuildFile; fileRef = CE4294A20BBD29120016FDC2 /* SKReadingBar.m */; };
                CE4373B40BB5440E00A56987 /* PSDocument.icns in Resources */ = 
{isa = PBXBuildFile; fileRef = CE4373B30BB5440E00A56987 /* PSDocument.icns */; 
};
                CE4642E50DF5CBD900CFD8D2 /* PDFAnnotationText_SKExtensions.m in 
Sources */ = {isa = PBXBuildFile; fileRef = CE4642E40DF5CBD900CFD8D2 /* 
PDFAnnotationText_SKExtensions.m */; };
+               CE4643CF0DF6B5A400CFD8D2 /* SKJoinCommand.m in Sources */ = 
{isa = PBXBuildFile; fileRef = CE4643CE0DF6B5A400CFD8D2 /* SKJoinCommand.m */; 
};
+               CE4643D50DF6B60500CFD8D2 /* SKPagesCommand.m in Sources */ = 
{isa = PBXBuildFile; fileRef = CE4643D40DF6B60500CFD8D2 /* SKPagesCommand.m */; 
};
+               CE4643D80DF6B63500CFD8D2 /* SKTextCommand.m in Sources */ = 
{isa = PBXBuildFile; fileRef = CE4643D70DF6B63500CFD8D2 /* SKTextCommand.m */; 
};
+               CE4643DB0DF6B66000CFD8D2 /* SKIndexCommand.m in Sources */ = 
{isa = PBXBuildFile; fileRef = CE4643DA0DF6B66000CFD8D2 /* SKIndexCommand.m */; 
};
+               CE4643DE0DF6B77800CFD8D2 /* SKBoundsCommand.m in Sources */ = 
{isa = PBXBuildFile; fileRef = CE4643DD0DF6B77800CFD8D2 /* SKBoundsCommand.m 
*/; };
                CE48BAD80C089EA300A166C6 /* SKTemplateParser.m in Sources */ = 
{isa = PBXBuildFile; fileRef = CE48BAD60C089EA300A166C6 /* SKTemplateParser.m 
*/; };
                CE4972510BDE898F00D7F1D2 /* SKMainWindow.m in Sources */ = {isa 
= PBXBuildFile; fileRef = CE49724F0BDE898F00D7F1D2 /* SKMainWindow.m */; };
                CE49726D0BDE8A7400D7F1D2 /* PDFSelection_SKExtensions.m in 
Sources */ = {isa = PBXBuildFile; fileRef = CE49726B0BDE8A7400D7F1D2 /* 
PDFSelection_SKExtensions.m */; };
@@ -493,6 +498,16 @@
                CE4373B30BB5440E00A56987 /* PSDocument.icns */ = {isa = 
PBXFileReference; lastKnownFileType = image.icns; name = PSDocument.icns; path 
= Images/PSDocument.icns; sourceTree = "<group>"; };
                CE4642E30DF5CBD900CFD8D2 /* PDFAnnotationText_SKExtensions.h */ 
= {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = 
sourcecode.c.h; path = PDFAnnotationText_SKExtensions.h; sourceTree = 
"<group>"; };
                CE4642E40DF5CBD900CFD8D2 /* PDFAnnotationText_SKExtensions.m */ 
= {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = 
sourcecode.c.objc; path = PDFAnnotationText_SKExtensions.m; sourceTree = 
"<group>"; };
+               CE4643CD0DF6B5A400CFD8D2 /* SKJoinCommand.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
SKJoinCommand.h; sourceTree = "<group>"; };
+               CE4643CE0DF6B5A400CFD8D2 /* SKJoinCommand.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= SKJoinCommand.m; sourceTree = "<group>"; };
+               CE4643D30DF6B60500CFD8D2 /* SKPagesCommand.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
SKPagesCommand.h; sourceTree = "<group>"; };
+               CE4643D40DF6B60500CFD8D2 /* SKPagesCommand.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= SKPagesCommand.m; sourceTree = "<group>"; };
+               CE4643D60DF6B63500CFD8D2 /* SKTextCommand.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
SKTextCommand.h; sourceTree = "<group>"; };
+               CE4643D70DF6B63500CFD8D2 /* SKTextCommand.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= SKTextCommand.m; sourceTree = "<group>"; };
+               CE4643D90DF6B66000CFD8D2 /* SKIndexCommand.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
SKIndexCommand.h; sourceTree = "<group>"; };
+               CE4643DA0DF6B66000CFD8D2 /* SKIndexCommand.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= SKIndexCommand.m; sourceTree = "<group>"; };
+               CE4643DC0DF6B77800CFD8D2 /* SKBoundsCommand.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
SKBoundsCommand.h; sourceTree = "<group>"; };
+               CE4643DD0DF6B77800CFD8D2 /* SKBoundsCommand.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= SKBoundsCommand.m; sourceTree = "<group>"; };
                CE485B650BC4420900FA7109 /* Dutch */ = {isa = PBXFileReference; 
lastKnownFileType = folder; name = Dutch; path = "Dutch.lproj/Skim Help"; 
sourceTree = "<group>"; };
                CE485B780BC4426800FA7109 /* Dutch */ = {isa = PBXFileReference; 
lastKnownFileType = wrapper.nib; name = Dutch; path = 
Dutch.lproj/InfoWindow.nib; sourceTree = "<group>"; };
                CE485B7B0BC4427100FA7109 /* Dutch */ = {isa = PBXFileReference; 
lastKnownFileType = wrapper.nib; name = Dutch; path = Dutch.lproj/MainMenu.nib; 
sourceTree = "<group>"; };
@@ -1004,6 +1019,7 @@
                                CE2DE4D00B85D8C400D0DA12 /* Windows */,
                                CE2DE4D10B85D92F00D0DA12 /* Views */,
                                CE32DC1D0DAD282E0099414B /* Parsers */,
+                               CE4643F10DF6BADC00CFD8D2 /* Commands */,
                                CE070EC10B89063400733CC8 /* Foundation 
Categories */,
                                CEE1776D0DBDF54000E6C317 /* AppKit Categories 
*/,
                                CEE177700DBDF60500E6C317 /* PDFKit Categories 
*/,
@@ -1332,6 +1348,23 @@
                        name = Parsers;
                        sourceTree = "<group>";
                };
+               CE4643F10DF6BADC00CFD8D2 /* Commands */ = {
+                       isa = PBXGroup;
+                       children = (
+                               CE4643DC0DF6B77800CFD8D2 /* SKBoundsCommand.h 
*/,
+                               CE4643DD0DF6B77800CFD8D2 /* SKBoundsCommand.m 
*/,
+                               CE4643D90DF6B66000CFD8D2 /* SKIndexCommand.h */,
+                               CE4643DA0DF6B66000CFD8D2 /* SKIndexCommand.m */,
+                               CE4643CD0DF6B5A400CFD8D2 /* SKJoinCommand.h */,
+                               CE4643CE0DF6B5A400CFD8D2 /* SKJoinCommand.m */,
+                               CE4643D30DF6B60500CFD8D2 /* SKPagesCommand.h */,
+                               CE4643D40DF6B60500CFD8D2 /* SKPagesCommand.m */,
+                               CE4643D60DF6B63500CFD8D2 /* SKTextCommand.h */,
+                               CE4643D70DF6B63500CFD8D2 /* SKTextCommand.m */,
+                       );
+                       name = Commands;
+                       sourceTree = "<group>";
+               };
                CE4DA8CF0B9E157E0039E89C /* Help Sources */ = {
                        isa = PBXGroup;
                        children = (
@@ -2017,6 +2050,11 @@
                                CE7F43910DE1F1980061A839 /* 
NSUserDefaults_SKExtensions.m in Sources */,
                                CE0ECD1C0DE73604006EEDDB /* 
NSDocument_SKExtensions.m in Sources */,
                                CE4642E50DF5CBD900CFD8D2 /* 
PDFAnnotationText_SKExtensions.m in Sources */,
+                               CE4643CF0DF6B5A400CFD8D2 /* SKJoinCommand.m in 
Sources */,
+                               CE4643D50DF6B60500CFD8D2 /* SKPagesCommand.m in 
Sources */,
+                               CE4643D80DF6B63500CFD8D2 /* SKTextCommand.m in 
Sources */,
+                               CE4643DB0DF6B66000CFD8D2 /* SKIndexCommand.m in 
Sources */,
+                               CE4643DE0DF6B77800CFD8D2 /* SKBoundsCommand.m 
in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };


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

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to