aboutsummaryrefslogtreecommitdiffstats
path: root/Frameworks/BWToolkitFramework.framework/BWAddSheetBottomBarIntegration.m
diff options
context:
space:
mode:
Diffstat (limited to 'Frameworks/BWToolkitFramework.framework/BWAddSheetBottomBarIntegration.m')
-rw-r--r--Frameworks/BWToolkitFramework.framework/BWAddSheetBottomBarIntegration.m58
1 files changed, 58 insertions, 0 deletions
diff --git a/Frameworks/BWToolkitFramework.framework/BWAddSheetBottomBarIntegration.m b/Frameworks/BWToolkitFramework.framework/BWAddSheetBottomBarIntegration.m
new file mode 100644
index 00000000..b155886b
--- /dev/null
+++ b/Frameworks/BWToolkitFramework.framework/BWAddSheetBottomBarIntegration.m
@@ -0,0 +1,58 @@
+//
+// BWAddSheetBottomBarIntegration.m
+// BWToolkit
+//
+// Created by Brandon Walkin (www.brandonwalkin.com)
+// All code is provided under the New BSD license.
+//
+
+#import <InterfaceBuilderKit/InterfaceBuilderKit.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 BWAddSheetBottomBar ( BWAddSheetBottomBarIntegration )
+
+- (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:40 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];
+ }
+ }
+}
+
+@end