3 * ITTransientStatusWindow
4 * NSWindow subclass for quick display of status information.
5 * Similar to volume/brightness/eject bezel key windows.
7 * Original Author : Kent Sutherland <joseph.spiros@ithinksw.com>
8 * Original Author : Matt Judy <mjudy@ithinksw.com>
9 * Responsibility : Matt Judy <mjudy@ithinksw.com>
10 * Responsibility : Joseph Spiros <joseph.spiros@ithinksw.com>
12 * Copyright (c) 2002 - 2003 iThink Software.
18 #import <Cocoa/Cocoa.h>
19 #import "ITWindowPositioning.h"
22 #define DEFAULT_EXIT_DELAY 3.0
26 @class ITGrayRoundedView;
27 @class ITWindowEffect;
31 ITTransientStatusWindowHiddenState,
32 ITTransientStatusWindowAppearingState,
33 ITTransientStatusWindowVisibleState,
34 ITTransientStatusWindowVanishingState
35 } ITTransientStatusWindowVisibilityState;
38 ITTransientStatusWindowExitOnOrderOut,
39 ITTransientStatusWindowExitAfterDelay,
40 } ITTransientStatusWindowExitMode;
43 ITTransientStatusWindowNoBackground,
44 ITTransientStatusWindowRounded,
45 ITTransientStatusWindowSquare,
46 ITTransientStatusWindowMetal,
47 ITTransientStatusWindowMetalUtility,
48 ITTransientStatusWindowAquaUtility
49 } ITTransientStatusWindowBackgroundType;
51 @interface ITTransientStatusWindow : NSWindow <ITWindowPositioning> {
53 ITTransientStatusWindowVisibilityState _visibilityState;
54 ITTransientStatusWindowExitMode _exitMode;
56 ITTransientStatusWindowBackgroundType _backgroundType;
57 ITWindowEffect *_entryEffect;
58 ITWindowEffect *_exitEffect;
59 ITVerticalWindowPosition _verticalPosition;
60 ITHorizontalWindowPosition _horizontalPosition;
64 BOOL _reallyIgnoresEvents;
68 // NSView *_contentSubView;
73 - (id)initWithContentView:(NSView *)contentView
74 exitMode:(ITTransientStatusWindowExitMode)exitMode
75 backgroundType:(ITTransientStatusWindowBackgroundType)backgroundType;
77 - (ITTransientStatusWindowVisibilityState)visibilityState;
79 - (ITTransientStatusWindowExitMode)exitMode;
80 - (void)setExitMode:(ITTransientStatusWindowExitMode)newMode;
83 - (void)setExitDelay:(float)seconds;
85 - (ITTransientStatusWindowBackgroundType)backgroundType;
86 - (void)setBackgroundType:(ITTransientStatusWindowBackgroundType)newType;
88 - (ITVerticalWindowPosition)verticalPosition;
89 - (void)setVerticalPosition:(ITVerticalWindowPosition)newPosition;
91 - (ITHorizontalWindowPosition)horizontalPosition;
92 - (void)setHorizontalPosition:(ITHorizontalWindowPosition)newPosition;
94 - (ITWindowEffect *)entryEffect;
95 - (void)setEntryEffect:(ITWindowEffect *)newEffect;
97 - (ITWindowEffect *)exitEffect;
98 - (void)setExitEffect:(ITWindowEffect *)newEffect;