X-Git-Url: http://git.ithinksw.org/ITKit.git/blobdiff_plain/dd9a7dd8dd7d77b949d2548fb763c9b968c69cea..7258eefd9885c903817ec277fe611aff4b0ff5c6:/ITTransientStatusWindow.h diff --git a/ITTransientStatusWindow.h b/ITTransientStatusWindow.h index 9592601..52e96d7 100755 --- a/ITTransientStatusWindow.h +++ b/ITTransientStatusWindow.h @@ -16,21 +16,22 @@ #import +#import "ITWindowPositioning.h" #define DEFAULT_EXIT_DELAY 3.0 -#define DEFAULT_EFFECT_TIME 0.33 @class ITTextField; @class ITGrayRoundedView; +@class ITWindowEffect; typedef enum { ITTransientStatusWindowHiddenState, - ITTransientStatusWindowEnteringState, + ITTransientStatusWindowAppearingState, ITTransientStatusWindowVisibleState, - ITTransientStatusWindowExitingState + ITTransientStatusWindowVanishingState } ITTransientStatusWindowVisibilityState; typedef enum { @@ -47,46 +48,31 @@ typedef enum { 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 { +@interface ITTransientStatusWindow : NSWindow { ITTransientStatusWindowVisibilityState _visibilityState; ITTransientStatusWindowExitMode _exitMode; float _exitDelay; ITTransientStatusWindowBackgroundType _backgroundType; - ITTransientStatusWindowEffect _entryEffect; - ITTransientStatusWindowEffect _exitEffect; - float _effectTime; - ITTransientStatusWindowPosition _verticalPosition; - ITTransientStatusWindowPosition _horizontalPosition; + ITWindowEffect *_entryEffect; + ITWindowEffect *_exitEffect; + ITVerticalWindowPosition _verticalPosition; + ITHorizontalWindowPosition _horizontalPosition; + float _screenPadding; + int _screenNumber; BOOL _reallyIgnoresEvents; NSTimer *_delayTimer; - NSTimer *_fadeTimer; // NSView *_contentSubView; } -+ (ITTransientStatusWindow *)sharedWindow; ++ (id)sharedWindow; + +- (id)initWithContentView:(NSView *)contentView + exitMode:(ITTransientStatusWindowExitMode)exitMode + backgroundType:(ITTransientStatusWindowBackgroundType)backgroundType; - (ITTransientStatusWindowVisibilityState)visibilityState; @@ -99,19 +85,17 @@ typedef enum { // Note: Entry effects descri - (ITTransientStatusWindowBackgroundType)backgroundType; - (void)setBackgroundType:(ITTransientStatusWindowBackgroundType)newType; -- (ITTransientStatusWindowPosition)verticalPosition; -- (void)setVerticalPosition:(ITTransientStatusWindowPosition)newPosition; - -- (ITTransientStatusWindowPosition)horizontalPosition; -- (void)setHorizontalPosition:(ITTransientStatusWindowPosition)newPosition; +- (ITVerticalWindowPosition)verticalPosition; +- (void)setVerticalPosition:(ITVerticalWindowPosition)newPosition; -- (ITTransientStatusWindowEffect)entryEffect; -- (void)setEntryEffect:(ITTransientStatusWindowEffect)newEffect; +- (ITHorizontalWindowPosition)horizontalPosition; +- (void)setHorizontalPosition:(ITHorizontalWindowPosition)newPosition; -- (ITTransientStatusWindowEffect)exitEffect; -- (void)setExitEffect:(ITTransientStatusWindowEffect)newEffect; +- (ITWindowEffect *)entryEffect; +- (void)setEntryEffect:(ITWindowEffect *)newEffect; -- (void)setRotation:(float)angle; +- (ITWindowEffect *)exitEffect; +- (void)setExitEffect:(ITWindowEffect *)newEffect; @end