3 * ITTransientStatusWindow
4 * NSWindow subclass for quick display of status information.
5 * Similar to volume/brightness/eject bezel key windows.
7 * Original Author : Matthew Judy <mjudy@ithinksw.com>
8 * Responsibility : Matthew Judy <mjudy@ithinksw.com>
9 * Responsibility : Joseph Spiros <joseph.spiros@ithinksw.com>
10 * Contributor : Kent Sutherland <kent.sutherland@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 ITTransientStatusWindowRegular,
47 ITTransientStatusWindowSmall,
48 ITTransientStatusWindowMini
49 } ITTransientStatusWindowSizing;
51 @interface ITTransientStatusWindow : NSWindow <ITWindowPositioning , ITWindowMotility> {
53 ITWindowVisibilityState _visibilityState;
54 ITTransientStatusWindowExitMode _exitMode;
56 ITTransientStatusWindowBackgroundType _backgroundType;
57 ITWindowEffect *_entryEffect;
58 ITWindowEffect *_exitEffect;
59 double _effectProgress;
60 ITVerticalWindowPosition _verticalPosition;
61 ITHorizontalWindowPosition _horizontalPosition;
62 ITTransientStatusWindowSizing _sizing;
66 BOOL _reallyIgnoresEvents;
70 NSView *_contentSubView;
75 - (id)initWithContentView:(NSView *)contentView
76 exitMode:(ITTransientStatusWindowExitMode)exitMode
77 backgroundType:(ITTransientStatusWindowBackgroundType)backgroundType;
79 - (void)appear:(id)sender;
80 - (void)vanish:(id)sender;
82 - (void)setSizing:(ITTransientStatusWindowSizing)newSizing;
83 - (ITTransientStatusWindowSizing)sizing;
85 - (ITWindowVisibilityState)visibilityState;
86 - (void)setVisibilityState:(ITWindowVisibilityState)newState;
88 - (ITTransientStatusWindowExitMode)exitMode;
89 - (void)setExitMode:(ITTransientStatusWindowExitMode)newMode;
92 - (void)setExitDelay:(float)seconds;
94 - (ITTransientStatusWindowBackgroundType)backgroundType;
95 - (void)setBackgroundType:(ITTransientStatusWindowBackgroundType)newType;
97 - (ITVerticalWindowPosition)verticalPosition;
98 - (void)setVerticalPosition:(ITVerticalWindowPosition)newPosition;
100 - (ITHorizontalWindowPosition)horizontalPosition;
101 - (void)setHorizontalPosition:(ITHorizontalWindowPosition)newPosition;
103 - (float)effectProgress;
104 - (void)setEffectProgress:(float)newProgress;
106 - (ITWindowEffect *)entryEffect;
107 - (void)setEntryEffect:(ITWindowEffect *)newEffect;
109 - (ITWindowEffect *)exitEffect;
110 - (void)setExitEffect:(ITWindowEffect *)newEffect;