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>
22 @class ITGrayRoundedView;
25 #define DEFAULT_EXIT_DELAY 3.0
29 ITTransientStatusWindowHiddenState,
30 ITTransientStatusWindowEnteringState,
31 ITTransientStatusWindowVisibleState,
32 ITTransientStatusWindowExitingState
33 } ITTransientStatusWindowVisibilityState;
36 ITTransientStatusWindowExitOnOrderOut,
37 ITTransientStatusWindowExitAfterDelay,
38 } ITTransientStatusWindowExitMode;
41 ITTransientStatusWindowNoBackground,
42 ITTransientStatusWindowRounded,
43 ITTransientStatusWindowSquare,
44 ITTransientStatusWindowMetal,
45 ITTransientStatusWindowMetalUtility,
46 ITTransientStatusWindowAquaUtility
47 } ITTransientStatusWindowBackgroundType;
50 ITTransientStatusWindowPositionTop,
51 ITTransientStatusWindowPositionMiddle,
52 ITTransientStatusWindowPositionBottom,
53 ITTransientStatusWindowPositionLeft,
54 ITTransientStatusWindowPositionCenter,
55 ITTransientStatusWindowPositionRight,
56 ITTransientStatusWindowOther
57 } ITTransientStatusWindowPosition;
59 typedef enum { // Note: Entry effects described here. Exit does the reverse.
60 ITTransientStatusWindowEffectNone, // No effect, window just appears.
61 ITTransientStatusWindowEffectDissolve, // Fades in.
62 ITTransientStatusWindowEffectSlideVertically, // Slides vertically onto the screen from the nearest edge
63 ITTransientStatusWindowEffectSlideHorizontally // Slides horizontally onto the screen from the nearest edge
64 } ITTransientStatusWindowEffect;
67 @interface ITTransientStatusWindow : NSWindow {
69 ITTransientStatusWindowVisibilityState _visibilityState;
70 ITTransientStatusWindowExitMode _exitMode;
72 ITTransientStatusWindowBackgroundType _backgroundType;
73 ITTransientStatusWindowEffect _entryEffect;
74 ITTransientStatusWindowEffect _exitEffect;
75 ITTransientStatusWindowPosition _verticalPosition;
76 ITTransientStatusWindowPosition _horizontalPosition;
81 // NSView *_contentSubView;
84 + (ITTransientStatusWindow *)sharedWindow;
86 - (ITTransientStatusWindowVisibilityState)visibilityState;
88 - (ITTransientStatusWindowExitMode)exitMode;
89 - (void)setExitMode:(ITTransientStatusWindowExitMode)newMode;
92 - (void)setExitDelay:(float)seconds;
94 - (ITTransientStatusWindowBackgroundType)backgroundType;
95 - (void)setBackgroundType:(ITTransientStatusWindowBackgroundType)newType;
97 - (ITTransientStatusWindowPosition)verticalPosition;
98 - (void)setVerticalPosition:(ITTransientStatusWindowPosition)newPosition;
100 - (ITTransientStatusWindowPosition)horizontalPosition;
101 - (void)setHorizontalPosition:(ITTransientStatusWindowPosition)newPosition;
103 - (ITTransientStatusWindowEffect)entryEffect;
104 - (void)setEntryEffect:(ITTransientStatusWindowEffect)newEffect;
106 - (ITTransientStatusWindowEffect)exitEffect;
107 - (void)setExitEffect:(ITTransientStatusWindowEffect)newEffect;