@implementation ITWindowEffect
++ (NSArray *)effectClasses
+{
+ NSArray *classes = [NSArray arrayWithObjects:
+ NSClassFromString(@"ITCutWindowEffect"),
+ NSClassFromString(@"ITDissolveWindowEffect"),
+ NSClassFromString(@"ITSlideHorizontallyWindowEffect"),
+ NSClassFromString(@"ITSlideVerticallyWindowEffect"),
+ NSClassFromString(@"ITPivotWindowEffect"),
+ NSClassFromString(@"ITZoomWindowEffect"),
+ NSClassFromString(@"ITSpinWindowEffect"),
+ NSClassFromString(@"ITSpinAndZoomWindowEffect"),
+ NSClassFromString(@"ITCoreImageWindowEffect"),
+ nil];
+
+ return classes;
+}
- (id)initWithWindow:(NSWindow *)window
{
if ( (self = [super init]) ) {
-
_window = [window retain];
_effectTime = DEFAULT_EFFECT_TIME;
_effectTimer = nil;
__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 {
_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;