Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: ecac219867
Fetching contributors…

Cannot retrieve contributors at this time

file 69 lines (57 sloc) 1.947 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
//
// BWRemoveBottomBarIntegration.m
// BWToolkit
//
// Created by Brandon Walkin (www.brandonwalkin.com)
// All code is provided under the New BSD license.
//

#import <InterfaceBuilderKit/InterfaceBuilderKit.h>
#import "BWRemoveBottomBar.h"
#import "BWAddSmallBottomBar.h"
#import "BWAddRegularBottomBar.h"
#import "BWAddMiniBottomBar.h"
#import "BWAddSheetBottomBar.h"
#import "NSWindow+BWAdditions.h"

@interface NSWindow (BWBBPrivate)
- (void)setBottomCornerRounded:(BOOL)flag;
@end

@implementation BWRemoveBottomBar (BWRemoveBottomBarIntegration)

- (void)ibDidAddToDesignableDocument:(IBDocument *)document
{
[super ibDidAddToDesignableDocument:document];

// Remove the window's bottom bar
[self performSelector:@selector(removeBottomBar) withObject:nil afterDelay:0];

// Clean up
[self performSelector:@selector(removeOtherBottomBarViewsInDocument:) withObject:document afterDelay:0];
[self performSelector:@selector(removeSelfInDocument:) withObject:document afterDelay:0];
}

- (void)removeBottomBar
{
if ([[self window] isTextured] == NO)
{
[[self window] setContentBorderThickness:0 forEdge:NSMinYEdge];

// Private method
if ([[self window] respondsToSelector:@selector(setBottomCornerRounded:)])
[[self window] setBottomCornerRounded:NO];
}
}

- (void)removeOtherBottomBarViewsInDocument:(IBDocument *)document
{
NSArray *subviews = [[[self window] contentView] subviews];

int i;
for (i = 0; i < [subviews count]; i++)
{
NSView *view = [subviews objectAtIndex:i];
if (view != self && ([view isKindOfClass:[BWAddRegularBottomBar class]] || [view isKindOfClass:[BWAddSmallBottomBar class]] || [view isKindOfClass:[BWAddMiniBottomBar class]] || [view isKindOfClass:[BWAddSheetBottomBar class]]))
{
[document removeObject:view];
[view removeFromSuperview];
}
}
}

- (void)removeSelfInDocument:(IBDocument *)document
{
[document removeObject:self];
[self removeFromSuperview];
}

@end
Something went wrong with that request. Please try again.