#import <Cocoa/Cocoa.h>
+#import "ITWindowPositioning.h"
-#define DEFAULT_EXIT_DELAY 3.0
+#define DEFAULT_EXIT_DELAY 3.0
+
+
+@class ITTextField;
+@class ITGrayRoundedView;
+@class ITWindowEffect;
typedef enum {
ITTransientStatusWindowHiddenState,
- ITTransientStatusWindowEnteringState,
+ ITTransientStatusWindowAppearingState,
ITTransientStatusWindowVisibleState,
- ITTransientStatusWindowExitingState
+ ITTransientStatusWindowVanishingState
} ITTransientStatusWindowVisibilityState;
typedef enum {
ITTransientStatusWindowAquaUtility
} ITTransientStatusWindowBackgroundType;
-typedef enum {
- ITTransientStatusWindowPositionTop,
- ITTransientStatusWindowPositionMiddle,
- ITTransientStatusWindowPositionBottom,
- ITTransientStatusWindowPositionLeft,
- ITTransientStatusWindowPositionCenter,
- ITTransientStatusWindowPositionRight,
- ITTransientStatusWindowOther
-} ITTransientStatusWindowPosition;
-
-typedef enum { // Note: Entry effects described here. Exit does the reverse.
- ITTransientStatusWindowEffectNone, // No effect, window just appears.
- ITTransientStatusWindowEffectDissolve, // Fades in.
- ITTransientStatusWindowEffectSlideVertically, // Slides vertically onto the screen from the nearest edge
- ITTransientStatusWindowEffectSlideHorizontally // Slides horizontally onto the screen from the nearest edge
-} ITTransientStatusWindowEffect;
-
-
-@interface ITTransientStatusWindow : NSWindow {
-
- ITTransientStatusWindowVisibilityState _visibilityState;
- ITTransientStatusWindowExitMode _exitMode;
- float _exitDelay;
- ITTransientStatusWindowBackgroundType _backgroundType;
- ITTransientStatusWindowEffect _entryEffect;
- ITTransientStatusWindowEffect _exitEffect;
- ITTransientStatusWindowPosition _verticalPosition;
- ITTransientStatusWindowPosition _horizontalPosition;
+@interface ITTransientStatusWindow : NSWindow <ITWindowPositioning> {
+
+ ITTransientStatusWindowVisibilityState _visibilityState;
+ ITTransientStatusWindowExitMode _exitMode;
+ float _exitDelay;
+ ITTransientStatusWindowBackgroundType _backgroundType;
+ ITWindowEffect *_entryEffect;
+ ITWindowEffect *_exitEffect;
+ ITVerticalWindowPosition _verticalPosition;
+ ITHorizontalWindowPosition _horizontalPosition;
+ float _screenPadding;
+ int _screenNumber;
+
+ BOOL _reallyIgnoresEvents;
NSTimer *_delayTimer;
- NSTimer *_fadeTimer;
// NSView *_contentSubView;
}
-+ (ITTransientStatusWindow *)sharedWindow;
++ (id)sharedWindow;
+
+- (id)initWithContentView:(NSView *)contentView
+ exitMode:(ITTransientStatusWindowExitMode)exitMode
+ backgroundType:(ITTransientStatusWindowBackgroundType)backgroundType;
- (ITTransientStatusWindowVisibilityState)visibilityState;
- (ITTransientStatusWindowBackgroundType)backgroundType;
- (void)setBackgroundType:(ITTransientStatusWindowBackgroundType)newType;
-- (ITTransientStatusWindowPosition)verticalPosition;
-- (void)setVerticalPosition:(ITTransientStatusWindowPosition)newPosition;
+- (ITVerticalWindowPosition)verticalPosition;
+- (void)setVerticalPosition:(ITVerticalWindowPosition)newPosition;
+
+- (ITHorizontalWindowPosition)horizontalPosition;
+- (void)setHorizontalPosition:(ITHorizontalWindowPosition)newPosition;
-- (ITTransientStatusWindowPosition)horizontalPosition;
-- (void)setHorizontalPosition:(ITTransientStatusWindowPosition)newPosition;
+- (ITWindowEffect *)entryEffect;
+- (void)setEntryEffect:(ITWindowEffect *)newEffect;
-- (ITTransientStatusWindowEffect)entryEffect;
-- (void)setEntryEffect:(ITTransientStatusWindowEffect)newEffect;
+- (ITWindowEffect *)exitEffect;
+- (void)setExitEffect:(ITWindowEffect *)newEffect;
-- (ITTransientStatusWindowEffect)exitEffect;
-- (void)setExitEffect:(ITTransientStatusWindowEffect)newEffect;
@end