diff options
Diffstat (limited to 'Frameworks/BWToolkitFramework.framework/BWSplitViewInspectorAutosizingView.m')
-rw-r--r-- | Frameworks/BWToolkitFramework.framework/BWSplitViewInspectorAutosizingView.m | 171 |
1 files changed, 0 insertions, 171 deletions
diff --git a/Frameworks/BWToolkitFramework.framework/BWSplitViewInspectorAutosizingView.m b/Frameworks/BWToolkitFramework.framework/BWSplitViewInspectorAutosizingView.m deleted file mode 100644 index 72d64f4a..00000000 --- a/Frameworks/BWToolkitFramework.framework/BWSplitViewInspectorAutosizingView.m +++ /dev/null @@ -1,171 +0,0 @@ -// -// BWSplitViewInspectorAutosizingView.m -// BWToolkit -// -// Created by Brandon Walkin (www.brandonwalkin.com) -// All code is provided under the New BSD license. -// - -#import "BWSplitViewInspectorAutosizingView.h" -#import "BWSplitViewInspectorAutosizingButtonCell.h" - -@implementation BWSplitViewInspectorAutosizingView - -@synthesize splitView; - -- (id)initWithFrame:(NSRect)frameRect -{ - if (self = [super initWithFrame:frameRect]) - { - buttons = [[NSMutableArray alloc] init]; - } - return self; -} - -- (void)drawRect:(NSRect)aRect -{ - aRect = self.bounds; - - if ([[self subviews] count] > 0) - { - [[NSColor windowBackgroundColor] set]; - NSRectFill(aRect); - } -} - -- (BOOL)isFlipped -{ - return YES; -} - -- (BOOL)isVertical -{ - return [splitView isVertical]; -} - -- (void)layoutButtons -{ - // Remove existing buttons - [buttons removeAllObjects]; - while ([[self subviews] count] > 0) - { - [[[self subviews] objectAtIndex:0] removeFromSuperview]; - } - - // Create new buttons and draw them - float x, y; - int numberOfSubviews = [[splitView subviews] count]; - - for (int i = 0; i < numberOfSubviews; i++) - { - NSRect buttonRect = NSZeroRect; - - if ([splitView isVertical]) - { - if (i != numberOfSubviews - 1) - buttonRect = NSMakeRect(x, 0, floorf((self.bounds.size.width + numberOfSubviews) / numberOfSubviews), self.bounds.size.height); - else - buttonRect = NSMakeRect(x, 0, self.bounds.size.width - x, self.bounds.size.height); - } - - if ([splitView isVertical] == NO) - { - if (i != numberOfSubviews - 1) - buttonRect = NSMakeRect(0, y, self.bounds.size.width, floorf((self.bounds.size.height + numberOfSubviews) / numberOfSubviews)); - else - buttonRect = NSMakeRect(0, y, self.bounds.size.width, self.bounds.size.height - y); - } - - NSButton *subviewButton = [[[NSButton alloc] initWithFrame:buttonRect] autorelease]; - [subviewButton setCell:[[[BWSplitViewInspectorAutosizingButtonCell alloc] initTextCell:@""] autorelease]]; - [subviewButton setTarget:self]; - [subviewButton setAction:@selector(updateValues:)]; - [subviewButton setTag:i]; - - // Make the new buttons represent whether the subviews are set to resize or not - if ([splitView isVertical]) - { - if ([[[splitView subviews] objectAtIndex:i] autoresizingMask] & NSViewWidthSizable) - [subviewButton setIntValue:1]; - } - else - { - if ([[[splitView subviews] objectAtIndex:i] autoresizingMask] & NSViewHeightSizable) - [subviewButton setIntValue:1]; - } - - if ([splitView isVertical] && numberOfSubviews < 6 || ![splitView isVertical] && numberOfSubviews < 4) - [self addSubview:subviewButton]; - - [buttons addObject:subviewButton]; - - x += buttonRect.size.width - 1; - y += buttonRect.size.height - 1; - } - - // At least 1 subview must be resizable, so if none of the subviews are set to resize, then we'll set all subviews to resize (which will make it the default state) - BOOL resizableViewExists = NO; - for (NSButton *button in buttons) - { - if ([button intValue] == 1) - resizableViewExists = YES; - } - - if (resizableViewExists == NO) - { - for (NSButton *button in buttons) - { - [button setIntValue:1]; - - NSView *subviewForButton = [[splitView subviews] objectAtIndex:[button tag]]; - int mask = [subviewForButton autoresizingMask]; - - if ([splitView isVertical]) - [subviewForButton setAutoresizingMask:(mask | NSViewWidthSizable)]; - else - [subviewForButton setAutoresizingMask:(mask | NSViewHeightSizable)]; - } - } -} - -- (void)updateValues:(id)sender -{ - // Make sure there is always at least one resizable view - NSView *subviewForSender = [[splitView subviews] objectAtIndex:[sender tag]]; - - BOOL resizableViewExists = NO; - for (NSButton *button in buttons) - { - if ([button intValue] == 1) - resizableViewExists = YES; - } - - if (resizableViewExists == NO) - [sender setIntValue:1]; - - // Set the autorezising mask on the subview according to the button state - int mask = [subviewForSender autoresizingMask]; - - if ([splitView isVertical]) - { - if ([sender intValue] == 1) - [subviewForSender setAutoresizingMask:(mask | NSViewWidthSizable)]; - else - [subviewForSender setAutoresizingMask:(mask & ~NSViewWidthSizable)]; - } - else - { - if ([sender intValue] == 1) - [subviewForSender setAutoresizingMask:(mask | NSViewHeightSizable)]; - else - [subviewForSender setAutoresizingMask:(mask & ~NSViewHeightSizable)]; - } -} - -- (void)dealloc -{ - [buttons release]; - [super dealloc]; -} - -@end
\ No newline at end of file |