X-Git-Url: http://git.ithinksw.org/ITKit.git/blobdiff_plain/dd9a7dd8dd7d77b949d2548fb763c9b968c69cea..650aa30b6ac73ecb0727ec4409f02bf90adf51f5:/ITTransientStatusWindow.h?ds=sidebyside diff --git a/ITTransientStatusWindow.h b/ITTransientStatusWindow.h old mode 100755 new mode 100644 index 9592601..da06c5c --- a/ITTransientStatusWindow.h +++ b/ITTransientStatusWindow.h @@ -1,94 +1,76 @@ /* * ITKit - * ITTransientStatusWindow - * NSWindow subclass for quick display of status information. - * Similar to volume/brightness/eject bezel key windows. + * ITTransientStatusWindow.h * - * Original Author : Kent Sutherland - * Original Author : Matt Judy - * Responsibility : Matt Judy - * Responsibility : Joseph Spiros + * NSWindow subclass for quick display of status information, similar to + * volume/brightness/eject bezel key windows. * - * Copyright (c) 2002 - 2003 iThink Software. - * All Rights Reserved + * Copyright (c) 2005 by iThink Software. + * All Rights Reserved. + * + * $Id$ * */ - #import +#import +#import - -#define DEFAULT_EXIT_DELAY 3.0 -#define DEFAULT_EFFECT_TIME 0.33 - +#define DEFAULT_EXIT_DELAY 3.0 @class ITTextField; @class ITGrayRoundedView; - -typedef enum { - ITTransientStatusWindowHiddenState, - ITTransientStatusWindowEnteringState, - ITTransientStatusWindowVisibleState, - ITTransientStatusWindowExitingState -} ITTransientStatusWindowVisibilityState; - typedef enum { - ITTransientStatusWindowExitOnOrderOut, - ITTransientStatusWindowExitAfterDelay, + ITTransientStatusWindowExitOnCommand, + ITTransientStatusWindowExitAfterDelay } ITTransientStatusWindowExitMode; typedef enum { - ITTransientStatusWindowNoBackground, - ITTransientStatusWindowRounded, - ITTransientStatusWindowSquare, - ITTransientStatusWindowMetal, - ITTransientStatusWindowMetalUtility, - ITTransientStatusWindowAquaUtility + ITTransientStatusWindowNoBackground, + ITTransientStatusWindowRounded, + ITTransientStatusWindowSquare, + ITTransientStatusWindowMetal, + ITTransientStatusWindowMetalUtility, + ITTransientStatusWindowAquaUtility } ITTransientStatusWindowBackgroundType; typedef enum { - ITTransientStatusWindowPositionTop, - ITTransientStatusWindowPositionMiddle, - ITTransientStatusWindowPositionBottom, - ITTransientStatusWindowPositionLeft, - ITTransientStatusWindowPositionCenter, - ITTransientStatusWindowPositionRight, - ITTransientStatusWindowOther -} ITTransientStatusWindowPosition; - -typedef enum { // Note: Entry effects described here. Exit does the reverse. - ITTransientStatusWindowEffectNone, // No effect, window just appears. - ITTransientStatusWindowEffectDissolve, // Fades in. - ITTransientStatusWindowEffectSlideVertically, // Slides vertically onto the screen from the nearest edge - ITTransientStatusWindowEffectSlideHorizontally // Slides horizontally onto the screen from the nearest edge - ITTransientStatusWindowEffectPivot // Rotate into place from perpendicular edge -} ITTransientStatusWindowEffect; - - -@interface ITTransientStatusWindow : NSWindow { - - ITTransientStatusWindowVisibilityState _visibilityState; - ITTransientStatusWindowExitMode _exitMode; - float _exitDelay; - ITTransientStatusWindowBackgroundType _backgroundType; - ITTransientStatusWindowEffect _entryEffect; - ITTransientStatusWindowEffect _exitEffect; - float _effectTime; - ITTransientStatusWindowPosition _verticalPosition; - ITTransientStatusWindowPosition _horizontalPosition; - - BOOL _reallyIgnoresEvents; - - NSTimer *_delayTimer; - NSTimer *_fadeTimer; - -// NSView *_contentSubView; + ITTransientStatusWindowRegular, + ITTransientStatusWindowSmall, + ITTransientStatusWindowMini +} ITTransientStatusWindowSizing; + +@interface ITTransientStatusWindow : NSWindow { + ITWindowVisibilityState _visibilityState; + ITTransientStatusWindowExitMode _exitMode; + float _exitDelay; + ITTransientStatusWindowBackgroundType _backgroundType; + ITWindowEffect *_entryEffect; + ITWindowEffect *_exitEffect; + double _effectProgress; + ITVerticalWindowPosition _verticalPosition; + ITHorizontalWindowPosition _horizontalPosition; + ITTransientStatusWindowSizing _sizing; + float _screenPadding; + NSScreen *_screen; + BOOL _reallyIgnoresEvents; + NSTimer *_exitTimer; + NSView *_contentSubView; } + (ITTransientStatusWindow *)sharedWindow; -- (ITTransientStatusWindowVisibilityState)visibilityState; +- (id)initWithContentView:(NSView *)contentView exitMode:(ITTransientStatusWindowExitMode)exitMode backgroundType:(ITTransientStatusWindowBackgroundType)backgroundType; + +- (void)appear:(id)sender; +- (void)vanish:(id)sender; + +- (void)setSizing:(ITTransientStatusWindowSizing)newSizing; +- (ITTransientStatusWindowSizing)sizing; + +- (ITWindowVisibilityState)visibilityState; +- (void)setVisibilityState:(ITWindowVisibilityState)newState; - (ITTransientStatusWindowExitMode)exitMode; - (void)setExitMode:(ITTransientStatusWindowExitMode)newMode; @@ -99,19 +81,13 @@ typedef enum { // Note: Entry effects descri - (ITTransientStatusWindowBackgroundType)backgroundType; - (void)setBackgroundType:(ITTransientStatusWindowBackgroundType)newType; -- (ITTransientStatusWindowPosition)verticalPosition; -- (void)setVerticalPosition:(ITTransientStatusWindowPosition)newPosition; - -- (ITTransientStatusWindowPosition)horizontalPosition; -- (void)setHorizontalPosition:(ITTransientStatusWindowPosition)newPosition; - -- (ITTransientStatusWindowEffect)entryEffect; -- (void)setEntryEffect:(ITTransientStatusWindowEffect)newEffect; - -- (ITTransientStatusWindowEffect)exitEffect; -- (void)setExitEffect:(ITTransientStatusWindowEffect)newEffect; +- (float)effectProgress; +- (void)setEffectProgress:(float)newProgress; -- (void)setRotation:(float)angle; +- (ITWindowEffect *)entryEffect; +- (void)setEntryEffect:(ITWindowEffect *)newEffect; +- (ITWindowEffect *)exitEffect; +- (void)setExitEffect:(ITWindowEffect *)newEffect; -@end +@end \ No newline at end of file