X-Git-Url: http://git.ithinksw.org/ITKit.git/blobdiff_plain/280d630740afd8d04195f16d70829cf639a69f30..d7b837d03d47a5ffa60975081a2a7598edc839e3:/ITWindowEffect.m diff --git a/ITWindowEffect.m b/ITWindowEffect.m index 2b1d4fe..231dc76 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", - 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], + NSArray *classes = [NSArray arrayWithObjects: + NSClassFromString(@"ITCutWindowEffect"), + NSClassFromString(@"ITDissolveWindowEffect"), + NSClassFromString(@"ITSlideHorizontallyWindowEffect"), + NSClassFromString(@"ITSlideVerticallyWindowEffect"), + NSClassFromString(@"ITPivotWindowEffect"), 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; @@ -143,7 +27,6 @@ __idle = YES; if ( [window conformsToProtocol:@protocol(ITWindowPositioning)] ) { - // Casts so the compiler won't gripe _verticalPosition = (ITVerticalWindowPosition)[(ITTransientStatusWindow *)window verticalPosition]; _horizontalPosition = (ITHorizontalWindowPosition)[(ITTransientStatusWindow *)window horizontalPosition]; } else { @@ -186,24 +69,56 @@ _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]; +} + ++ (unsigned int)listOrder +{ + NSLog(@"ITWindowEffect does not implement +listOrder."); + return 0; +} + - (void)performAppear { - NSLog(@"ITWindowEffect does not implement performAppear."); + NSLog(@"ITWindowEffect does not implement -performAppear."); } - (void)performVanish { - NSLog(@"ITWindowEffect does not implement performVanish."); + NSLog(@"ITWindowEffect does not implement -performVanish."); } - (void)cancelAppear { - NSLog(@"ITWindowEffect does not implement cancelAppear."); + NSLog(@"ITWindowEffect does not implement -cancelAppear."); } - (void)cancelVanish { - NSLog(@"ITWindowEffect does not implement cancelVanish."); + NSLog(@"ITWindowEffect does not implement -cancelVanish."); } - (void)releaseWhenIdle;