From: Matthew Judy Date: Sun, 23 Nov 2003 10:36:48 +0000 (+0000) Subject: Intermediary checkin, just to mark my place and back up, in case Panther decides... X-Git-Tag: v0.1~6 X-Git-Url: http://git.ithinksw.org/ITKit.git/commitdiff_plain/63956bb9f9984a26dc8147615be854e93ccc6b50 Intermediary checkin, just to mark my place and back up, in case Panther decides to be an ass again. --- diff --git a/ITCategory-NSMenu.h b/ITCategory-NSMenu.h index 02ebefa..ad058bd 100755 --- a/ITCategory-NSMenu.h +++ b/ITCategory-NSMenu.h @@ -1,10 +1,17 @@ -// -// ITCategory-NSMenu.h -// ITKit -// -// Created by Joseph Spiros on Sat Sep 27 2003. -// Copyright (c) 2003 __MyCompanyName__. All rights reserved. -// +/* + * ITKit + * ITCategory-NSMenu.h + * Category which extends NSMenu + * + * Original Author : Joseph Spiros + * Responsibility : Matt Judy + * Responsibility : Joseph Spiros + * + * Copyright (c) 2002 - 2003 iThink Software. + * All Rights Reserved + * + */ + #import #import diff --git a/ITCutWindowEffect.m b/ITCutWindowEffect.m index 8ab95cd..2340dbf 100755 --- a/ITCutWindowEffect.m +++ b/ITCutWindowEffect.m @@ -5,6 +5,29 @@ @implementation ITCutWindowEffect ++ (NSString *)effectName +{ + return @"Cut"; +} + ++ (NSDictionary *)supportedPositions +{ + return [NSDictionary dictionaryWithObjectsAndKeys: + [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithBool:YES], @"Left", + [NSNumber numberWithBool:YES], @"Center", + [NSNumber numberWithBool:YES], @"Right", nil] , @"Top" , + [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithBool:YES], @"Left", + [NSNumber numberWithBool:YES], @"Center", + [NSNumber numberWithBool:YES], @"Right", nil] , @"Middle" , + [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithBool:YES], @"Left", + [NSNumber numberWithBool:YES], @"Center", + [NSNumber numberWithBool:YES], @"Right", nil] , @"Bottom" , nil]; +} + + /*************************************************************************/ #pragma mark - #pragma mark APPEAR METHODS diff --git a/ITDissolveWindowEffect.m b/ITDissolveWindowEffect.m index b058548..180f80e 100755 --- a/ITDissolveWindowEffect.m +++ b/ITDissolveWindowEffect.m @@ -15,6 +15,29 @@ @implementation ITDissolveWindowEffect ++ (NSString *)effectName +{ + return @"Dissolve"; +} + ++ (NSDictionary *)supportedPositions +{ + return [NSDictionary dictionaryWithObjectsAndKeys: + [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithBool:YES], @"Left", + [NSNumber numberWithBool:YES], @"Center", + [NSNumber numberWithBool:YES], @"Right", nil] , @"Top" , + [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithBool:YES], @"Left", + [NSNumber numberWithBool:YES], @"Center", + [NSNumber numberWithBool:YES], @"Right", nil] , @"Middle" , + [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithBool:YES], @"Left", + [NSNumber numberWithBool:YES], @"Center", + [NSNumber numberWithBool:YES], @"Right", nil] , @"Bottom" , nil]; +} + + /*************************************************************************/ #pragma mark - #pragma mark APPEAR METHODS diff --git a/ITKit.xcode/project.pbxproj b/ITKit.xcode/project.pbxproj index 73e0eec..b00a982 100755 --- a/ITKit.xcode/project.pbxproj +++ b/ITKit.xcode/project.pbxproj @@ -1484,7 +1484,6 @@ children = ( 7C992DE4054F5179000B93EA, 7C992DD3054F5179000B93EA, - 7C992DFD054F5179000B93EA, ); isa = PBXGroup; name = Headers; @@ -1686,6 +1685,7 @@ 7C992DFA054F5179000B93EA, 7C992DD8054F5179000B93EA, 7C992DD9054F5179000B93EA, + 7C992DFD054F5179000B93EA, 7C99305B054F687D000B93EA, ); isa = PBXGroup; @@ -1701,10 +1701,10 @@ 7C992DD5054F5179000B93EA, 7C992DD6054F5179000B93EA, 7C992DD7054F5179000B93EA, - 7C992DE9054F5179000B93EA, - 7C992DEA054F5179000B93EA, 7C992DEB054F5179000B93EA, 7C992DEC054F5179000B93EA, + 7C992DE9054F5179000B93EA, + 7C992DEA054F5179000B93EA, 7C992DE7054F5179000B93EA, 7C992DE8054F5179000B93EA, ); diff --git a/ITPivotWindowEffect.m b/ITPivotWindowEffect.m index 7c59705..bcf4f54 100755 --- a/ITPivotWindowEffect.m +++ b/ITPivotWindowEffect.m @@ -17,6 +17,29 @@ @implementation ITPivotWindowEffect ++ (NSString *)effectName +{ + return @"Pivot"; +} + ++ (NSDictionary *)supportedPositions +{ + return [NSDictionary dictionaryWithObjectsAndKeys: + [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithBool:YES], @"Left", + [NSNumber numberWithBool:NO], @"Center", + [NSNumber numberWithBool:YES], @"Right", nil] , @"Top" , + [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithBool:NO], @"Left", + [NSNumber numberWithBool:NO], @"Center", + [NSNumber numberWithBool:NO], @"Right", nil] , @"Middle" , + [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithBool:YES], @"Left", + [NSNumber numberWithBool:NO], @"Center", + [NSNumber numberWithBool:YES], @"Right", nil] , @"Bottom" , nil]; +} + + /*************************************************************************/ #pragma mark - #pragma mark APPEAR METHODS diff --git a/ITSlideHorizontallyWindowEffect.m b/ITSlideHorizontallyWindowEffect.m index 2382cc4..26f8db7 100755 --- a/ITSlideHorizontallyWindowEffect.m +++ b/ITSlideHorizontallyWindowEffect.m @@ -17,6 +17,29 @@ @implementation ITSlideHorizontallyWindowEffect ++ (NSString *)effectName +{ + return @"Slide Horizontally"; +} + ++ (NSDictionary *)supportedPositions +{ + return [NSDictionary dictionaryWithObjectsAndKeys: + [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithBool:YES], @"Left", + [NSNumber numberWithBool:NO], @"Center", + [NSNumber numberWithBool:YES], @"Right", nil] , @"Top" , + [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithBool:YES], @"Left", + [NSNumber numberWithBool:NO], @"Center", + [NSNumber numberWithBool:YES], @"Right", nil] , @"Middle" , + [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithBool:YES], @"Left", + [NSNumber numberWithBool:NO], @"Center", + [NSNumber numberWithBool:YES], @"Right", nil] , @"Bottom" , nil]; +} + + /*************************************************************************/ #pragma mark - #pragma mark APPEAR METHODS diff --git a/ITSlideVerticallyWindowEffect.m b/ITSlideVerticallyWindowEffect.m index 023e276..d930373 100755 --- a/ITSlideVerticallyWindowEffect.m +++ b/ITSlideVerticallyWindowEffect.m @@ -17,6 +17,29 @@ @implementation ITSlideVerticallyWindowEffect ++ (NSString *)effectName +{ + return @"Slide Vertically"; +} + ++ (NSDictionary *)supportedPositions +{ + return [NSDictionary dictionaryWithObjectsAndKeys: + [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithBool:YES], @"Left", + [NSNumber numberWithBool:YES], @"Center", + [NSNumber numberWithBool:YES], @"Right", nil] , @"Top" , + [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithBool:NO], @"Left", + [NSNumber numberWithBool:NO], @"Center", + [NSNumber numberWithBool:NO], @"Right", nil] , @"Middle" , + [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithBool:YES], @"Left", + [NSNumber numberWithBool:YES], @"Center", + [NSNumber numberWithBool:YES], @"Right", nil] , @"Bottom" , nil]; +} + + /*************************************************************************/ #pragma mark - #pragma mark APPEAR METHODS diff --git a/ITWindowEffect.h b/ITWindowEffect.h index bd5985b..23fe4ad 100755 --- a/ITWindowEffect.h +++ b/ITWindowEffect.h @@ -30,6 +30,8 @@ typedef enum { @protocol ITWindowEffect ++ (NSString *)effectName; ++ (NSDictionary *)supportedPositions; - (void)performAppear; - (void)performVanish; - (void)cancelAppear; @@ -57,7 +59,7 @@ typedef enum { BOOL __shouldReleaseWhenIdle; } -+ (NSArray *)effectsInfo; ++ (NSArray *)effectClasses; // Designated initializer - (id)initWithWindow:(NSWindow *)window; diff --git a/ITWindowEffect.m b/ITWindowEffect.m index 2b1d4fe..1e2e750 100755 --- a/ITWindowEffect.m +++ b/ITWindowEffect.m @@ -4,138 +4,22 @@ @implementation ITWindowEffect -+ (NSArray *)effectsInfo ++ (NSArray *)effectClasses { - int ce; - NSMutableArray *finalArray = [[[NSMutableArray alloc] initWithCapacity:5] autorelease]; - - NSArray *effectKeys = [NSArray arrayWithObjects: - @"Name", - @"Class", - @"Positions", - nil]; - - NSArray *effectNames = [NSArray arrayWithObjects: - @"Cut", - @"Dissolve", - @"Slide Horizontally", - @"Slide Vertically", - @"Pivot", - nil]; - - NSArray *classNames = [NSArray arrayWithObjects: - @"ITCutWindowEffect", - @"ITDissolveWindowEffect", - @"ITSlideHorizontallyWindowEffect", - @"ITSlideVerticallyWindowEffect", - @"ITPivotWindowEffect", - nil]; - - NSArray *positionKeys = [NSArray arrayWithObjects: - @"TopLeft", - @"TopCenter", - @"TopRight", - @"MiddleLeft", - @"MiddleCenter", - @"MiddleRight", - @"BottomLeft", - @"BottomCenter", - @"BottomRight", + NSArray *classes = [NSArray arrayWithObjects: + NSClassFromString(@"ITCutWindowEffect"), + NSClassFromString(@"ITDissolveWindowEffect"), + NSClassFromString(@"ITSlideHorizontallyWindowEffect"), + NSClassFromString(@"ITSlideVerticallyWindowEffect"), + NSClassFromString(@"ITPivotWindowEffect"), nil]; - NSArray *cutPositionValues = [NSArray arrayWithObjects: - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:YES], - nil]; - - NSArray *dissolvePositionValues = [NSArray arrayWithObjects: - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:YES], - nil]; - - NSArray *slideVerticallyPositionValues = [NSArray arrayWithObjects: - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:NO], - [NSNumber numberWithBool:NO], - [NSNumber numberWithBool:NO], - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:YES], - nil]; - - NSArray *slideHorizontallyPositionValues = [NSArray arrayWithObjects: - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:NO], - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:NO], - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:NO], - [NSNumber numberWithBool:YES], - nil]; - - NSArray *pivotPositionValues = [NSArray arrayWithObjects: - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:NO], - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:NO], - [NSNumber numberWithBool:NO], - [NSNumber numberWithBool:NO], - [NSNumber numberWithBool:YES], - [NSNumber numberWithBool:NO], - [NSNumber numberWithBool:YES], - nil]; - - NSArray *positionDicts = [NSArray arrayWithObjects: - [NSDictionary dictionaryWithObjects:cutPositionValues - forKeys:positionKeys], - [NSDictionary dictionaryWithObjects:dissolvePositionValues - forKeys:positionKeys], - [NSDictionary dictionaryWithObjects:slideVerticallyPositionValues - forKeys:positionKeys], - [NSDictionary dictionaryWithObjects:slideHorizontallyPositionValues - forKeys:positionKeys], - [NSDictionary dictionaryWithObjects:pivotPositionValues - forKeys:positionKeys], - nil]; - - for ( ce = 0 ; ce < [effectNames count] ; ce++ ) { - - NSArray *entryValues = [NSArray arrayWithObjects: - [effectNames objectAtIndex:ce], - [classNames objectAtIndex:ce], - [positionDicts objectAtIndex:ce], - nil]; - - NSDictionary *entryDict = [NSDictionary dictionaryWithObjects:entryValues - forKeys:effectKeys]; - [finalArray addObject:entryDict]; - } - - return finalArray; + return classes; } - (id)initWithWindow:(NSWindow *)window { if ( (self = [super init]) ) { - _window = [window retain]; _effectTime = DEFAULT_EFFECT_TIME; _effectTimer = nil; @@ -186,6 +70,32 @@ _effectTime = newTime; } ++ (NSString *)effectName +{ + NSLog(@"ITWindowEffect does not implement +effectName."); + return nil; +} + ++ (NSDictionary *)supportedPositions +{ + NSLog(@"ITWindowEffect does not implement +supportedPositions."); + +// Below is an example dictionary. Modify it appropriately when subclassing. + return [NSDictionary dictionaryWithObjectsAndKeys: + [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithBool:NO], @"Left", + [NSNumber numberWithBool:NO], @"Center", + [NSNumber numberWithBool:NO], @"Right", nil] , @"Top" , + [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithBool:NO], @"Left", + [NSNumber numberWithBool:NO], @"Center", + [NSNumber numberWithBool:NO], @"Right", nil] , @"Middle" , + [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithBool:NO], @"Left", + [NSNumber numberWithBool:NO], @"Center", + [NSNumber numberWithBool:NO], @"Right", nil] , @"Bottom" , nil]; +} + - (void)performAppear { NSLog(@"ITWindowEffect does not implement performAppear.");