Revision: 12966
          http://bibdesk.svn.sourceforge.net/bibdesk/?rev=12966&view=rev
Author:   hofman
Date:     2008-03-04 17:22:36 -0800 (Tue, 04 Mar 2008)

Log Message:
-----------
Move fade animation of slider window in slider window orderFront/orderOut. Use 
a special animation so we can actually close the window at the end of the 
animation.

Modified Paths:
--------------
    trunk/bibdesk_vendorsrc/amaxwell/FileView/FVSlider.h
    trunk/bibdesk_vendorsrc/amaxwell/FileView/FVSlider.m
    trunk/bibdesk_vendorsrc/amaxwell/FileView/FileView.m

Modified: trunk/bibdesk_vendorsrc/amaxwell/FileView/FVSlider.h
===================================================================
--- trunk/bibdesk_vendorsrc/amaxwell/FileView/FVSlider.h        2008-03-04 
23:24:27 UTC (rev 12965)
+++ trunk/bibdesk_vendorsrc/amaxwell/FileView/FVSlider.h        2008-03-05 
01:22:36 UTC (rev 12966)
@@ -56,7 +56,4 @@
 - (id)init;
 - (FVSlider *)slider;
 
-// cover for -animator on 10.5, returns self on 10.4
-- (id)animator;
-
 @end

Modified: trunk/bibdesk_vendorsrc/amaxwell/FileView/FVSlider.m
===================================================================
--- trunk/bibdesk_vendorsrc/amaxwell/FileView/FVSlider.m        2008-03-04 
23:24:27 UTC (rev 12965)
+++ trunk/bibdesk_vendorsrc/amaxwell/FileView/FVSlider.m        2008-03-05 
01:22:36 UTC (rev 12966)
@@ -38,6 +38,7 @@
 
 #import "FVSlider.h"
 #import "FVUtilities.h"
+#import <QuartzCore/QuartzCore.h>
 
 NSString * const FVSliderMouseExitedNotificationName = 
@"FVSliderMouseExitedNotificationName";
 
@@ -164,15 +165,38 @@
         [_slider setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable];
         [[self contentView] addSubview:_slider];
         [_slider release];
+        
+        id animation = [NSClassFromString(@"CABasicAnimation") animation];
+        if (animation) {
+            [animation setDelegate:self];
+            [self setAnimations:[NSDictionary dictionaryWithObject:animation 
forKey:@"alphaValue"]];
+        }
+
     }
     return self;
 }
 
 - (FVSlider *)slider { return _slider; }
 
-- (id)animator
-{
-    return [[FVSliderWindow superclass] instancesRespondToSelector:_cmd] ? 
[super animator] : self;
+- (void)orderFront:(id)sender {
+    if ([self isVisible] == NO && [self 
respondsToSelector:@selector(animator)]) {
+        [self setAlphaValue:0.0];
+        [[self animator] setAlphaValue:1.0];
+    }
+    [super orderFront:sender];
 }
 
+- (void)orderOut:(id)sender {
+    if ([self isVisible] && [self respondsToSelector:@selector(animator)]) {
+        [[self animator] setAlphaValue:0.0];
+    } else {
+        [super orderOut:sender];
+    }
+}
+
+- (void)animationDidStop:(id)animation finished:(BOOL)flag  {
+    if ([self alphaValue] < 0.0001 && [self isVisible])
+        [super orderOut:self];
+}
+
 @end

Modified: trunk/bibdesk_vendorsrc/amaxwell/FileView/FileView.m
===================================================================
--- trunk/bibdesk_vendorsrc/amaxwell/FileView/FileView.m        2008-03-04 
23:24:27 UTC (rev 12965)
+++ trunk/bibdesk_vendorsrc/amaxwell/FileView/FileView.m        2008-03-05 
01:22:36 UTC (rev 12966)
@@ -1771,10 +1771,8 @@
                 if (NSEqualRects([_sliderWindow frame], sliderRect) == NO)
                     [_sliderWindow setFrame:sliderRect display:NO];
                 
-                [_sliderWindow setAlphaValue:0.0];
-                [_sliderWindow orderFrontRegardless];
+                [_sliderWindow orderFront:self];
                 [[self window] addChildWindow:_sliderWindow 
ordered:NSWindowAbove];
-                [[_sliderWindow animator] setAlphaValue:1.0];
             }
         }
     }
@@ -1788,7 +1786,6 @@
 - (void)handleSliderMouseExited:(NSNotification *)aNote
 {
     if ([[[self window] childWindows] containsObject:_sliderWindow]) {
-        [[_sliderWindow animator] setAlphaValue:0.0];
         [[self window] removeChildWindow:_sliderWindow];
         [_sliderWindow orderOut:self];
     }


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to