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