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>
21 #define DEFAULT_EXIT_DELAY 3.0
22 #define DEFAULT_EFFECT_TIME 0.75
26 @class ITGrayRoundedView;
27 @class ITWindowEffect;
31 ITTransientStatusWindowHiddenState,
32 ITTransientStatusWindowEnteringState,
33 ITTransientStatusWindowVisibleState,
34 ITTransientStatusWindowExitingState
35 } ITTransientStatusWindowVisibilityState;
38 ITTransientStatusWindowExitOnOrderOut,
39 ITTransientStatusWindowExitAfterDelay,
40 } ITTransientStatusWindowExitMode;
43 ITTransientStatusWindowNoBackground,
44 ITTransientStatusWindowRounded,
45 ITTransientStatusWindowSquare,
46 ITTransientStatusWindowMetal,
47 ITTransientStatusWindowMetalUtility,
48 ITTransientStatusWindowAquaUtility
49 } ITTransientStatusWindowBackgroundType;
52 ITTransientStatusWindowPositionTop,
53 ITTransientStatusWindowPositionMiddle,
54 ITTransientStatusWindowPositionBottom,
55 ITTransientStatusWindowPositionLeft,
56 ITTransientStatusWindowPositionCenter,
57 ITTransientStatusWindowPositionRight,
58 ITTransientStatusWindowOther
59 } ITTransientStatusWindowPosition;
61 @interface ITTransientStatusWindow : NSWindow {
63 ITTransientStatusWindowVisibilityState _visibilityState;
64 ITTransientStatusWindowExitMode _exitMode;
66 ITTransientStatusWindowBackgroundType _backgroundType;
67 ITWindowEffect *_entryEffect;
68 ITWindowEffect *_exitEffect;
70 double _effectProgress;
71 ITTransientStatusWindowPosition _verticalPosition;
72 ITTransientStatusWindowPosition _horizontalPosition;
75 BOOL _reallyIgnoresEvents;
78 NSTimer *_effectTimer;
80 // NSView *_contentSubView;
85 - (id)initWithContentView:(NSView *)contentView
86 exitMode:(ITTransientStatusWindowExitMode)exitMode
87 backgroundType:(ITTransientStatusWindowBackgroundType)backgroundType;
89 - (ITTransientStatusWindowVisibilityState)visibilityState;
91 - (ITTransientStatusWindowExitMode)exitMode;
92 - (void)setExitMode:(ITTransientStatusWindowExitMode)newMode;
95 - (void)setExitDelay:(float)seconds;
97 - (ITTransientStatusWindowBackgroundType)backgroundType;
98 - (void)setBackgroundType:(ITTransientStatusWindowBackgroundType)newType;
100 - (ITTransientStatusWindowPosition)verticalPosition;
101 - (void)setVerticalPosition:(ITTransientStatusWindowPosition)newPosition;
103 - (ITTransientStatusWindowPosition)horizontalPosition;
104 - (void)setHorizontalPosition:(ITTransientStatusWindowPosition)newPosition;
106 - (ITWindowEffect *)entryEffect;
107 - (void)setEntryEffect:(ITWindowEffect *)newEffect;
109 - (ITWindowEffect *)exitEffect;
110 - (void)setExitEffect:(ITWindowEffect *)newEffect;