Getting things in order for the bigger stuff...
[ITKit.git] / ITTransientStatusWindow.h
index 52e96d7..39f637e 100755 (executable)
@@ -4,10 +4,10 @@
  *    NSWindow subclass for quick display of status information.
  *    Similar to volume/brightness/eject bezel key windows.
  *
  *    NSWindow subclass for quick display of status information.
  *    Similar to volume/brightness/eject bezel key windows.
  *
- *  Original Author : Kent Sutherland <joseph.spiros@ithinksw.com>
  *  Original Author : Matt Judy <mjudy@ithinksw.com>
  *   Responsibility : Matt Judy <mjudy@ithinksw.com>
  *   Responsibility : Joseph Spiros <joseph.spiros@ithinksw.com>
  *  Original Author : Matt Judy <mjudy@ithinksw.com>
  *   Responsibility : Matt Judy <mjudy@ithinksw.com>
  *   Responsibility : Joseph Spiros <joseph.spiros@ithinksw.com>
+ *      Contributor : Kent Sutherland <joseph.spiros@ithinksw.com>
  *
  *  Copyright (c) 2002 - 2003 iThink Software.
  *  All Rights Reserved
  *
  *  Copyright (c) 2002 - 2003 iThink Software.
  *  All Rights Reserved
@@ -17,7 +17,7 @@
 
 #import <Cocoa/Cocoa.h>
 #import "ITWindowPositioning.h"
 
 #import <Cocoa/Cocoa.h>
 #import "ITWindowPositioning.h"
-
+#import "ITWindowEffect.h"
 
 #define DEFAULT_EXIT_DELAY  3.0
 
 
 #define DEFAULT_EXIT_DELAY  3.0
 
 
 
 typedef enum {
 
 
 typedef enum {
-    ITTransientStatusWindowHiddenState,
-    ITTransientStatusWindowAppearingState,
-    ITTransientStatusWindowVisibleState,
-    ITTransientStatusWindowVanishingState
-} ITTransientStatusWindowVisibilityState;
-
-typedef enum {
-    ITTransientStatusWindowExitOnOrderOut,
+    ITTransientStatusWindowExitOnCommand,
     ITTransientStatusWindowExitAfterDelay,
 } ITTransientStatusWindowExitMode;
 
     ITTransientStatusWindowExitAfterDelay,
 } ITTransientStatusWindowExitMode;
 
+
 typedef enum {
     ITTransientStatusWindowNoBackground,
     ITTransientStatusWindowRounded,
 typedef enum {
     ITTransientStatusWindowNoBackground,
     ITTransientStatusWindowRounded,
@@ -48,24 +42,26 @@ typedef enum {
     ITTransientStatusWindowAquaUtility
 } ITTransientStatusWindowBackgroundType;
 
     ITTransientStatusWindowAquaUtility
 } ITTransientStatusWindowBackgroundType;
 
-@interface ITTransientStatusWindow : NSWindow <ITWindowPositioning> {
 
 
-    ITTransientStatusWindowVisibilityState _visibilityState;
+@interface ITTransientStatusWindow : NSWindow <ITWindowPositioning , ITWindowMotility> {
+
+    ITWindowVisibilityState                _visibilityState;
     ITTransientStatusWindowExitMode        _exitMode;
     float                                  _exitDelay;
     ITTransientStatusWindowBackgroundType  _backgroundType;
     ITWindowEffect                        *_entryEffect;
     ITWindowEffect                        *_exitEffect;
     ITTransientStatusWindowExitMode        _exitMode;
     float                                  _exitDelay;
     ITTransientStatusWindowBackgroundType  _backgroundType;
     ITWindowEffect                        *_entryEffect;
     ITWindowEffect                        *_exitEffect;
+    double                                 _effectProgress;
     ITVerticalWindowPosition               _verticalPosition;
     ITHorizontalWindowPosition             _horizontalPosition;
     float                                  _screenPadding;
     ITVerticalWindowPosition               _verticalPosition;
     ITHorizontalWindowPosition             _horizontalPosition;
     float                                  _screenPadding;
-    int                                    _screenNumber;
+//    int                                    _screenNumber;
 
     BOOL _reallyIgnoresEvents;
     
 
     BOOL _reallyIgnoresEvents;
     
-    NSTimer *_delayTimer;
+    NSTimer *_exitTimer;
 
 
-//  NSView *_contentSubView;           
+    NSView *_contentSubView;           
 }
 
 + (id)sharedWindow;
 }
 
 + (id)sharedWindow;
@@ -74,7 +70,11 @@ typedef enum {
                  exitMode:(ITTransientStatusWindowExitMode)exitMode
            backgroundType:(ITTransientStatusWindowBackgroundType)backgroundType;
 
                  exitMode:(ITTransientStatusWindowExitMode)exitMode
            backgroundType:(ITTransientStatusWindowBackgroundType)backgroundType;
 
-- (ITTransientStatusWindowVisibilityState)visibilityState;
+- (void)appear:(id)sender;
+- (void)vanish:(id)sender;
+
+- (ITWindowVisibilityState)visibilityState;
+- (void)setVisibilityState:(ITWindowVisibilityState)newState;
 
 - (ITTransientStatusWindowExitMode)exitMode;
 - (void)setExitMode:(ITTransientStatusWindowExitMode)newMode;
 
 - (ITTransientStatusWindowExitMode)exitMode;
 - (void)setExitMode:(ITTransientStatusWindowExitMode)newMode;
@@ -91,6 +91,9 @@ typedef enum {
 - (ITHorizontalWindowPosition)horizontalPosition;
 - (void)setHorizontalPosition:(ITHorizontalWindowPosition)newPosition;
 
 - (ITHorizontalWindowPosition)horizontalPosition;
 - (void)setHorizontalPosition:(ITHorizontalWindowPosition)newPosition;
 
+- (float)effectProgress;
+- (void)setEffectProgress:(float)newProgress;
+
 - (ITWindowEffect *)entryEffect;
 - (void)setEntryEffect:(ITWindowEffect *)newEffect;
 
 - (ITWindowEffect *)entryEffect;
 - (void)setEntryEffect:(ITWindowEffect *)newEffect;