3 * ITTransientStatusWindow.h
5 * NSWindow subclass for quick display of status information, similar to
6 * volume/brightness/eject bezel key windows.
8 * Copyright (c) 2005 iThink Software
12 #import <Cocoa/Cocoa.h>
13 #import <ITKit/ITWindowPositioning.h>
14 #import <ITKit/ITWindowEffect.h>
16 #define DEFAULT_EXIT_DELAY 3.0
19 @class ITGrayRoundedView;
22 ITTransientStatusWindowExitOnCommand,
23 ITTransientStatusWindowExitAfterDelay
24 } ITTransientStatusWindowExitMode;
27 ITTransientStatusWindowNoBackground,
28 ITTransientStatusWindowRounded,
29 ITTransientStatusWindowSquare,
30 ITTransientStatusWindowMetal,
31 ITTransientStatusWindowMetalUtility,
32 ITTransientStatusWindowAquaUtility
33 } ITTransientStatusWindowBackgroundType;
36 ITTransientStatusWindowRegular,
37 ITTransientStatusWindowSmall,
38 ITTransientStatusWindowMini
39 } ITTransientStatusWindowSizing;
41 @interface ITTransientStatusWindow : NSWindow <ITWindowPositioning, ITWindowMotility> {
42 ITWindowVisibilityState _visibilityState;
43 ITTransientStatusWindowExitMode _exitMode;
45 ITTransientStatusWindowBackgroundType _backgroundType;
46 ITWindowEffect *_entryEffect;
47 ITWindowEffect *_exitEffect;
48 double _effectProgress;
49 ITVerticalWindowPosition _verticalPosition;
50 ITHorizontalWindowPosition _horizontalPosition;
51 ITTransientStatusWindowSizing _sizing;
54 BOOL _reallyIgnoresEvents;
56 NSView *_contentSubView;
59 + (ITTransientStatusWindow *)sharedWindow;
61 - (id)initWithContentView:(NSView *)contentView exitMode:(ITTransientStatusWindowExitMode)exitMode backgroundType:(ITTransientStatusWindowBackgroundType)backgroundType;
63 - (void)appear:(id)sender;
64 - (void)vanish:(id)sender;
66 - (void)setSizing:(ITTransientStatusWindowSizing)newSizing;
67 - (ITTransientStatusWindowSizing)sizing;
69 - (ITWindowVisibilityState)visibilityState;
70 - (void)setVisibilityState:(ITWindowVisibilityState)newState;
72 - (ITTransientStatusWindowExitMode)exitMode;
73 - (void)setExitMode:(ITTransientStatusWindowExitMode)newMode;
76 - (void)setExitDelay:(float)seconds;
78 - (ITTransientStatusWindowBackgroundType)backgroundType;
79 - (void)setBackgroundType:(ITTransientStatusWindowBackgroundType)newType;
81 - (float)effectProgress;
82 - (void)setEffectProgress:(float)newProgress;
84 - (ITWindowEffect *)entryEffect;
85 - (void)setEntryEffect:(ITWindowEffect *)newEffect;
87 - (ITWindowEffect *)exitEffect;
88 - (void)setExitEffect:(ITWindowEffect *)newEffect;