BWToolkit-Copy / NSView+BWAdditions.m

//
//  NSView+BWAdditions.m
//  BWToolkit
//
//  Created by Brandon Walkin (www.brandonwalkin.com)
//  All code is provided under the New BSD license.
//

#import "NSView+BWAdditions.h"

NSComparisonResult compareViews(id firstView, id secondView, id context);
NSComparisonResult compareViews(id firstView, id secondView, id context)
{
	if (firstView != context && secondView != context) {return NSOrderedSame;}
	else
	{
		if (firstView == context) {return NSOrderedDescending;}
		else {return NSOrderedAscending;}
	}
}

@interface NSView (BWPrivateAdditions)
- (void)bwTurnOffLayer;
@end

@implementation NSView (BWAdditions)

- (void)bwBringToFront
{
	[[self superview] sortSubviewsUsingFunction:(NSComparisonResult (*)(id, id, void *))compareViews context:self];
}

- (id)bwAnimator
{
	float duration = [[NSAnimationContext currentContext] duration];
	[self performSelector:@selector(bwTurnOffLayer) withObject:nil afterDelay:duration];
	
	return [self animator];
}

- (void)bwTurnOffLayer
{
	[self setWantsLayer:NO];
}

@end
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.