Incremental checkin for Status Windows, and correcting a path setting.
[ITKit.git] / ITWindowEffect.m
index bb7cfed..d485df5 100755 (executable)
@@ -1,4 +1,5 @@
 #import "ITWindowEffect.h"
+#import "ITTransientStatusWindow.h"
 
 
 @implementation ITWindowEffect
@@ -14,8 +15,9 @@
         _effectTimer    = nil;
 
         if ( [window conformsToProtocol:@protocol(ITWindowPositioning)] ) {
-            _verticalPosition   = (ITVerticalWindowPosition)[window verticalPosition];
-            _horizontalPosition = (ITHorizontalWindowPosition)[window horizontalPosition];
+                                                           // Casts so the compiler won't gripe
+            _verticalPosition   = (ITVerticalWindowPosition)[(ITTransientStatusWindow *)window verticalPosition];
+            _horizontalPosition = (ITHorizontalWindowPosition)[(ITTransientStatusWindow *)window horizontalPosition];
         } else {
             NSLog(@"ITWindowEffect - initWithWindow: - window does not conform to ITWindowPositioning.");
             _verticalPosition   = ITWindowPositionBottom;
 
 - (void)setWindow:(NSWindow *)newWindow
 {
-    _window = newWindow;
+    [_window autorelease];
+    _window = [newWindow retain];
+}
+
+- (void)setWindowVisibility:(ITWindowVisibilityState)visibilityState
+{
+    if ( [_window conformsToProtocol:@protocol(ITWindowVisibility)] ) {
+       // Cast so the compiler won't gripe
+        [(ITTransientStatusWindow *)_window setVisibilityState:visibilityState];
+    } else {
+        NSLog(@"ITWindowEffect - setWindowVisibility: - window does not conform to ITWindowVisibility.");
+    }
+}
+
+- (float)effectTime
+{
+    return _effectTime;
+}
+
+- (void)setEffectTime:(float)newTime
+{
+    _effectTime = newTime;
 }
 
 - (void)performAppear
     NSLog(@"ITWindowEffect does not implement performVanish.");
 }
 
+- (void)cancelAppear
+{
+    NSLog(@"ITWindowEffect does not implement cancelAppear.");
+}
+
+- (void)cancelVanish
+{
+    NSLog(@"ITWindowEffect does not implement cancelVanish.");
+}
+
 - (void)dealloc
 {
        [_window release];