Revision: 4298
http://skim-app.svn.sourceforge.net/skim-app/?rev=4298&view=rev
Author: hofman
Date: 2008-07-25 09:47:39 +0000 (Fri, 25 Jul 2008)
Log Message:
-----------
Type implementations.
Modified Paths:
--------------
trunk/NSCell_SKExtensions.m
trunk/NSScrollView_SKExtensions.m
trunk/NSURL_SKExtensions.m
trunk/PDFAnnotationLink_SKExtensions.m
trunk/PDFAnnotationMarkup_SKExtensions.m
trunk/PDFDisplayView_SKExtensions.m
trunk/PDFDocument_SKExtensions.m
trunk/PDFPage_SKExtensions.m
trunk/SKFindTableView.m
trunk/SKThumbnailTableView.m
Modified: trunk/NSCell_SKExtensions.m
===================================================================
--- trunk/NSCell_SKExtensions.m 2008-07-24 23:28:21 UTC (rev 4297)
+++ trunk/NSCell_SKExtensions.m 2008-07-25 09:47:39 UTC (rev 4298)
@@ -44,7 +44,7 @@
@implementation NSCell (SKExtensions)
-static IMP originalHighlightColorWithFrameInView = NULL;
+static id (*originalHighlightColorWithFrameInView)(id, SEL, NSRect, id) = NULL;
- (NSColor *)replacementHighlightColorWithFrame:(NSRect)cellFrame
inView:(NSView *)controlView {
if ([controlView respondsToSelector:@selector(highlightColor)])
@@ -54,7 +54,7 @@
}
+ (void)load {
- originalHighlightColorWithFrameInView = [self
setInstanceMethodFromSelector:@selector(replacementHighlightColorWithFrame:inView:)
forSelector:@selector(highlightColorWithFrame:inView:)];
+ originalHighlightColorWithFrameInView = (id (*)(id, SEL, NSRect, id))[self
setInstanceMethodFromSelector:@selector(replacementHighlightColorWithFrame:inView:)
forSelector:@selector(highlightColorWithFrame:inView:)];
}
@end
Modified: trunk/NSScrollView_SKExtensions.m
===================================================================
--- trunk/NSScrollView_SKExtensions.m 2008-07-24 23:28:21 UTC (rev 4297)
+++ trunk/NSScrollView_SKExtensions.m 2008-07-25 09:47:39 UTC (rev 4298)
@@ -43,10 +43,10 @@
@implementation NSScrollView (SKExtensions)
-static IMP originalSetHasHorizontalScroller = NULL;
-static IMP originalSetAutohidesScrollers = NULL;
-static IMP originalDealloc = NULL;
-static IMP originalTile = NULL;
+static void (*originalSetHasHorizontalScroller)(id, SEL, BOOL) = NULL;
+static void (*originalSetAutohidesScrollers)(id, SEL, BOOL) = NULL;
+static void (*originalDealloc)(id, SEL) = NULL;
+static void (*originalTile)(id, SEL) = NULL;
static CFMutableDictionaryRef scrollViewPlacards = NULL;
@@ -103,10 +103,10 @@
}
+ (void)load{
- originalSetHasHorizontalScroller = [self
setInstanceMethodFromSelector:@selector(replacementSetHasHorizontalScroller:)
forSelector:@selector(setHasHorizontalScroller:)];
- originalSetAutohidesScrollers = [self
setInstanceMethodFromSelector:@selector(replacementSetAutohidesScrollers:)
forSelector:@selector(setAutohidesScrollers:)];
- originalDealloc = [self
setInstanceMethodFromSelector:@selector(replacementDealloc)
forSelector:@selector(dealloc)];
- originalTile = [self
setInstanceMethodFromSelector:@selector(replacementTile)
forSelector:@selector(tile)];
+ originalSetHasHorizontalScroller = (void (*)(id, SEL, BOOL))[self
setInstanceMethodFromSelector:@selector(replacementSetHasHorizontalScroller:)
forSelector:@selector(setHasHorizontalScroller:)];
+ originalSetAutohidesScrollers = (void (*)(id, SEL, BOOL))[self
setInstanceMethodFromSelector:@selector(replacementSetAutohidesScrollers:)
forSelector:@selector(setAutohidesScrollers:)];
+ originalDealloc = (void (*)(id, SEL))[self
setInstanceMethodFromSelector:@selector(replacementDealloc)
forSelector:@selector(dealloc)];
+ originalTile = (void (*)(id, SEL))[self
setInstanceMethodFromSelector:@selector(replacementTile)
forSelector:@selector(tile)];
// dictionary doesn't retain keys, so no retain cycles; pointer equality
used to compare views
scrollViewPlacards = CFDictionaryCreateMutable(CFAllocatorGetDefault(), 0,
NULL, &kCFTypeDictionaryValueCallBacks);
Modified: trunk/NSURL_SKExtensions.m
===================================================================
--- trunk/NSURL_SKExtensions.m 2008-07-24 23:28:21 UTC (rev 4297)
+++ trunk/NSURL_SKExtensions.m 2008-07-25 09:47:39 UTC (rev 4298)
@@ -43,8 +43,8 @@
@implementation NSURL (SKExtensions)
-static IMP originalInitFileURLWithPath = NULL;
-static IMP originalInitWithString = NULL;
+static id (*originalInitFileURLWithPath)(id, SEL, id) = NULL;
+static id (*originalInitWithString)(id, SEL, id) = NULL;
- (id)replacementInitFileURLWithPath:(NSString *)path {
return path == nil ? nil : originalInitFileURLWithPath(self, _cmd, path);
@@ -55,8 +55,8 @@
}
+ (void)load {
- originalInitFileURLWithPath = [self
setInstanceMethodFromSelector:@selector(replacementInitFileURLWithPath:)
forSelector:@selector(initFileURLWithPath:)];
- originalInitWithString = [self
setInstanceMethodFromSelector:@selector(replacementInitWithString:)
forSelector:@selector(initWithString:)];
+ originalInitFileURLWithPath = (id (*)(id, SEL, id))[self
setInstanceMethodFromSelector:@selector(replacementInitFileURLWithPath:)
forSelector:@selector(initFileURLWithPath:)];
+ originalInitWithString = (id (*)(id, SEL, id))[self
setInstanceMethodFromSelector:@selector(replacementInitWithString:)
forSelector:@selector(initWithString:)];
}
+ (NSURL *)URLFromPasteboardAnyType:(NSPasteboard *)pasteboard {
Modified: trunk/PDFAnnotationLink_SKExtensions.m
===================================================================
--- trunk/PDFAnnotationLink_SKExtensions.m 2008-07-24 23:28:21 UTC (rev
4297)
+++ trunk/PDFAnnotationLink_SKExtensions.m 2008-07-25 09:47:39 UTC (rev
4298)
@@ -49,8 +49,8 @@
// override these Leopard methods to avoid showing the standard tool tips over
our own
-static IMP originalToolTip = NULL;
-static IMP originalToolTipNoLabel = NULL;
+static id (*originalToolTip)(id, SEL) = NULL;
+static id (*originalToolTipNoLabel)(id, SEL) = NULL;
- (NSString *)replacementToolTip {
return ([self URL] || [self destination] || originalToolTip == NULL) ? nil
: originalToolTip(self, _cmd);
@@ -62,9 +62,9 @@
+ (void)load {
if ([self instancesRespondToSelector:@selector(toolTip)])
- originalToolTip = [self
setInstanceMethodFromSelector:@selector(replacementToolTip)
forSelector:@selector(toolTip)];
+ originalToolTip = (id (*)(id, SEL))[self
setInstanceMethodFromSelector:@selector(replacementToolTip)
forSelector:@selector(toolTip)];
if ([self instancesRespondToSelector:@selector(toolTipNoLabel)])
- originalToolTipNoLabel = [self
setInstanceMethodFromSelector:@selector(replacementToolTipNoLabel)
forSelector:@selector(toolTip)];
+ originalToolTipNoLabel = (id (*)(id, SEL))[self
setInstanceMethodFromSelector:@selector(replacementToolTipNoLabel)
forSelector:@selector(toolTip)];
}
- (BOOL)isLink { return YES; }
Modified: trunk/PDFAnnotationMarkup_SKExtensions.m
===================================================================
--- trunk/PDFAnnotationMarkup_SKExtensions.m 2008-07-24 23:28:21 UTC (rev
4297)
+++ trunk/PDFAnnotationMarkup_SKExtensions.m 2008-07-25 09:47:39 UTC (rev
4298)
@@ -106,8 +106,8 @@
static CFMutableDictionaryRef lineRectsDict = NULL;
-static IMP originalDealloc = NULL;
-static IMP originalDrawWithBoxInContext = NULL;
+static void (*originalDealloc)(id, SEL) = NULL;
+static void (*originalDrawWithBoxInContext)(id, SEL, CGPDFBox, CGContextRef) =
NULL;
- (void)replacementDealloc {
CFDictionaryRemoveValue(lineRectsDict, self);
@@ -123,9 +123,9 @@
}
+ (void)load {
- originalDealloc = [self
setInstanceMethodFromSelector:@selector(replacementDealloc)
forSelector:@selector(dealloc)];
+ originalDealloc = (void (*)(id, SEL))[self
setInstanceMethodFromSelector:@selector(replacementDealloc)
forSelector:@selector(dealloc)];
if (floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_4)
- originalDrawWithBoxInContext = [self
setInstanceMethodFromSelector:@selector(replacementDrawWithBox:inContext:)
forSelector:@selector(drawWithBox:inContext:)];
+ originalDrawWithBoxInContext = (void (*)(id, SEL, CGPDFBox,
CGContextRef))[self
setInstanceMethodFromSelector:@selector(replacementDrawWithBox:inContext:)
forSelector:@selector(drawWithBox:inContext:)];
lineRectsDict = CFDictionaryCreateMutable(kCFAllocatorDefault, 0, NULL,
&kCFTypeDictionaryValueCallBacks);
}
Modified: trunk/PDFDisplayView_SKExtensions.m
===================================================================
--- trunk/PDFDisplayView_SKExtensions.m 2008-07-24 23:28:21 UTC (rev 4297)
+++ trunk/PDFDisplayView_SKExtensions.m 2008-07-25 09:47:39 UTC (rev 4298)
@@ -67,14 +67,14 @@
return pdfView;
}
-static IMP originalResetCursorRects = NULL;
-static IMP originalPasswordEntered = NULL;
+static void (*originalResetCursorRects)(id, SEL) = NULL;
+static void (*originalPasswordEntered)(id, SEL, id) = NULL;
-static IMP originalAccessibilityAttributeNames = NULL;
-static IMP originalAccessibilityParameterizedAttributeNames = NULL;
-static IMP originalAccessibilityAttributeValue = NULL;
-static IMP originalAccessibilityHitTest = NULL;
-static IMP originalAccessibilityFocusedUIElement = NULL;
+static id (*originalAccessibilityAttributeNames)(id, SEL) = NULL;
+static id (*originalAccessibilityParameterizedAttributeNames)(id, SEL) = NULL;
+static id (*originalAccessibilityAttributeValue)(id, SEL, id) = NULL;
+static id (*originalAccessibilityHitTest)(id, SEL, NSPoint) = NULL;
+static id (*originalAccessibilityFocusedUIElement)(id, SEL) = NULL;
#pragma mark Skim support
@@ -227,22 +227,22 @@
Class PDFDisplayViewClass = NSClassFromString(@"PDFDisplayView");
if (PDFDisplayViewClass) {
if ([PDFDisplayViewClass
instancesRespondToSelector:@selector(resetCursorRects)])
- originalResetCursorRects = [PDFDisplayViewClass
setInstanceMethod:(IMP)replacementResetCursorRects typeEncoding:NULL
forSelector:@selector(resetCursorRects)];
+ originalResetCursorRects = (void (*)(id, SEL))[PDFDisplayViewClass
setInstanceMethod:(IMP)replacementResetCursorRects typeEncoding:NULL
forSelector:@selector(resetCursorRects)];
if ([PDFDisplayViewClass
instancesRespondToSelector:@selector(passwordEntered:)])
- originalPasswordEntered = [PDFDisplayViewClass
setInstanceMethod:(IMP)replacementPasswordEntered typeEncoding:NULL
forSelector:@selector(passwordEntered:)];
+ originalPasswordEntered = (void (*)(id, SEL,
id))[PDFDisplayViewClass setInstanceMethod:(IMP)replacementPasswordEntered
typeEncoding:NULL forSelector:@selector(passwordEntered:)];
if ([[NSUserDefaults standardUserDefaults]
boolForKey:@"SKDisableExtendedPDFViewAccessibility"]) return;
if ([PDFDisplayViewClass
instancesRespondToSelector:@selector(accessibilityAttributeNames)])
- originalAccessibilityAttributeNames = [PDFDisplayViewClass
setInstanceMethod:(IMP)replacementAccessibilityAttributeNames typeEncoding:NULL
forSelector:@selector(accessibilityAttributeNames)];
+ originalAccessibilityAttributeNames = (id (*)(id,
SEL))[PDFDisplayViewClass
setInstanceMethod:(IMP)replacementAccessibilityAttributeNames typeEncoding:NULL
forSelector:@selector(accessibilityAttributeNames)];
if ([PDFDisplayViewClass
instancesRespondToSelector:@selector(accessibilityParameterizedAttributeNames)])
- originalAccessibilityParameterizedAttributeNames =
[PDFDisplayViewClass
setInstanceMethod:(IMP)replacementAccessibilityParameterizedAttributeNames
typeEncoding:NULL
forSelector:@selector(accessibilityParameterizedAttributeNames)];
+ originalAccessibilityParameterizedAttributeNames = (id (*)(id,
SEL))[PDFDisplayViewClass
setInstanceMethod:(IMP)replacementAccessibilityParameterizedAttributeNames
typeEncoding:NULL
forSelector:@selector(accessibilityParameterizedAttributeNames)];
if ([PDFDisplayViewClass
instancesRespondToSelector:@selector(accessibilityAttributeValue:)])
- originalAccessibilityAttributeValue = [PDFDisplayViewClass
setInstanceMethod:(IMP)replacementAccessibilityAttributeValue typeEncoding:NULL
forSelector:@selector(accessibilityAttributeValue:)];
+ originalAccessibilityAttributeValue = (id (*)(id, SEL,
id))[PDFDisplayViewClass
setInstanceMethod:(IMP)replacementAccessibilityAttributeValue typeEncoding:NULL
forSelector:@selector(accessibilityAttributeValue:)];
if ([PDFDisplayViewClass
instancesRespondToSelector:@selector(accessibilityHitTest:)])
- originalAccessibilityHitTest = [PDFDisplayViewClass
setInstanceMethod:(IMP)replacementAccessibilityHitTest typeEncoding:NULL
forSelector:@selector(accessibilityHitTest:)];
+ originalAccessibilityHitTest = (id (*)(id, SEL,
NSPoint))[PDFDisplayViewClass
setInstanceMethod:(IMP)replacementAccessibilityHitTest typeEncoding:NULL
forSelector:@selector(accessibilityHitTest:)];
if ([PDFDisplayViewClass
instancesRespondToSelector:@selector(accessibilityFocusedUIElement)])
- originalAccessibilityFocusedUIElement = [PDFDisplayViewClass
setInstanceMethod:(IMP)replacementAccessibilityFocusedUIElement
typeEncoding:NULL forSelector:@selector(accessibilityFocusedUIElement)];
+ originalAccessibilityFocusedUIElement = (id (*)(id,
SEL))[PDFDisplayViewClass
setInstanceMethod:(IMP)replacementAccessibilityFocusedUIElement
typeEncoding:NULL forSelector:@selector(accessibilityFocusedUIElement)];
if ([PDFDisplayViewClass
instancesRespondToSelector:@selector(accessibilityRangeForPositionAttributeForParameter:)]
== NO)
[PDFDisplayViewClass
setInstanceMethod:(IMP)replacementAccessibilityRangeForPositionAttributeForParameter
typeEncoding:"@@:@"
forSelector:@selector(accessibilityRangeForPositionAttributeForParameter:)];
Modified: trunk/PDFDocument_SKExtensions.m
===================================================================
--- trunk/PDFDocument_SKExtensions.m 2008-07-24 23:28:21 UTC (rev 4297)
+++ trunk/PDFDocument_SKExtensions.m 2008-07-25 09:47:39 UTC (rev 4298)
@@ -48,7 +48,7 @@
@implementation PDFDocument (SKExtensions)
-static IMP originalGetPrintOperationForPrintInfo = NULL;
+static id (*originalGetPrintOperationForPrintInfo)(id, SEL, id, BOOL) = NULL;
- (NSPrintOperation *)replacementGetPrintOperationForPrintInfo:(NSPrintInfo
*)printInfo autoRotate:(BOOL)autoRotate {
NSPrintOperation *printOperation =
originalGetPrintOperationForPrintInfo(self, _cmd, printInfo, autoRotate);
@@ -74,7 +74,7 @@
+ (void)load {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
if ([self
instancesRespondToSelector:@selector(getPrintOperationForPrintInfo:autoRotate:)])
- originalGetPrintOperationForPrintInfo = [self
setInstanceMethodFromSelector:@selector(replacementGetPrintOperationForPrintInfo:autoRotate:)
forSelector:@selector(getPrintOperationForPrintInfo:autoRotate:)];
+ originalGetPrintOperationForPrintInfo = (id (*)(id, SEL, id,
BOOL))[self
setInstanceMethodFromSelector:@selector(replacementGetPrintOperationForPrintInfo:autoRotate:)
forSelector:@selector(getPrintOperationForPrintInfo:autoRotate:)];
[pool release];
}
Modified: trunk/PDFPage_SKExtensions.m
===================================================================
--- trunk/PDFPage_SKExtensions.m 2008-07-24 23:28:21 UTC (rev 4297)
+++ trunk/PDFPage_SKExtensions.m 2008-07-25 09:47:39 UTC (rev 4298)
@@ -66,7 +66,7 @@
// A subclass with ivars would be nicer in some respects, but that would
require subclassing PDFDocument and returning instances of the subclass for
each page.
static CFMutableDictionaryRef bboxCache = NULL;
-static IMP originalDealloc = NULL;
+static void (*originalDealloc)(id, SEL) = NULL;
- (void)replacementDealloc {
CFDictionaryRemoveValue(bboxCache, self);
@@ -74,7 +74,7 @@
}
+ (void)load {
- originalDealloc = [self
setInstanceMethodFromSelector:@selector(replacementDealloc)
forSelector:@selector(dealloc)];
+ originalDealloc = (void (*)(id, SEL))[self
setInstanceMethodFromSelector:@selector(replacementDealloc)
forSelector:@selector(dealloc)];
bboxCache = CFDictionaryCreateMutable(NULL, 0, NULL,
&SKNSRectDictionaryValueCallbacks);
}
Modified: trunk/SKFindTableView.m
===================================================================
--- trunk/SKFindTableView.m 2008-07-24 23:28:21 UTC (rev 4297)
+++ trunk/SKFindTableView.m 2008-07-25 09:47:39 UTC (rev 4298)
@@ -155,7 +155,7 @@
@implementation NSLevelIndicatorCell (SKExtensions)
-static IMP originalDrawWithFrameInView = NULL;
+static void (*originalDrawWithFrameInView)(id, SEL, NSRect, id) = NULL;
// Drawing does not restrict the clip, while in discrete style it heavily uses
gaussian blur, leading to unacceptable slow drawing
// see <http://toxicsoftware.com/discrete-nslevelindicatorcell-too-slow/>
@@ -172,7 +172,7 @@
}
+ (void)load {
- originalDrawWithFrameInView = [self
setInstanceMethodFromSelector:@selector(replacementDrawWithFrame:inView:)
forSelector:@selector(drawWithFrame:inView:)];
+ originalDrawWithFrameInView = (void (*)(id, SEL, NSRect, id))[self
setInstanceMethodFromSelector:@selector(replacementDrawWithFrame:inView:)
forSelector:@selector(drawWithFrame:inView:)];
}
@end
Modified: trunk/SKThumbnailTableView.m
===================================================================
--- trunk/SKThumbnailTableView.m 2008-07-24 23:28:21 UTC (rev 4297)
+++ trunk/SKThumbnailTableView.m 2008-07-25 09:47:39 UTC (rev 4298)
@@ -49,7 +49,7 @@
@implementation NSScroller (SKExtensions)
-static IMP originalTrackKnob = NULL;
+static void (*originalTrackKnob)(id, SEL, id) = NULL;
- (void)replacementTrackKnob:(NSEvent *)theEvent {
[[NSNotificationCenter defaultCenter]
postNotificationName:SKScrollerWillScrollNotification object:self];
@@ -58,7 +58,7 @@
}
+ (void)load {
- originalTrackKnob = [self
setInstanceMethodFromSelector:@selector(replacementTrackKnob:)
forSelector:@selector(trackKnob:)];
+ originalTrackKnob = (void (*)(id, SEL, id))[self
setInstanceMethodFromSelector:@selector(replacementTrackKnob:)
forSelector:@selector(trackKnob:)];
}
@end
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 Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit