From 5b05f3f15aa0676f91bc1d127d31f4fd95ef9f40 Mon Sep 17 00:00:00 2001 From: avenjamin Date: Wed, 24 Jun 2009 15:46:27 +0000 Subject: - Changed the way the BWToolkit framework was included to allow modifications to be made easily. - Fixed show/hide info pane toggle button image states to now show correctly --- .../BWAddRegularBottomBarIntegration.m | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 Frameworks/BWToolkitFramework.framework/BWAddRegularBottomBarIntegration.m (limited to 'Frameworks/BWToolkitFramework.framework/BWAddRegularBottomBarIntegration.m') diff --git a/Frameworks/BWToolkitFramework.framework/BWAddRegularBottomBarIntegration.m b/Frameworks/BWToolkitFramework.framework/BWAddRegularBottomBarIntegration.m new file mode 100644 index 00000000..ef5a06b1 --- /dev/null +++ b/Frameworks/BWToolkitFramework.framework/BWAddRegularBottomBarIntegration.m @@ -0,0 +1,58 @@ +// +// BWAddRegularBottomBarIntegration.m +// BWToolkit +// +// Created by Brandon Walkin (www.brandonwalkin.com) +// All code is provided under the New BSD license. +// + +#import +#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 BWAddRegularBottomBar ( BWAddRegularBottomBarIntegration ) + +- (void)ibDidAddToDesignableDocument:(IBDocument *)document +{ + [super ibDidAddToDesignableDocument:document]; + + [self performSelector:@selector(addBottomBar) withObject:nil afterDelay:0]; + [self performSelector:@selector(removeOtherBottomBarViewsInDocument:) withObject:document afterDelay:0]; +} + +- (void)addBottomBar +{ + if ([[self window] isTextured] == NO) + { + [[self window] setContentBorderThickness:34 forEdge:NSMinYEdge]; + + // Private method + if ([[self window] respondsToSelector:@selector(setBottomCornerRounded:)]) + [[self window] setBottomCornerRounded:YES]; + } +} + +- (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]; + } + } +} + +@end -- cgit v1.2.3