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
25 ITTransientStatusWindowHiddenState,
26 ITTransientStatusWindowEnteringState,
27 ITTransientStatusWindowVisibleState,
28 ITTransientStatusWindowExitingState
29 } ITTransientStatusWindowVisibilityState;
32 ITTransientStatusWindowExitOnOrderOut,
33 ITTransientStatusWindowExitAfterDelay,
34 } ITTransientStatusWindowExitMode;
37 ITTransientStatusWindowNoBackground,
38 ITTransientStatusWindowRounded,
39 ITTransientStatusWindowSquare,
40 ITTransientStatusWindowMetal,
41 ITTransientStatusWindowMetalUtility,
42 ITTransientStatusWindowAquaUtility
43 } ITTransientStatusWindowBackgroundType;
46 ITTransientStatusWindowPositionTop,
47 ITTransientStatusWindowPositionMiddle,
48 ITTransientStatusWindowPositionBottom,
49 ITTransientStatusWindowPositionLeft,
50 ITTransientStatusWindowPositionCenter,
51 ITTransientStatusWindowPositionRight,
52 ITTransientStatusWindowOther
53 } ITTransientStatusWindowPosition;
55 typedef enum { // Note: Entry effects described here. Exit does the reverse.
56 ITTransientStatusWindowEffectNone, // No effect, window just appears.
57 ITTransientStatusWindowEffectDissolve, // Fades in.
58 ITTransientStatusWindowEffectSlideVertically, // Slides vertically onto the screen from the nearest edge
59 ITTransientStatusWindowEffectSlideHorizontally // Slides horizontally onto the screen from the nearest edge
60 } ITTransientStatusWindowEffect;
63 @interface ITTransientStatusWindow : NSWindow {
65 ITTransientStatusWindowVisibilityState _visibilityState;
66 ITTransientStatusWindowExitMode _exitMode;
68 ITTransientStatusWindowBackgroundType _backgroundType;
69 ITTransientStatusWindowEffect _entryEffect;
70 ITTransientStatusWindowEffect _exitEffect;
71 ITTransientStatusWindowPosition _verticalPosition;
72 ITTransientStatusWindowPosition _horizontalPosition;
77 // NSView *_contentSubView;
80 + (ITTransientStatusWindow *)sharedWindow;
82 - (ITTransientStatusWindowVisibilityState)visibilityState;
84 - (ITTransientStatusWindowExitMode)exitMode;
85 - (void)setExitMode:(ITTransientStatusWindowExitMode)newMode;
88 - (void)setExitDelay:(float)seconds;
90 - (ITTransientStatusWindowBackgroundType)backgroundType;
91 - (void)setBackgroundType:(ITTransientStatusWindowBackgroundType)newType;
93 - (ITTransientStatusWindowPosition)verticalPosition;
94 - (void)setVerticalPosition:(ITTransientStatusWindowPosition)newPosition;
96 - (ITTransientStatusWindowPosition)horizontalPosition;
97 - (void)setHorizontalPosition:(ITTransientStatusWindowPosition)newPosition;
99 - (ITTransientStatusWindowEffect)entryEffect;
100 - (void)setEntryEffect:(ITTransientStatusWindowEffect)newEffect;
102 - (ITTransientStatusWindowEffect)exitEffect;
103 - (void)setExitEffect:(ITTransientStatusWindowEffect)newEffect;