X-Git-Url: http://git.ithinksw.org/ITKit.git/blobdiff_plain/b25a3298676bd85e313a4707b6cc3051405bbcfd..HEAD:/ITTransientStatusWindow.m diff --git a/ITTransientStatusWindow.m b/ITTransientStatusWindow.m old mode 100755 new mode 100644 index 6eedb93..24aa83b --- a/ITTransientStatusWindow.m +++ b/ITTransientStatusWindow.m @@ -1,9 +1,9 @@ #import "ITTransientStatusWindow.h" #import "ITWindowEffect.h" -#import +#import #import "ITCoreGraphicsHacks.h" #import "ITTextField.h" -#import "ITGrayRoundedView.h" +#import "ITTSWBackgroundView.h" #define EFFECT_FPS 30.0 @@ -81,11 +81,12 @@ static ITTransientStatusWindow *staticWindow = nil; _verticalPosition = ITWindowPositionBottom; _horizontalPosition = ITWindowPositionLeft; _screenPadding = 32.0; - _screenNumber = 0; + //_screenNumber = 0; _entryEffect = nil; _exitEffect = nil; _reallyIgnoresEvents = YES; _exitTimer = nil; + [self setScreen:[NSScreen mainScreen]]; // if ( _backgroundType == ITTransientStatusWindowRounded ) { // _contentSubView = contentView; @@ -101,31 +102,46 @@ static ITTransientStatusWindow *staticWindow = nil; return self; } +- (void)dealloc +{ + [_screen release]; + [super dealloc]; +} /*************************************************************************/ #pragma mark - #pragma mark INSTANCE METHODS /*************************************************************************/ -- (BOOL)ignoresMouseEvents +/*- (BOOL)ignoresMouseEvents { return _reallyIgnoresEvents; } - (void)setIgnoresMouseEvents:(BOOL)flag { - CGSValueObj key; - CGSValueObj ignore; + //CGSValueObj key; + //CGSValueObj ignore; + CGSWindowTag tags; key = CGSCreateCString("IgnoreForEvents"); ignore = CGSCreateBoolean( (flag ? kCGSTrue : kCGSFalse) ); CGSSetWindowProperty([NSApp contextID], (CGSWindowID)[self windowNumber], key, ignore); CGSReleaseObj(key); CGSReleaseObj(ignore); + + CGSGetWindowTags([NSApp contextID], (CGSWindowID)[self windowNumber], &tags, 32); - _reallyIgnoresEvents = flag; -} + if (flag) { + tags = tags | CGSTagTransparent; + } else { + tags = tags & CGSTagTransparent; + } +NSLog(@"ignore? %i", flag); + CGSSetWindowTags([NSApp contextID], (CGSWindowID)[self windowNumber], &tags, 32); + _reallyIgnoresEvents = flag; +}*/ /* @@ -184,6 +200,27 @@ static ITTransientStatusWindow *staticWindow = nil; } } +- (void)setScreen:(NSScreen *)newScreen +{ + [_screen release]; + _screen = [newScreen retain]; +} + +- (NSScreen *)screen +{ + return _screen; +} + +- (void)setSizing:(ITTransientStatusWindowSizing)newSizing +{ + _sizing = newSizing; +} + +- (ITTransientStatusWindowSizing)sizing +{ + return _sizing; +} + - (ITWindowVisibilityState)visibilityState { return _visibilityState; @@ -281,7 +318,7 @@ static ITTransientStatusWindow *staticWindow = nil; _screenPadding = newPadding; } -- (int)screenNumber +/*- (int)screenNumber { return _screenNumber; } @@ -289,7 +326,7 @@ static ITTransientStatusWindow *staticWindow = nil; - (void)setScreenNumber:(int)newNumber { _screenNumber = newNumber; -} +}*/ - (ITWindowEffect *)entryEffect { @@ -322,7 +359,7 @@ static ITTransientStatusWindow *staticWindow = nil; - (void)rebuildWindow; { if ( _backgroundType == ITTransientStatusWindowRounded ) { - ITGrayRoundedView *roundedView = [[[ITGrayRoundedView alloc] initWithFrame:[self frame]] autorelease]; + ITTSWBackgroundView *roundedView = [[[ITTSWBackgroundView alloc] initWithFrame:[self frame]] autorelease]; [self setBackgroundColor:[NSColor clearColor]]; [self setHasShadow:NO];