Revision: 3793
          http://skim-app.svn.sourceforge.net/skim-app/?rev=3793&view=rev
Author:   hofman
Date:     2008-04-22 14:38:30 -0700 (Tue, 22 Apr 2008)

Log Message:
-----------
Class factory methods for accessibility proxies.

Modified Paths:
--------------
    trunk/PDFDisplayView_SKExtensions.h
    trunk/PDFDisplayView_SKExtensions.m
    trunk/SKAccessibilityPDFAnnotationElement.h
    trunk/SKAccessibilityPDFAnnotationElement.m
    trunk/SKPDFView.m

Modified: trunk/PDFDisplayView_SKExtensions.h
===================================================================
--- trunk/PDFDisplayView_SKExtensions.h 2008-04-22 18:45:27 UTC (rev 3792)
+++ trunk/PDFDisplayView_SKExtensions.h 2008-04-22 21:38:30 UTC (rev 3793)
@@ -50,5 +50,6 @@
 @interface SKAccessibilityPDFDisplayViewElement : NSObject {
     id parent;
 }
++ (id)elementWithParent:(id)aParent;
 - (id)initWithParent:(id)aParent;
 @end

Modified: trunk/PDFDisplayView_SKExtensions.m
===================================================================
--- trunk/PDFDisplayView_SKExtensions.m 2008-04-22 18:45:27 UTC (rev 3792)
+++ trunk/PDFDisplayView_SKExtensions.m 2008-04-22 21:38:30 UTC (rev 3793)
@@ -104,10 +104,10 @@
         if (page) {
             PDFAnnotation *annotation = [page annotationAtPoint:[pdfView 
convertPoint:localPoint toPage:page]];
             if ([[annotation type] isEqualToString:SKLinkString] || 
[annotation isNoteAnnotation]) {
-                return [[[[SKAccessibilityPDFAnnotationElement alloc] 
initWithAnnotation:annotation pdfView:pdfView parent:self] autorelease] 
accessibilityHitTest:point];
+                return [[SKAccessibilityPDFAnnotationElement 
elementWithAnnotation:annotation pdfView:pdfView parent:self] 
accessibilityHitTest:point];
             }
         }
-        return [[[[SKAccessibilityPDFDisplayViewElement alloc] 
initWithParent:self] autorelease] accessibilityHitTest:point];
+        return [[SKAccessibilityPDFDisplayViewElement elementWithParent:self] 
accessibilityHitTest:point];
     } else {
         return originalAccessibilityHitTest(self, _cmd, point);
     }
@@ -118,9 +118,9 @@
     if (pdfView) {
         PDFAnnotation *annotation = [pdfView activeAnnotation];
         if (annotation) {
-            return 
NSAccessibilityUnignoredAncestor([[[SKAccessibilityPDFAnnotationElement alloc] 
initWithAnnotation:annotation pdfView:pdfView parent:self] autorelease]);
+            return 
NSAccessibilityUnignoredAncestor([SKAccessibilityPDFAnnotationElement 
elementWithAnnotation:annotation pdfView:pdfView parent:self]);
         } else {
-            return 
NSAccessibilityUnignoredAncestor([[[SKAccessibilityPDFDisplayViewElement alloc] 
initWithParent:self] autorelease]);
+            return 
NSAccessibilityUnignoredAncestor([SKAccessibilityPDFDisplayViewElement 
elementWithParent:self]);
         }
     } else {
         return originalAccessibilityFocusedUIElement(self, _cmd);
@@ -150,6 +150,10 @@
 
 @implementation SKAccessibilityPDFDisplayViewElement
 
++ (id)elementWithParent:(id)aParent {
+    return [[[self alloc] initWithParent:aParent] autorelease];
+}
+
 - (id)initWithParent:(id)aParent {
     if (self = [super init]) {
         parent = aParent;

Modified: trunk/SKAccessibilityPDFAnnotationElement.h
===================================================================
--- trunk/SKAccessibilityPDFAnnotationElement.h 2008-04-22 18:45:27 UTC (rev 
3792)
+++ trunk/SKAccessibilityPDFAnnotationElement.h 2008-04-22 21:38:30 UTC (rev 
3793)
@@ -45,5 +45,6 @@
     SKPDFView *pdfView;
     id parent;
 }
++ (id)elementWithAnnotation:(PDFAnnotation *)anAnnotation pdfView:(SKPDFView 
*)aPdfView parent:(id)aParent;
 - (id)initWithAnnotation:(PDFAnnotation *)anAnnotation pdfView:(SKPDFView 
*)aPdfView parent:(id)aParent;
 @end

Modified: trunk/SKAccessibilityPDFAnnotationElement.m
===================================================================
--- trunk/SKAccessibilityPDFAnnotationElement.m 2008-04-22 18:45:27 UTC (rev 
3792)
+++ trunk/SKAccessibilityPDFAnnotationElement.m 2008-04-22 21:38:30 UTC (rev 
3793)
@@ -45,6 +45,10 @@
 
 @implementation SKAccessibilityPDFAnnotationElement
 
++ (id)elementWithAnnotation:(PDFAnnotation *)anAnnotation pdfView:(SKPDFView 
*)aPdfView parent:(id)aParent {
+    return [[[self alloc] elementWithAnnotation:anAnnotation pdfView:aPdfView 
parent:aParent] autorelease];
+}
+
 - (id)initWithAnnotation:(PDFAnnotation *)anAnnotation pdfView:(SKPDFView 
*)aPdfView parent:(id)aParent {
     if (self = [super init]) {
         annotation = anAnnotation;

Modified: trunk/SKPDFView.m
===================================================================
--- trunk/SKPDFView.m   2008-04-22 18:45:27 UTC (rev 3792)
+++ trunk/SKPDFView.m   2008-04-22 21:38:30 UTC (rev 3793)
@@ -1901,8 +1901,8 @@
                [self setActiveAnnotation:nil];
     [self setNeedsDisplayForAnnotation:wasAnnotation];
     [page removeAnnotation:wasAnnotation];
-    [accessibilityChildren release];
-    accessibilityChildren = nil;
+    if (accessibilityChildren)
+        [accessibilityChildren 
removeObject:[SKAccessibilityPDFAnnotationElement 
elementWithAnnotation:wasAnnotation pdfView:self parent:[self documentView]]];
     if (wasNote)
         [self resetHoverRects];
     [[NSNotificationCenter defaultCenter] 
postNotificationName:SKPDFViewDidRemoveAnnotationNotification object:self 
@@ -2147,7 +2147,7 @@
         while (annotation = [annotationEnum nextObject]) {
             if ([[annotation type] isEqualToString:SKLinkString] || 
[annotation isNoteAnnotation] &&
                 (onlyVisible == NO || NSIntersectsRect([self 
convertRect:[annotation bounds] fromPage:[annotation page]], visibleRect)))
-                [children addObject:[[[SKAccessibilityPDFAnnotationElement 
alloc] initWithAnnotation:annotation pdfView:self parent:[self documentView]] 
autorelease]];
+                [children addObject:[SKAccessibilityPDFAnnotationElement 
elementWithAnnotation:annotation pdfView:self parent:[self documentView]]];
         }
     }
     return children;
@@ -2172,7 +2172,7 @@
     } else {
         if (accessibilityChildren == nil) {
             NSRange range = NSMakeRange(0, [[self document] pageCount]);
-            accessibilityChildren = [[self 
accessibilityChildrenForPageRange:range visible:NO] copy];
+            accessibilityChildren = [[self 
accessibilityChildrenForPageRange:range visible:NO] mutableCopy];
         }
         return accessibilityChildren;
     }


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

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to