3 * ITTransientStatusWindow
4 * NSWindow subclass for quick display of status information.
5 * Similar to volume/brightness/eject bezel key windows.
7 * Original Author : Matt Judy <mjudy@ithinksw.com>
8 * Responsibility : Matt Judy <mjudy@ithinksw.com>
9 * Responsibility : Joseph Spiros <joseph.spiros@ithinksw.com>
10 * Contributor : Kent Sutherland <joseph.spiros@ithinksw.com>
12 * Copyright (c) 2002 - 2003 iThink Software.
18 #import <Cocoa/Cocoa.h>
19 #import "ITWindowPositioning.h"
20 #import "ITWindowEffect.h"
22 #define DEFAULT_EXIT_DELAY 3.0
26 @class ITGrayRoundedView;
27 @class ITWindowEffect;
31 ITTransientStatusWindowExitOnCommand,
32 ITTransientStatusWindowExitAfterDelay,
33 } ITTransientStatusWindowExitMode;
37 ITTransientStatusWindowNoBackground,
38 ITTransientStatusWindowRounded,
39 ITTransientStatusWindowSquare,
40 ITTransientStatusWindowMetal,
41 ITTransientStatusWindowMetalUtility,
42 ITTransientStatusWindowAquaUtility
43 } ITTransientStatusWindowBackgroundType;
46 @interface ITTransientStatusWindow : NSWindow <ITWindowPositioning , ITWindowVisibility> {
48 ITWindowVisibilityState _visibilityState;
49 ITTransientStatusWindowExitMode _exitMode;
51 ITTransientStatusWindowBackgroundType _backgroundType;
52 ITWindowEffect *_entryEffect;
53 ITWindowEffect *_exitEffect;
54 ITVerticalWindowPosition _verticalPosition;
55 ITHorizontalWindowPosition _horizontalPosition;
59 BOOL _reallyIgnoresEvents;
63 // NSView *_contentSubView;
68 - (id)initWithContentView:(NSView *)contentView
69 exitMode:(ITTransientStatusWindowExitMode)exitMode
70 backgroundType:(ITTransientStatusWindowBackgroundType)backgroundType;
72 - (void)appear:(id)sender;
73 - (void)vanish:(id)sender;
75 - (ITWindowVisibilityState)visibilityState;
76 - (void)setVisibilityState:(ITWindowVisibilityState)newState;
78 - (ITTransientStatusWindowExitMode)exitMode;
79 - (void)setExitMode:(ITTransientStatusWindowExitMode)newMode;
82 - (void)setExitDelay:(float)seconds;
84 - (ITTransientStatusWindowBackgroundType)backgroundType;
85 - (void)setBackgroundType:(ITTransientStatusWindowBackgroundType)newType;
87 - (ITVerticalWindowPosition)verticalPosition;
88 - (void)setVerticalPosition:(ITVerticalWindowPosition)newPosition;
90 - (ITHorizontalWindowPosition)horizontalPosition;
91 - (void)setHorizontalPosition:(ITHorizontalWindowPosition)newPosition;
93 - (ITWindowEffect *)entryEffect;
94 - (void)setEntryEffect:(ITWindowEffect *)newEffect;
96 - (ITWindowEffect *)exitEffect;
97 - (void)setExitEffect:(ITWindowEffect *)newEffect;