Revision: 3103
http://skim-app.svn.sourceforge.net/skim-app/?rev=3103&view=rev
Author: hofman
Date: 2007-10-30 12:11:44 -0700 (Tue, 30 Oct 2007)
Log Message:
-----------
Define and use OBINITALIZE macro.
Modified Paths:
--------------
trunk/CIImage_BDSKExtensions.m
trunk/OBUtilities.h
trunk/SKApplicationController.m
trunk/SKBookmarkController.m
trunk/SKColorSwatch.m
trunk/SKDocumentController.m
trunk/SKInfoWindowController.m
trunk/SKLineWell.m
trunk/SKMainWindowController.m
trunk/SKPDFView.m
trunk/SKTemplateParser.m
trunk/SKThumbnailTableView.m
Modified: trunk/CIImage_BDSKExtensions.m
===================================================================
--- trunk/CIImage_BDSKExtensions.m 2007-10-30 18:59:24 UTC (rev 3102)
+++ trunk/CIImage_BDSKExtensions.m 2007-10-30 19:11:44 UTC (rev 3103)
@@ -37,6 +37,7 @@
*/
#import "CIImage_BDSKExtensions.h"
+#import "OBUtilities.h"
@implementation CIImage (BDSKExtensions)
@@ -45,6 +46,8 @@
static NSString *endColorKey = nil;
+ (void)initialize {
+ OBINITIALIZE;
+
if (floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_4) {
// in Tiger the input colors are reversed
startColorKey = [@"inputColor1" retain];
Modified: trunk/OBUtilities.h
===================================================================
--- trunk/OBUtilities.h 2007-10-30 18:59:24 UTC (rev 3102)
+++ trunk/OBUtilities.h 2007-10-30 19:11:44 UTC (rev 3103)
@@ -20,3 +20,12 @@
IMP OBRegisterInstanceMethodWithSelector(Class aClass, SEL oldSelector, SEL
newSelector);
IMP OBReplaceMethodImplementation(Class aClass, SEL oldSelector, IMP newImp);
IMP OBReplaceMethodImplementationWithSelector(Class aClass, SEL oldSelector,
SEL newSelector);
+
+#define OBINITIALIZE \
+ do { \
+ static BOOL hasBeenInitialized = NO; \
+ [super initialize]; \
+ if (hasBeenInitialized) \
+ return; \
+ hasBeenInitialized = YES;\
+ } while (0);
Modified: trunk/SKApplicationController.m
===================================================================
--- trunk/SKApplicationController.m 2007-10-30 18:59:24 UTC (rev 3102)
+++ trunk/SKApplicationController.m 2007-10-30 19:11:44 UTC (rev 3103)
@@ -60,6 +60,7 @@
#import "NSGeometry_SKExtensions.h"
#import "NSTask_SKExtensions.h"
#import "NSView_SKExtensions.h"
+#import "OBUtilities.h"
#define WEBSITE_URL @"http://skim-app.sourceforge.net/"
#define WIKI_URL @"http://skim-app.sourceforge.net/wiki/"
@@ -76,6 +77,8 @@
@implementation SKApplicationController
+ (void)initialize{
+ OBINITIALIZE;
+
[self setupDefaults];
}
Modified: trunk/SKBookmarkController.m
===================================================================
--- trunk/SKBookmarkController.m 2007-10-30 18:59:24 UTC (rev 3102)
+++ trunk/SKBookmarkController.m 2007-10-30 19:11:44 UTC (rev 3103)
@@ -49,6 +49,7 @@
#import "SKToolbarItem.h"
#import "NSImage_SKExtensions.h"
#import "SKStringConstants.h"
+#import "OBUtilities.h"
static NSString *SKBookmarkRowsPboardType = @"SKBookmarkRowsPboardType";
@@ -75,6 +76,8 @@
static unsigned int maxRecentDocumentsCount = 0;
+ (void)initialize {
+ OBINITIALIZE;
+
maxRecentDocumentsCount = [[NSUserDefaults standardUserDefaults]
integerForKey:SKMaximumDocumentPageHistoryCountKey];
if (maxRecentDocumentsCount == 0)
maxRecentDocumentsCount = 50;
Modified: trunk/SKColorSwatch.m
===================================================================
--- trunk/SKColorSwatch.m 2007-10-30 18:59:24 UTC (rev 3102)
+++ trunk/SKColorSwatch.m 2007-10-30 19:11:44 UTC (rev 3103)
@@ -37,6 +37,7 @@
*/
#import "SKColorSwatch.h"
+#import "OBUtilities.h"
NSString *SKColorSwatchColorsChangedNotification =
@"SKColorSwatchColorsChangedNotification";
@@ -47,6 +48,8 @@
@implementation SKColorSwatch
+ (void)initialize {
+ OBINITIALIZE;
+
[self exposeBinding:@"colors"];
}
Modified: trunk/SKDocumentController.m
===================================================================
--- trunk/SKDocumentController.m 2007-10-30 18:59:24 UTC (rev 3102)
+++ trunk/SKDocumentController.m 2007-10-30 19:11:44 UTC (rev 3103)
@@ -42,6 +42,7 @@
#import "NSString_SKExtensions.h"
#import "NSURL_SKExtensions.h"
#import "SKStringConstants.h"
+#import "OBUtilities.h"
// See CFBundleTypeName in Info.plist
NSString *SKPDFDocumentType = nil; /* set to NSPDFPboardType, not
@"NSPDFPboardType" */
@@ -60,6 +61,8 @@
@implementation SKDocumentController
+ (void)initialize {
+ OBINITIALIZE;
+
if (nil == SKPDFDocumentType)
SKPDFDocumentType = [NSPDFPboardType copy];
}
Modified: trunk/SKInfoWindowController.m
===================================================================
--- trunk/SKInfoWindowController.m 2007-10-30 18:59:24 UTC (rev 3102)
+++ trunk/SKInfoWindowController.m 2007-10-30 19:11:44 UTC (rev 3103)
@@ -39,12 +39,15 @@
#import "SKInfoWindowController.h"
#import "SKDocument.h"
#import <Quartz/Quartz.h>
+#import "OBUtilities.h"
static NSString *SKInfoWindowFrameAutosaveName = @"SKInfoWindow";
@implementation SKInfoWindowController
+ (void)initialize {
+ OBINITIALIZE;
+
SKBoolStringTransformer *transformer = [[SKBoolStringTransformer alloc]
init];
[NSValueTransformer setValueTransformer:transformer
forName:@"SKBoolStringTransformer"];
[transformer release];
Modified: trunk/SKLineWell.m
===================================================================
--- trunk/SKLineWell.m 2007-10-30 18:59:24 UTC (rev 3102)
+++ trunk/SKLineWell.m 2007-10-30 19:11:44 UTC (rev 3103)
@@ -38,6 +38,7 @@
#import "SKLineWell.h"
#import "SKLineInspector.h"
+#import "OBUtilities.h"
NSString *SKLineStylePboardType = @"SKLineStylePboardType";
@@ -48,6 +49,8 @@
@implementation SKLineWell
+ (void)initialize {
+ OBINITIALIZE;
+
id keys[5] = {@"lineWidth", @"style", @"dashPattern", @"startLineStyle",
@"endLineStyle"};
int values[5] = {2091, 2092, 2093, 2094, 2095};
observationContexts = (NSDictionary *)CFDictionaryCreate(NULL, (const void
**)keys, (const void **)values, 5, &kCFCopyStringDictionaryKeyCallBacks, NULL);
Modified: trunk/SKMainWindowController.m
===================================================================
--- trunk/SKMainWindowController.m 2007-10-30 18:59:24 UTC (rev 3102)
+++ trunk/SKMainWindowController.m 2007-10-30 19:11:44 UTC (rev 3103)
@@ -82,6 +82,7 @@
#import "SKProgressController.h"
#import "SKSecondaryPDFView.h"
#import "SKSheetController.h"
+#import "OBUtilities.h"
#define SEGMENTED_CONTROL_HEIGHT 25.0
#define WINDOW_X_DELTA 0.0
@@ -209,6 +210,8 @@
@implementation SKMainWindowController
+ (void)initialize {
+ OBINITIALIZE;
+
[NSValueTransformer
setValueTransformer:[[[SKUnarchiveFromDataArrayTransformer alloc] init]
autorelease] forName:SKUnarchiveFromDataArrayTransformerName];
}
Modified: trunk/SKPDFView.m
===================================================================
--- trunk/SKPDFView.m 2007-10-30 18:59:24 UTC (rev 3102)
+++ trunk/SKPDFView.m 2007-10-30 19:11:44 UTC (rev 3103)
@@ -160,6 +160,8 @@
@implementation SKPDFView
+ (void)initialize {
+ OBINITIALIZE;
+
static BOOL initialized = NO;
if (initialized == YES) return;
initialized = YES;
Modified: trunk/SKTemplateParser.m
===================================================================
--- trunk/SKTemplateParser.m 2007-10-30 18:59:24 UTC (rev 3102)
+++ trunk/SKTemplateParser.m 2007-10-30 19:11:44 UTC (rev 3103)
@@ -40,6 +40,7 @@
#import "NSCharacterSet_SKExtensions.h"
#import "NSString_SKExtensions.h"
#import "SKTag.h"
+#import "OBUtilities.h"
#define STARTTAG_OPEN_DELIM @"<$"
#define ENDTAG_OPEN_DELIM @"</$"
@@ -83,6 +84,7 @@
static NSCharacterSet *invertedKeyCharacterSet = nil;
+ (void)initialize {
+ OBINITIALIZE;
NSMutableCharacterSet *tmpSet = [[NSCharacterSet alphanumericCharacterSet]
mutableCopy];
[tmpSet addCharactersInString:@".-:;@"];
Modified: trunk/SKThumbnailTableView.m
===================================================================
--- trunk/SKThumbnailTableView.m 2007-10-30 18:59:24 UTC (rev 3102)
+++ trunk/SKThumbnailTableView.m 2007-10-30 19:11:44 UTC (rev 3103)
@@ -185,6 +185,8 @@
+ (void)initialize
{
+ OBINITIALIZE;
+
BOOL didInit = NO;
if (NO == didInit) {
didInit = YES;
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: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit