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

Reply via email to