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 by iThink Software.
15 #import <Cocoa/Cocoa.h>
16 #import <ITKit/ITWindowPositioning.h>
17 #import <ITKit/ITWindowEffect.h>
19 #define DEFAULT_EXIT_DELAY 3.0
22 @class ITGrayRoundedView;
25 ITTransientStatusWindowExitOnCommand,
26 ITTransientStatusWindowExitAfterDelay
27 } ITTransientStatusWindowExitMode;
30 ITTransientStatusWindowNoBackground,
31 ITTransientStatusWindowRounded,
32 ITTransientStatusWindowSquare,
33 ITTransientStatusWindowMetal,
34 ITTransientStatusWindowMetalUtility,
35 ITTransientStatusWindowAquaUtility
36 } ITTransientStatusWindowBackgroundType;
39 ITTransientStatusWindowRegular,
40 ITTransientStatusWindowSmall,
41 ITTransientStatusWindowMini
42 } ITTransientStatusWindowSizing;
44 @interface ITTransientStatusWindow : NSWindow <ITWindowPositioning, ITWindowMotility> {
45 ITWindowVisibilityState _visibilityState;
46 ITTransientStatusWindowExitMode _exitMode;
48 ITTransientStatusWindowBackgroundType _backgroundType;
49 ITWindowEffect *_entryEffect;
50 ITWindowEffect *_exitEffect;
51 double _effectProgress;
52 ITVerticalWindowPosition _verticalPosition;
53 ITHorizontalWindowPosition _horizontalPosition;
54 ITTransientStatusWindowSizing _sizing;
57 BOOL _reallyIgnoresEvents;
59 NSView *_contentSubView;
62 + (ITTransientStatusWindow *)sharedWindow;
64 - (id)initWithContentView:(NSView *)contentView exitMode:(ITTransientStatusWindowExitMode)exitMode backgroundType:(ITTransientStatusWindowBackgroundType)backgroundType;
66 - (void)appear:(id)sender;
67 - (void)vanish:(id)sender;
69 - (void)setSizing:(ITTransientStatusWindowSizing)newSizing;
70 - (ITTransientStatusWindowSizing)sizing;
72 - (ITWindowVisibilityState)visibilityState;
73 - (void)setVisibilityState:(ITWindowVisibilityState)newState;
75 - (ITTransientStatusWindowExitMode)exitMode;
76 - (void)setExitMode:(ITTransientStatusWindowExitMode)newMode;
79 - (void)setExitDelay:(float)seconds;
81 - (ITTransientStatusWindowBackgroundType)backgroundType;
82 - (void)setBackgroundType:(ITTransientStatusWindowBackgroundType)newType;
84 - (float)effectProgress;
85 - (void)setEffectProgress:(float)newProgress;
87 - (ITWindowEffect *)entryEffect;
88 - (void)setEntryEffect:(ITWindowEffect *)newEffect;
90 - (ITWindowEffect *)exitEffect;
91 - (void)setExitEffect:(ITWindowEffect *)newEffect;