* 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>
+ * Original Author : Matthew Judy <mjudy@ithinksw.com>
+ * Responsibility : Matthew Judy <mjudy@ithinksw.com>
* Responsibility : Joseph Spiros <joseph.spiros@ithinksw.com>
+ * Contributor : Kent Sutherland <kent.sutherland@ithinksw.com>
*
* Copyright (c) 2002 - 2003 iThink Software.
* All Rights Reserved
#import <Cocoa/Cocoa.h>
#import "ITWindowPositioning.h"
-
+#import "ITWindowEffect.h"
#define DEFAULT_EXIT_DELAY 3.0
typedef enum {
- ITTransientStatusWindowHiddenState,
- ITTransientStatusWindowAppearingState,
- ITTransientStatusWindowVisibleState,
- ITTransientStatusWindowVanishingState
-} ITTransientStatusWindowVisibilityState;
-
-typedef enum {
- ITTransientStatusWindowExitOnOrderOut,
+ ITTransientStatusWindowExitOnCommand,
ITTransientStatusWindowExitAfterDelay,
} ITTransientStatusWindowExitMode;
+
typedef enum {
ITTransientStatusWindowNoBackground,
ITTransientStatusWindowRounded,
ITTransientStatusWindowAquaUtility
} ITTransientStatusWindowBackgroundType;
-@interface ITTransientStatusWindow : NSWindow <ITWindowPositioning> {
+typedef enum {
+ ITTransientStatusWindowRegular,
+ ITTransientStatusWindowSmall,
+ ITTransientStatusWindowMini
+} ITTransientStatusWindowSizing;
- ITTransientStatusWindowVisibilityState _visibilityState;
+@interface ITTransientStatusWindow : NSWindow <ITWindowPositioning , ITWindowMotility> {
+
+ ITWindowVisibilityState _visibilityState;
ITTransientStatusWindowExitMode _exitMode;
float _exitDelay;
ITTransientStatusWindowBackgroundType _backgroundType;
ITWindowEffect *_entryEffect;
ITWindowEffect *_exitEffect;
+ double _effectProgress;
ITVerticalWindowPosition _verticalPosition;
ITHorizontalWindowPosition _horizontalPosition;
+ ITTransientStatusWindowSizing _sizing;
float _screenPadding;
- int _screenNumber;
+// int _screenNumber;
BOOL _reallyIgnoresEvents;
- NSTimer *_delayTimer;
+ NSTimer *_exitTimer;
-// NSView *_contentSubView;
+ NSView *_contentSubView;
}
+ (id)sharedWindow;
exitMode:(ITTransientStatusWindowExitMode)exitMode
backgroundType:(ITTransientStatusWindowBackgroundType)backgroundType;
-- (ITTransientStatusWindowVisibilityState)visibilityState;
+- (void)appear:(id)sender;
+- (void)vanish:(id)sender;
+
+- (void)setSizing:(ITTransientStatusWindowSizing)newSizing;
+- (ITTransientStatusWindowSizing)sizing;
+
+- (ITWindowVisibilityState)visibilityState;
+- (void)setVisibilityState:(ITWindowVisibilityState)newState;
- (ITTransientStatusWindowExitMode)exitMode;
- (void)setExitMode:(ITTransientStatusWindowExitMode)newMode;
- (ITHorizontalWindowPosition)horizontalPosition;
- (void)setHorizontalPosition:(ITHorizontalWindowPosition)newPosition;
+- (float)effectProgress;
+- (void)setEffectProgress:(float)newProgress;
+
- (ITWindowEffect *)entryEffect;
- (void)setEntryEffect:(ITWindowEffect *)newEffect;