Commits

Christian Beer committed 4140153

Cocotron target and patch

Comments (0)

Files changed (9)

 	NSArray *stateForLastPreferredCalculations;
 	int collapsiblePopupSelection;
 	float uncollapsedSize;
+    NSMutableArray *uncollapsedSizes;
 	
 	// Collapse button
 	NSButton *toggleCollapseButton;
 - (void)validateAndCalculatePreferredProportionsAndSizes;
 - (void)clearPreferredProportionsAndSizes;
 
+- (void)saveUncollapsedSizes;
+- (void)restoreUncollapsedSizes;
 - (void)resizeAndAdjustSubviews;
 
 @end
     borderColor        = [[NSColor colorWithCalibratedWhite:(165.0f / 255.0f) alpha:1] retain];
     gradientStartColor = [[NSColor colorWithCalibratedWhite:(253.0f / 255.0f) alpha:1] retain];
     gradientEndColor   = [[NSColor colorWithCalibratedWhite:(222.0f / 255.0f) alpha:1] retain];
-
+    
     gradient           = [[NSGradient alloc] initWithStartingColor:gradientStartColor endingColor:gradientEndColor];
-
+    
 	NSBundle *bundle = [NSBundle bundleForClass:[BWSplitView class]];
 	dimpleImageBitmap  = [[NSImage alloc] initWithContentsOfFile:[bundle pathForImageResource:@"GradientSplitViewDimpleBitmap.tif"]];
 	dimpleImageVector  = [[NSImage alloc] initWithContentsOfFile:[bundle pathForImageResource:@"GradientSplitViewDimpleVector.pdf"]];
 
 - (void)awakeFromNib
 {
+	uncollapsedSizes = [[NSMutableArray alloc] init];
 	scaleFactor = [[NSScreen mainScreen] userSpaceScaleFactor];
 }
 
 - (void)drawGradientDividerInRect:(NSRect)aRect
 {	
 	aRect = [self centerScanRect:aRect];
-
+    
 	if ([self isVertical])
 	{
 		// Draw gradient
 		NSRect gradRect = NSMakeRect(aRect.origin.x + 1 / scaleFactor,aRect.origin.y,aRect.size.width - 1 / scaleFactor,aRect.size.height);
 		[gradient drawInRect:gradRect angle:0];
-	
+        
 		// Draw left and right borders
 		[borderColor bwDrawPixelThickLineAtPosition:0 withInset:0 inRect:aRect inView:self horizontal:NO flip:NO];
 		[borderColor bwDrawPixelThickLineAtPosition:0 withInset:0 inRect:aRect inView:self horizontal:NO flip:YES];	
 		// Draw gradient
 		NSRect gradRect = NSMakeRect(aRect.origin.x,aRect.origin.y + 1 / scaleFactor,aRect.size.width,aRect.size.height - 1 / scaleFactor);
 		[gradient drawInRect:gradRect angle:90];
-	
+        
 		// Draw top and bottom borders
 		[borderColor bwDrawPixelThickLineAtPosition:0 withInset:0 inRect:aRect inView:self horizontal:YES flip:NO];
 		[borderColor bwDrawPixelThickLineAtPosition:0 withInset:0 inRect:aRect inView:self horizontal:YES flip:YES];		
 - (void)setCollapsibleSubviewCollapsed:(BOOL)flag
 {
 	collapsibleSubviewCollapsed = flag;
-
+    
 	if (flag)
 		[[self toggleCollapseButton] setState:0];
 	else
 	if ([self toggleCollapseButton] == nil)
 	{
 		[self setToggleCollapseButton:sender];
-
+        
 		[[toggleCollapseButton cell] setHighlightsBy:NSPushInCellMask];
 		[[toggleCollapseButton cell] setShowsStateBy:NSContentsCellMask];
 	}
 		{
 			resizableSubview = subview;
 		}
-			
+        
 	}
 	
 	if (resizableSubview == nil)
 		if ([self collapsibleSubviewCollapsed] == NO)
 		{
 			uncollapsedSize = [self collapsibleSubview].frame.size.width;
+			[self saveUncollapsedSizes];
 			
 			if (hasMinSize)
 				[self removeMinSizeForCollapsibleSubview];
 			
+#ifdef __APPLE__
 			[NSAnimationContext beginGrouping];
 			[[NSAnimationContext currentContext] setDuration:([self animationDuration])];			
+#endif
 			[[[self collapsibleSubview] animator] setFrameSize:NSMakeSize(0.0, constantHeight)];
 			[[resizableSubview animator] setFrameSize:NSMakeSize(resizableSubview.frame.size.width + uncollapsedSize + collapsibleDividerThickness, constantHeight)];
+#ifdef __APPLE__
 			[NSAnimationContext endGrouping];
+#endif
 			
 			if (hasMinSize)
 				[self performSelector:@selector(setMinSizeForCollapsibleSubview:) withObject:minSize afterDelay:[self animationDuration]];
 			if (hasMinSize)
 				[self removeMinSizeForCollapsibleSubview];
 			
+			[self restoreUncollapsedSizes];
+            
+#ifdef __APPLE__			
 			[NSAnimationContext beginGrouping];
 			[[NSAnimationContext currentContext] setDuration:([self animationDuration])];
+#endif
 			[[[self collapsibleSubview] animator] setFrameSize:NSMakeSize(uncollapsedSize, constantHeight)];
 			[[resizableSubview animator] setFrameSize:NSMakeSize(resizableSubview.frame.size.width - uncollapsedSize - collapsibleDividerThickness, constantHeight)];
+#ifdef __APPLE__
 			[NSAnimationContext endGrouping];
-	
+#endif
+            
 			if (hasMinSize)
 				[self performSelector:@selector(setMinSizeForCollapsibleSubview:) withObject:minSize afterDelay:[self animationDuration]];
 			
 		if ([self collapsibleSubviewCollapsed] == NO)
 		{
 			uncollapsedSize = [self collapsibleSubview].frame.size.height;
+			[self saveUncollapsedSizes];
 			
 			if (hasMinSize)
 				[self removeMinSizeForCollapsibleSubview];
-			
+
+#ifdef __APPLE__
 			[NSAnimationContext beginGrouping];
 			[[NSAnimationContext currentContext] setDuration:([self animationDuration])];			
+#endif
 			[[[self collapsibleSubview] animator] setFrameSize:NSMakeSize(constantWidth, 0.0)];
 			[[resizableSubview animator] setFrameSize:NSMakeSize(constantWidth, resizableSubview.frame.size.height + uncollapsedSize + collapsibleDividerThickness)];
+#ifdef __APPLE__
 			[NSAnimationContext endGrouping];
+#endif
 			
 			if (hasMinSize)
 				[self performSelector:@selector(setMinSizeForCollapsibleSubview:) withObject:minSize afterDelay:[self animationDuration]];
 			if (hasMinSize)
 				[self removeMinSizeForCollapsibleSubview];
 			
+			[self restoreUncollapsedSizes];
+
+#ifdef __APPLE__
 			[NSAnimationContext beginGrouping];
 			[[NSAnimationContext currentContext] setDuration:([self animationDuration])];
+#endif
 			[[[self collapsibleSubview] animator] setFrameSize:NSMakeSize(constantWidth, uncollapsedSize)];
 			[[resizableSubview animator] setFrameSize:NSMakeSize(constantWidth, resizableSubview.frame.size.height - uncollapsedSize - collapsibleDividerThickness)];
+#ifdef __APPLE__
 			[NSAnimationContext endGrouping];
+#endif
 			
 			if (hasMinSize)
 				[self performSelector:@selector(setMinSizeForCollapsibleSubview:) withObject:minSize afterDelay:[self animationDuration]];
 	}
 	
 	isAnimating = YES;
-	[self performSelector:@selector(animationEnded) withObject:nil afterDelay:[self animationDuration]];
-	[self performSelector:@selector(restoreAutoresizesSubviews:) withObject:[NSNumber numberWithBool:autoresizesSubviews] afterDelay:[self animationDuration]];
-	
-	[self performSelector:@selector(resizeAndAdjustSubviews) withObject:nil afterDelay:[self animationDuration]];
+	[self performSelector:@selector(animationEnded) withObject:nil afterDelay:[self animationDuration] + 0.1];
+	[self performSelector:@selector(restoreAutoresizesSubviews:) withObject:[NSNumber numberWithBool:autoresizesSubviews] afterDelay:[self animationDuration] + 0.1];
+	[self performSelector:@selector(resizeAndAdjustSubviews) withObject:nil afterDelay:[self animationDuration] + 0.1];
 }
 
 #pragma mark Mouse Tracking Methods
 	if ([self hasCollapsibleSubview])
 	{
 		CGFloat collapsibleViewSize = [self isVertical] ?  [self collapsibleSubview].frame.size.width : [self collapsibleSubview].frame.size.height;
-	
+        
 		if (!isAnimating && collapsibleViewSize > 0)
+		{
 			uncollapsedSize = collapsibleViewSize;
+			[self saveUncollapsedSizes];
+		}
 	}
-
+    
 	[super mouseDown:theEvent];
 }
 
 			return YES;
 		}
 	}
-
+    
 	return NO;
 }
 
 			([self collapsiblePopupSelection] == 2 && subviewIndex == [[self subviews] count] - 1 && dividerIndex == [[splitView subviews] count] - 2))
 		{
 			if ([self isVertical])
+			{
 				uncollapsedSize = [self collapsibleSubview].frame.size.width;
+				[self saveUncollapsedSizes];
+			}
 			else
+			{
 				uncollapsedSize = [self collapsibleSubview].frame.size.height;
+				[self saveUncollapsedSizes];
+			}
 			
 			[self setCollapsibleSubviewCollapsed:YES];
 			
 	if (collapsibleSubviewCollapsed && ([self isVertical] ? [[self collapsibleSubview] frame].size.width > 0 : [[self collapsibleSubview] frame].size.height > 0))
 	{
 		[self setCollapsibleSubviewCollapsed:NO];
-
+        
 		[self resizeAndAdjustSubviews];
 	}
 	else if (!collapsibleSubviewCollapsed && ([self isVertical] ? [[self collapsibleSubview] frame].size.width < 0.1 : [[self collapsibleSubview] frame].size.height < 0.1))
 	{
 		[self setCollapsibleSubviewCollapsed:YES];
-
+        
 		[self resizeAndAdjustSubviews];
 	}
 	else if ([self collapsibleSubviewIsCollapsed])
 	[self setNonresizableSubviewPreferredSize:nil];
 }
 
+- (void)saveUncollapsedSizes;
+{
+	[uncollapsedSizes removeAllObjects];
+	for(NSView *subview in [[self collapsibleSubview] subviews]) {
+		NSSize frameSize = [subview frame].size;
+		if([self isVertical]) {
+			[uncollapsedSizes addObject:[NSArray arrayWithObjects:[NSNumber numberWithFloat:frameSize.width], subview, nil]];
+		} else {
+			[uncollapsedSizes addObject:[NSArray arrayWithObjects:[NSNumber numberWithFloat:frameSize.height], subview, nil]];
+		}
+	}
+}
+- (void)restoreUncollapsedSizes {
+	float constantWidth = [self collapsibleSubview].frame.size.width;
+	float constantHeight = [self collapsibleSubview].frame.size.height;
+	for(NSArray *uncollapsedSizeState in uncollapsedSizes) {
+		CGFloat size = [[uncollapsedSizeState objectAtIndex:0] floatValue];
+		NSView *view = [uncollapsedSizeState objectAtIndex:1];
+		if([self isVertical]) {
+			[view setFrameSize:NSMakeSize(size, constantHeight)];
+		} else {
+			[view setFrameSize:NSMakeSize(constantWidth, size)];
+		}
+	}
+	[uncollapsedSizes removeAllObjects];
+}
+
 // RESIZING ALGORITHM
 
 // non-resizable subviews are given preferred size
 
 - (void)dealloc
 {
+	[uncollapsedSizes release];
 	[color release];
 	[minValues release];
 	[maxValues release];
 	[nonresizableSubviewPreferredSize release];
 	[toggleCollapseButton release];
 	[stateForLastPreferredCalculations release];
-		
+    
 	[super dealloc];
 }
 

BWStyledTextFieldCell.m

 		[attributes setObject:[self shadow] forKey:NSShadowAttributeName];
 	
 	// Gradient code
-	if ([previousAttributes objectForKey:@"NSFont"] != nil && [[previousAttributes objectForKey:@"NSFont"] isEqualTo:[attributes objectForKey:@"NSFont"]] == NO)
+	if ([previousAttributes objectForKey:@"NSFont"] != nil && 
+        [[previousAttributes objectForKey:@"NSFont"] isEqual:[attributes objectForKey:@"NSFont"]] == NO)
 	{
 		[self performSelector:@selector(applyGradient) withObject:nil afterDelay:0];
 		[self setPreviousAttributes:attributes];

BWToolkit.xcodeproj/project.pbxproj

 		546DEAF3067F632A0098DCC4 /* BWToolkitFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 53DF68FD067E5B5A0090B5B0 /* BWToolkitFramework.framework */; };
 		8D1AC9700486D14A00FE50C9 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD92D38A0106425D02CA0E72 /* Cocoa.framework */; };
 		8D1AC9800486D23B00FE50C9 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8D1AC97F0486D23B00FE50C9 /* InfoPlist.strings */; };
+		AA12A5E212671F1E00F77E61 /* BWToolbarShowColorsItem.h in Headers */ = {isa = PBXBuildFile; fileRef = CA630AE00DC7FB6300AD7F9E /* BWToolbarShowColorsItem.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A5E312671F1E00F77E61 /* BWToolbarShowFontsItem.h in Headers */ = {isa = PBXBuildFile; fileRef = CA630AE20DC7FB6300AD7F9E /* BWToolbarShowFontsItem.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A5E412671F1E00F77E61 /* BWAddRegularBottomBar.h in Headers */ = {isa = PBXBuildFile; fileRef = CA630AEC0DC7FF0800AD7F9E /* BWAddRegularBottomBar.h */; };
+		AA12A5E512671F1E00F77E61 /* BWRemoveBottomBar.h in Headers */ = {isa = PBXBuildFile; fileRef = CA630AEE0DC7FF0800AD7F9E /* BWRemoveBottomBar.h */; };
+		AA12A5E612671F1E00F77E61 /* BWInsetTextField.h in Headers */ = {isa = PBXBuildFile; fileRef = CA630AF40DC8002200AD7F9E /* BWInsetTextField.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A5E712671F1E00F77E61 /* BWTransparentButton.h in Headers */ = {isa = PBXBuildFile; fileRef = CA630AF80DC8004A00AD7F9E /* BWTransparentButton.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A5E812671F1E00F77E61 /* BWTransparentButtonCell.h in Headers */ = {isa = PBXBuildFile; fileRef = CA630AFA0DC8004A00AD7F9E /* BWTransparentButtonCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A5E912671F1E00F77E61 /* BWTransparentCheckbox.h in Headers */ = {isa = PBXBuildFile; fileRef = CA630AFC0DC8004A00AD7F9E /* BWTransparentCheckbox.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A5EA12671F1E00F77E61 /* BWTransparentCheckboxCell.h in Headers */ = {isa = PBXBuildFile; fileRef = CA630AFE0DC8004A00AD7F9E /* BWTransparentCheckboxCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A5EB12671F1E00F77E61 /* BWTransparentPopUpButton.h in Headers */ = {isa = PBXBuildFile; fileRef = CA630B000DC8004A00AD7F9E /* BWTransparentPopUpButton.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A5EC12671F1E00F77E61 /* BWTransparentPopUpButtonCell.h in Headers */ = {isa = PBXBuildFile; fileRef = CA630B020DC8004A00AD7F9E /* BWTransparentPopUpButtonCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A5ED12671F1E00F77E61 /* BWTransparentSlider.h in Headers */ = {isa = PBXBuildFile; fileRef = CA630B040DC8004A00AD7F9E /* BWTransparentSlider.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A5EE12671F1E00F77E61 /* BWTransparentSliderCell.h in Headers */ = {isa = PBXBuildFile; fileRef = CA630B060DC8004A00AD7F9E /* BWTransparentSliderCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A5EF12671F1E00F77E61 /* BWSplitView.h in Headers */ = {isa = PBXBuildFile; fileRef = CA630B1C0DC82DD600AD7F9E /* BWSplitView.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A5F012671F1E00F77E61 /* BWTexturedSlider.h in Headers */ = {isa = PBXBuildFile; fileRef = CA630B220DC82E2100AD7F9E /* BWTexturedSlider.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A5F112671F1E00F77E61 /* BWTexturedSliderCell.h in Headers */ = {isa = PBXBuildFile; fileRef = CA630B240DC82E2100AD7F9E /* BWTexturedSliderCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A5F212671F1E00F77E61 /* BWAddSmallBottomBar.h in Headers */ = {isa = PBXBuildFile; fileRef = CA630CF80DC843DD00AD7F9E /* BWAddSmallBottomBar.h */; };
+		AA12A5F312671F1E00F77E61 /* BWAnchoredButtonBar.h in Headers */ = {isa = PBXBuildFile; fileRef = CA325B4D0DCAE25A001446BB /* BWAnchoredButtonBar.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A5F412671F1E00F77E61 /* BWSelectableToolbar.h in Headers */ = {isa = PBXBuildFile; fileRef = CA630AE80DC7FC3400AD7F9E /* BWSelectableToolbar.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A5F512671F1E00F77E61 /* BWAnchoredButton.h in Headers */ = {isa = PBXBuildFile; fileRef = CA325F020DCD91EF001446BB /* BWAnchoredButton.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A5F612671F1E00F77E61 /* BWAnchoredButtonCell.h in Headers */ = {isa = PBXBuildFile; fileRef = CA325F060DCD9268001446BB /* BWAnchoredButtonCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A5F712671F1E00F77E61 /* NSColor+BWAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = CA875AD80DD165A500764511 /* NSColor+BWAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A5F812671F1E00F77E61 /* NSImage+BWAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = CA875CC50DD7EA3900764511 /* NSImage+BWAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A5F912671F1E00F77E61 /* BWSelectableToolbarHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = CA34552E0DDCD6C900A7C0A9 /* BWSelectableToolbarHelper.h */; };
+		AA12A5FA12671F1E00F77E61 /* NSWindow+BWAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = CA944DD80DDF800D00F103BC /* NSWindow+BWAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A5FB12671F1E00F77E61 /* NSView+BWAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = CA944F060DE00CC000F103BC /* NSView+BWAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A5FC12671F1E00F77E61 /* BWTransparentTableView.h in Headers */ = {isa = PBXBuildFile; fileRef = CA9451890DE15A6C00F103BC /* BWTransparentTableView.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A5FD12671F1E00F77E61 /* BWTransparentTableViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = CA9451E60DE1690500F103BC /* BWTransparentTableViewCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A5FE12671F1E00F77E61 /* BWAnchoredPopUpButton.h in Headers */ = {isa = PBXBuildFile; fileRef = CA9453DB0DE293BC00F103BC /* BWAnchoredPopUpButton.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A5FF12671F1E00F77E61 /* BWAnchoredPopUpButtonCell.h in Headers */ = {isa = PBXBuildFile; fileRef = CA9453DF0DE293C800F103BC /* BWAnchoredPopUpButtonCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A60012671F1E00F77E61 /* BWCustomView.h in Headers */ = {isa = PBXBuildFile; fileRef = CA9919640DF9F81600FE0577 /* BWCustomView.h */; };
+		AA12A60112671F1E00F77E61 /* BWUnanchoredButton.h in Headers */ = {isa = PBXBuildFile; fileRef = CA4071370E0B985300B56AB7 /* BWUnanchoredButton.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A60212671F1E00F77E61 /* BWUnanchoredButtonCell.h in Headers */ = {isa = PBXBuildFile; fileRef = CA40713B0E0B986000B56AB7 /* BWUnanchoredButtonCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A60312671F1E00F77E61 /* BWUnanchoredButtonContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = CA4071CB0E0ED32300B56AB7 /* BWUnanchoredButtonContainer.h */; };
+		AA12A60412671F1E00F77E61 /* NSCustomView.h in Headers */ = {isa = PBXBuildFile; fileRef = CACEBC7A0E178524003E3CB2 /* NSCustomView.h */; };
+		AA12A60512671F1E00F77E61 /* BWSheetController.h in Headers */ = {isa = PBXBuildFile; fileRef = CA4A50D90E1DC7AB00BC7395 /* BWSheetController.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A60612671F1E00F77E61 /* BWTransparentScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = CA10ABD60E272748009BA4D7 /* BWTransparentScrollView.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A60712671F1E00F77E61 /* NSWindow-NSTimeMachineSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = CA0D2A250E2F034000E8680C /* NSWindow-NSTimeMachineSupport.h */; };
+		AA12A60812671F1E00F77E61 /* BWAddMiniBottomBar.h in Headers */ = {isa = PBXBuildFile; fileRef = CA685EFD0E68C6CB0003D937 /* BWAddMiniBottomBar.h */; };
+		AA12A60912671F1E00F77E61 /* BWAddSheetBottomBar.h in Headers */ = {isa = PBXBuildFile; fileRef = CA685F1F0E68C8290003D937 /* BWAddSheetBottomBar.h */; };
+		AA12A60A12671F1E00F77E61 /* BWTokenField.h in Headers */ = {isa = PBXBuildFile; fileRef = CA960A4E0E75F88C00308367 /* BWTokenField.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A60B12671F1E00F77E61 /* BWTokenFieldCell.h in Headers */ = {isa = PBXBuildFile; fileRef = CA960A520E75F89400308367 /* BWTokenFieldCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A60C12671F1E00F77E61 /* NSTokenAttachmentCell.h in Headers */ = {isa = PBXBuildFile; fileRef = CA960A7C0E76766E00308367 /* NSTokenAttachmentCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A60D12671F1E00F77E61 /* NSTokenAttachment.h in Headers */ = {isa = PBXBuildFile; fileRef = CA960A7D0E76766E00308367 /* NSTokenAttachment.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A60E12671F1E00F77E61 /* BWTokenAttachmentCell.h in Headers */ = {isa = PBXBuildFile; fileRef = CA960AA90E7676E000308367 /* BWTokenAttachmentCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A60F12671F1E00F77E61 /* BWTransparentScroller.h in Headers */ = {isa = PBXBuildFile; fileRef = CA405A6E0EBF2E400010580A /* BWTransparentScroller.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A61012671F1E00F77E61 /* BWTransparentTextFieldCell.h in Headers */ = {isa = PBXBuildFile; fileRef = CA3A18870ECA9E86000C3A43 /* BWTransparentTextFieldCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A61112671F1E00F77E61 /* BWToolbarItem.h in Headers */ = {isa = PBXBuildFile; fileRef = CAEA804B0ED0A73E0062B378 /* BWToolbarItem.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A61212671F1E00F77E61 /* NSString+BWAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = CA66C0F50EF79AC0005EE9A5 /* NSString+BWAdditions.h */; };
+		AA12A61312671F1E00F77E61 /* BWToolkitFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = CAEB146A0F4A534300E57E67 /* BWToolkitFramework.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A61412671F1E00F77E61 /* NSEvent+BWAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = CAB82ED20F514F39006519E3 /* NSEvent+BWAdditions.h */; };
+		AA12A61512671F1E00F77E61 /* BWHyperlinkButton.h in Headers */ = {isa = PBXBuildFile; fileRef = CAEE04EC0FD753DB001A1C3F /* BWHyperlinkButton.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A61612671F1E00F77E61 /* BWHyperlinkButtonCell.h in Headers */ = {isa = PBXBuildFile; fileRef = CAEE04F00FD7549A001A1C3F /* BWHyperlinkButtonCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A61712671F1E00F77E61 /* BWGradientBox.h in Headers */ = {isa = PBXBuildFile; fileRef = CAEE07730FD79453001A1C3F /* BWGradientBox.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A61812671F1E00F77E61 /* BWStyledTextField.h in Headers */ = {isa = PBXBuildFile; fileRef = CAEE077A0FD79CE9001A1C3F /* BWStyledTextField.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A61912671F1E00F77E61 /* BWStyledTextFieldCell.h in Headers */ = {isa = PBXBuildFile; fileRef = CAEE07C00FD7BB18001A1C3F /* BWStyledTextFieldCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A61A12671F1E00F77E61 /* NSApplication+BWAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = CAAC33380FE5DA5700C66575 /* NSApplication+BWAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		AA12A61C12671F1E00F77E61 /* TexturedSliderTrackRight.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630A680DC7F6FC00AD7F9E /* TexturedSliderTrackRight.tiff */; };
+		AA12A61D12671F1E00F77E61 /* TexturedSliderTrackFill.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630A690DC7F6FC00AD7F9E /* TexturedSliderTrackFill.tiff */; };
+		AA12A61E12671F1E00F77E61 /* TexturedSliderTrackLeft.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630A6A0DC7F6FC00AD7F9E /* TexturedSliderTrackLeft.tiff */; };
+		AA12A61F12671F1E00F77E61 /* TexturedSliderThumbP.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630A6B0DC7F6FC00AD7F9E /* TexturedSliderThumbP.tiff */; };
+		AA12A62012671F1E00F77E61 /* TexturedSliderThumbN.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630A6C0DC7F6FC00AD7F9E /* TexturedSliderThumbN.tiff */; };
+		AA12A62112671F1E00F77E61 /* GradientSplitViewDimpleBitmap.tif in Resources */ = {isa = PBXBuildFile; fileRef = CA630A760DC7F74400AD7F9E /* GradientSplitViewDimpleBitmap.tif */; };
+		AA12A62212671F1E00F77E61 /* GradientSplitViewDimpleVector.pdf in Resources */ = {isa = PBXBuildFile; fileRef = CA630A770DC7F74400AD7F9E /* GradientSplitViewDimpleVector.pdf */; };
+		AA12A62312671F1E00F77E61 /* TransparentSliderThumbP.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630A830DC7F83A00AD7F9E /* TransparentSliderThumbP.tiff */; };
+		AA12A62412671F1E00F77E61 /* TransparentSliderThumbN.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630A840DC7F83A00AD7F9E /* TransparentSliderThumbN.tiff */; };
+		AA12A62512671F1E00F77E61 /* TransparentSliderTrackFill.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630A850DC7F83A00AD7F9E /* TransparentSliderTrackFill.tiff */; };
+		AA12A62612671F1E00F77E61 /* TransparentSliderTrackLeft.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630A860DC7F83A00AD7F9E /* TransparentSliderTrackLeft.tiff */; };
+		AA12A62712671F1E00F77E61 /* TransparentSliderTrackRight.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630A870DC7F83A00AD7F9E /* TransparentSliderTrackRight.tiff */; };
+		AA12A62812671F1E00F77E61 /* TransparentButtonRightN.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630A8D0DC7F84700AD7F9E /* TransparentButtonRightN.tiff */; };
+		AA12A62912671F1E00F77E61 /* TransparentButtonFillN.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630A8E0DC7F84700AD7F9E /* TransparentButtonFillN.tiff */; };
+		AA12A62A12671F1E00F77E61 /* TransparentButtonLeftN.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630A8F0DC7F84700AD7F9E /* TransparentButtonLeftN.tiff */; };
+		AA12A62B12671F1E00F77E61 /* TransparentButtonRightP.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630A900DC7F84700AD7F9E /* TransparentButtonRightP.tiff */; };
+		AA12A62C12671F1E00F77E61 /* TransparentButtonFillP.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630A910DC7F84700AD7F9E /* TransparentButtonFillP.tiff */; };
+		AA12A62D12671F1E00F77E61 /* TransparentButtonLeftP.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630A920DC7F84700AD7F9E /* TransparentButtonLeftP.tiff */; };
+		AA12A62E12671F1E00F77E61 /* TransparentCheckboxOffN.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630A990DC7F87B00AD7F9E /* TransparentCheckboxOffN.tiff */; };
+		AA12A62F12671F1E00F77E61 /* TransparentCheckboxOffP.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630A9A0DC7F87B00AD7F9E /* TransparentCheckboxOffP.tiff */; };
+		AA12A63012671F1E00F77E61 /* TransparentCheckboxOnN.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630A9B0DC7F87B00AD7F9E /* TransparentCheckboxOnN.tiff */; };
+		AA12A63112671F1E00F77E61 /* TransparentCheckboxOnP.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630A9C0DC7F87B00AD7F9E /* TransparentCheckboxOnP.tiff */; };
+		AA12A63212671F1E00F77E61 /* TransparentPopUpFillN.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630AA10DC7F88A00AD7F9E /* TransparentPopUpFillN.tiff */; };
+		AA12A63312671F1E00F77E61 /* TransparentPopUpFillP.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630AA20DC7F88A00AD7F9E /* TransparentPopUpFillP.tiff */; };
+		AA12A63412671F1E00F77E61 /* TransparentPopUpLeftN.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630AA30DC7F88A00AD7F9E /* TransparentPopUpLeftN.tiff */; };
+		AA12A63512671F1E00F77E61 /* TransparentPopUpLeftP.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630AA40DC7F88A00AD7F9E /* TransparentPopUpLeftP.tiff */; };
+		AA12A63612671F1E00F77E61 /* TransparentPopUpRightN.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630AA50DC7F88A00AD7F9E /* TransparentPopUpRightN.tiff */; };
+		AA12A63712671F1E00F77E61 /* TransparentPopUpRightP.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA630AA60DC7F88A00AD7F9E /* TransparentPopUpRightP.tiff */; };
+		AA12A63812671F1E00F77E61 /* TransparentSliderTriangleThumbN.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA94521A0DE17A1A00F103BC /* TransparentSliderTriangleThumbN.tiff */; };
+		AA12A63912671F1E00F77E61 /* TransparentSliderTriangleThumbP.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA94521B0DE17A1A00F103BC /* TransparentSliderTriangleThumbP.tiff */; };
+		AA12A63A12671F1E00F77E61 /* TexturedSliderPhotoSmall.tif in Resources */ = {isa = PBXBuildFile; fileRef = CA991BCD0DFA8B3D00FE0577 /* TexturedSliderPhotoSmall.tif */; };
+		AA12A63B12671F1E00F77E61 /* TexturedSliderPhotoLarge.tif in Resources */ = {isa = PBXBuildFile; fileRef = CA991BCE0DFA8B3D00FE0577 /* TexturedSliderPhotoLarge.tif */; };
+		AA12A63C12671F1E00F77E61 /* TexturedSliderSpeakerQuiet.png in Resources */ = {isa = PBXBuildFile; fileRef = CA991BCF0DFA8B3D00FE0577 /* TexturedSliderSpeakerQuiet.png */; };
+		AA12A63D12671F1E00F77E61 /* TexturedSliderSpeakerLoud.png in Resources */ = {isa = PBXBuildFile; fileRef = CA991BD00DFA8B3D00FE0577 /* TexturedSliderSpeakerLoud.png */; };
+		AA12A63E12671F1E00F77E61 /* ButtonBarPullDownArrow.pdf in Resources */ = {isa = PBXBuildFile; fileRef = CAF6B8440E049A6500CA1768 /* ButtonBarPullDownArrow.pdf */; };
+		AA12A63F12671F1E00F77E61 /* ToolbarItemColors.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA4070B50E0B66C200B56AB7 /* ToolbarItemColors.tiff */; };
+		AA12A64012671F1E00F77E61 /* ToolbarItemFonts.tiff in Resources */ = {isa = PBXBuildFile; fileRef = CA4070B60E0B66C200B56AB7 /* ToolbarItemFonts.tiff */; };
+		AA12A64112671F1E00F77E61 /* Library-SheetController.tif in Resources */ = {isa = PBXBuildFile; fileRef = CA4A51E20E1EC6B700BC7395 /* Library-SheetController.tif */; };
+		AA12A64212671F1E00F77E61 /* TransparentPopUpPullDownRightN.tif in Resources */ = {isa = PBXBuildFile; fileRef = CA9995D80E2DE8B20001808E /* TransparentPopUpPullDownRightN.tif */; };
+		AA12A64312671F1E00F77E61 /* TransparentPopUpPullDownRightP.tif in Resources */ = {isa = PBXBuildFile; fileRef = CA9995E70E2DE9C60001808E /* TransparentPopUpPullDownRightP.tif */; };
+		AA12A64412671F1E00F77E61 /* TransparentScrollerKnobRight.tif in Resources */ = {isa = PBXBuildFile; fileRef = CA405AD40EBF2FE30010580A /* TransparentScrollerKnobRight.tif */; };
+		AA12A64512671F1E00F77E61 /* TransparentScrollerKnobBottom.tif in Resources */ = {isa = PBXBuildFile; fileRef = CA405AD50EBF2FE30010580A /* TransparentScrollerKnobBottom.tif */; };
+		AA12A64612671F1E00F77E61 /* TransparentScrollerSlotRight.tif in Resources */ = {isa = PBXBuildFile; fileRef = CA405AD60EBF2FE30010580A /* TransparentScrollerSlotRight.tif */; };
+		AA12A64712671F1E00F77E61 /* TransparentScrollerKnobLeft.tif in Resources */ = {isa = PBXBuildFile; fileRef = CA405AD70EBF2FE30010580A /* TransparentScrollerKnobLeft.tif */; };
+		AA12A64812671F1E00F77E61 /* TransparentScrollerKnobVerticalFill.tif in Resources */ = {isa = PBXBuildFile; fileRef = CA405AD80EBF2FE30010580A /* TransparentScrollerKnobVerticalFill.tif */; };
+		AA12A64912671F1E00F77E61 /* TransparentScrollerSlotVerticalFill.tif in Resources */ = {isa = PBXBuildFile; fileRef = CA405AD90EBF2FE30010580A /* TransparentScrollerSlotVerticalFill.tif */; };
+		AA12A64A12671F1E00F77E61 /* TransparentScrollerSlotHorizontalFill.tif in Resources */ = {isa = PBXBuildFile; fileRef = CA405ADA0EBF2FE30010580A /* TransparentScrollerSlotHorizontalFill.tif */; };
+		AA12A64B12671F1E00F77E61 /* TransparentScrollerKnobHorizontalFill.tif in Resources */ = {isa = PBXBuildFile; fileRef = CA405ADB0EBF2FE30010580A /* TransparentScrollerKnobHorizontalFill.tif */; };
+		AA12A64C12671F1E00F77E61 /* TransparentScrollerSlotLeft.tif in Resources */ = {isa = PBXBuildFile; fileRef = CA405ADC0EBF2FE30010580A /* TransparentScrollerSlotLeft.tif */; };
+		AA12A64D12671F1E00F77E61 /* TransparentScrollerSlotBottom.tif in Resources */ = {isa = PBXBuildFile; fileRef = CA405ADD0EBF2FE30010580A /* TransparentScrollerSlotBottom.tif */; };
+		AA12A64E12671F1E00F77E61 /* TransparentScrollerSlotTop.tif in Resources */ = {isa = PBXBuildFile; fileRef = CA405ADE0EBF2FE30010580A /* TransparentScrollerSlotTop.tif */; };
+		AA12A64F12671F1E00F77E61 /* TransparentScrollerKnobTop.tif in Resources */ = {isa = PBXBuildFile; fileRef = CA405ADF0EBF2FE30010580A /* TransparentScrollerKnobTop.tif */; };
+		AA12A65012671F1E00F77E61 /* License.rtf in Resources */ = {isa = PBXBuildFile; fileRef = CAEB14740F4A538100E57E67 /* License.rtf */; };
+		AA12A65112671F1E00F77E61 /* Release Notes.rtf in Resources */ = {isa = PBXBuildFile; fileRef = CAEB14760F4A538A00E57E67 /* Release Notes.rtf */; };
+		AA12A65312671F1E00F77E61 /* BWToolbarShowColorsItem.m in Sources */ = {isa = PBXBuildFile; fileRef = CA630AE10DC7FB6300AD7F9E /* BWToolbarShowColorsItem.m */; };
+		AA12A65412671F1E00F77E61 /* BWToolbarShowFontsItem.m in Sources */ = {isa = PBXBuildFile; fileRef = CA630AE30DC7FB6300AD7F9E /* BWToolbarShowFontsItem.m */; };
+		AA12A65512671F1E00F77E61 /* BWSelectableToolbar.m in Sources */ = {isa = PBXBuildFile; fileRef = CA630AE90DC7FC3400AD7F9E /* BWSelectableToolbar.m */; };
+		AA12A65612671F1E00F77E61 /* BWAddRegularBottomBar.m in Sources */ = {isa = PBXBuildFile; fileRef = CA630AED0DC7FF0800AD7F9E /* BWAddRegularBottomBar.m */; };
+		AA12A65712671F1E00F77E61 /* BWRemoveBottomBar.m in Sources */ = {isa = PBXBuildFile; fileRef = CA630AEF0DC7FF0800AD7F9E /* BWRemoveBottomBar.m */; };
+		AA12A65812671F1E00F77E61 /* BWInsetTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = CA630AF50DC8002200AD7F9E /* BWInsetTextField.m */; };
+		AA12A65912671F1E00F77E61 /* BWTransparentButton.m in Sources */ = {isa = PBXBuildFile; fileRef = CA630AF90DC8004A00AD7F9E /* BWTransparentButton.m */; };
+		AA12A65A12671F1E00F77E61 /* BWTransparentButtonCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA630AFB0DC8004A00AD7F9E /* BWTransparentButtonCell.m */; };
+		AA12A65B12671F1E00F77E61 /* BWTransparentCheckbox.m in Sources */ = {isa = PBXBuildFile; fileRef = CA630AFD0DC8004A00AD7F9E /* BWTransparentCheckbox.m */; };
+		AA12A65C12671F1E00F77E61 /* BWTransparentCheckboxCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA630AFF0DC8004A00AD7F9E /* BWTransparentCheckboxCell.m */; };
+		AA12A65D12671F1E00F77E61 /* BWTransparentPopUpButton.m in Sources */ = {isa = PBXBuildFile; fileRef = CA630B010DC8004A00AD7F9E /* BWTransparentPopUpButton.m */; };
+		AA12A65E12671F1E00F77E61 /* BWTransparentPopUpButtonCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA630B030DC8004A00AD7F9E /* BWTransparentPopUpButtonCell.m */; };
+		AA12A65F12671F1E00F77E61 /* BWTransparentSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = CA630B050DC8004A00AD7F9E /* BWTransparentSlider.m */; };
+		AA12A66012671F1E00F77E61 /* BWTransparentSliderCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA630B070DC8004A00AD7F9E /* BWTransparentSliderCell.m */; };
+		AA12A66112671F1E00F77E61 /* BWSplitView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA630B1D0DC82DD600AD7F9E /* BWSplitView.m */; };
+		AA12A66212671F1E00F77E61 /* BWTexturedSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = CA630B230DC82E2100AD7F9E /* BWTexturedSlider.m */; };
+		AA12A66312671F1E00F77E61 /* BWTexturedSliderCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA630B250DC82E2100AD7F9E /* BWTexturedSliderCell.m */; };
+		AA12A66412671F1E00F77E61 /* BWAddSmallBottomBar.m in Sources */ = {isa = PBXBuildFile; fileRef = CA630CF90DC843DD00AD7F9E /* BWAddSmallBottomBar.m */; };
+		AA12A66512671F1E00F77E61 /* BWAnchoredButtonBar.m in Sources */ = {isa = PBXBuildFile; fileRef = CA325B4E0DCAE25A001446BB /* BWAnchoredButtonBar.m */; };
+		AA12A66612671F1E00F77E61 /* BWAnchoredButton.m in Sources */ = {isa = PBXBuildFile; fileRef = CA325F030DCD91EF001446BB /* BWAnchoredButton.m */; };
+		AA12A66712671F1E00F77E61 /* BWAnchoredButtonCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA325F070DCD9268001446BB /* BWAnchoredButtonCell.m */; };
+		AA12A66812671F1E00F77E61 /* NSColor+BWAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = CA875AD90DD165A500764511 /* NSColor+BWAdditions.m */; };
+		AA12A66912671F1E00F77E61 /* NSImage+BWAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = CA875CC60DD7EA3900764511 /* NSImage+BWAdditions.m */; };
+		AA12A66A12671F1E00F77E61 /* BWSelectableToolbarHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = CA34552F0DDCD6C900A7C0A9 /* BWSelectableToolbarHelper.m */; };
+		AA12A66B12671F1E00F77E61 /* NSWindow+BWAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = CA944DD90DDF800D00F103BC /* NSWindow+BWAdditions.m */; };
+		AA12A66C12671F1E00F77E61 /* NSView+BWAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = CA944F070DE00CC000F103BC /* NSView+BWAdditions.m */; };
+		AA12A66D12671F1E00F77E61 /* BWTransparentTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA94518A0DE15A6C00F103BC /* BWTransparentTableView.m */; };
+		AA12A66E12671F1E00F77E61 /* BWTransparentTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA9451E70DE1690500F103BC /* BWTransparentTableViewCell.m */; };
+		AA12A66F12671F1E00F77E61 /* BWAnchoredPopUpButton.m in Sources */ = {isa = PBXBuildFile; fileRef = CA9453DC0DE293BC00F103BC /* BWAnchoredPopUpButton.m */; };
+		AA12A67012671F1E00F77E61 /* BWAnchoredPopUpButtonCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA9453E00DE293C800F103BC /* BWAnchoredPopUpButtonCell.m */; };
+		AA12A67112671F1E00F77E61 /* BWCustomView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA9919650DF9F81600FE0577 /* BWCustomView.m */; };
+		AA12A67212671F1E00F77E61 /* BWUnanchoredButton.m in Sources */ = {isa = PBXBuildFile; fileRef = CA4071380E0B985300B56AB7 /* BWUnanchoredButton.m */; };
+		AA12A67312671F1E00F77E61 /* BWUnanchoredButtonCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA40713C0E0B986000B56AB7 /* BWUnanchoredButtonCell.m */; };
+		AA12A67412671F1E00F77E61 /* BWUnanchoredButtonContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = CA4071CC0E0ED32300B56AB7 /* BWUnanchoredButtonContainer.m */; };
+		AA12A67512671F1E00F77E61 /* BWSheetController.m in Sources */ = {isa = PBXBuildFile; fileRef = CA4A50DA0E1DC7AB00BC7395 /* BWSheetController.m */; };
+		AA12A67612671F1E00F77E61 /* BWTransparentScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA10ABD70E272748009BA4D7 /* BWTransparentScrollView.m */; };
+		AA12A67712671F1E00F77E61 /* BWAddMiniBottomBar.m in Sources */ = {isa = PBXBuildFile; fileRef = CA685EFE0E68C6CB0003D937 /* BWAddMiniBottomBar.m */; };
+		AA12A67812671F1E00F77E61 /* BWAddSheetBottomBar.m in Sources */ = {isa = PBXBuildFile; fileRef = CA685F200E68C8290003D937 /* BWAddSheetBottomBar.m */; };
+		AA12A67912671F1E00F77E61 /* BWTokenField.m in Sources */ = {isa = PBXBuildFile; fileRef = CA960A4F0E75F88C00308367 /* BWTokenField.m */; };
+		AA12A67A12671F1E00F77E61 /* BWTokenFieldCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA960A530E75F89400308367 /* BWTokenFieldCell.m */; };
+		AA12A67B12671F1E00F77E61 /* BWTokenAttachmentCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA960AAA0E7676E000308367 /* BWTokenAttachmentCell.m */; };
+		AA12A67C12671F1E00F77E61 /* BWTransparentScroller.m in Sources */ = {isa = PBXBuildFile; fileRef = CA405A6D0EBF2E400010580A /* BWTransparentScroller.m */; };
+		AA12A67D12671F1E00F77E61 /* BWTransparentTextFieldCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CA3A18880ECA9E86000C3A43 /* BWTransparentTextFieldCell.m */; };
+		AA12A67E12671F1E00F77E61 /* BWToolbarItem.m in Sources */ = {isa = PBXBuildFile; fileRef = CAEA804C0ED0A73E0062B378 /* BWToolbarItem.m */; };
+		AA12A67F12671F1E00F77E61 /* NSString+BWAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = CA66C0F40EF79AC0005EE9A5 /* NSString+BWAdditions.m */; };
+		AA12A68012671F1E00F77E61 /* NSEvent+BWAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = CAB82ED30F514F39006519E3 /* NSEvent+BWAdditions.m */; };
+		AA12A68112671F1E00F77E61 /* BWHyperlinkButton.m in Sources */ = {isa = PBXBuildFile; fileRef = CAEE04ED0FD753DB001A1C3F /* BWHyperlinkButton.m */; };
+		AA12A68212671F1E00F77E61 /* BWHyperlinkButtonCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CAEE04F10FD7549A001A1C3F /* BWHyperlinkButtonCell.m */; };
+		AA12A68312671F1E00F77E61 /* BWGradientBox.m in Sources */ = {isa = PBXBuildFile; fileRef = CAEE07740FD79453001A1C3F /* BWGradientBox.m */; };
+		AA12A68412671F1E00F77E61 /* BWStyledTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = CAEE077B0FD79CE9001A1C3F /* BWStyledTextField.m */; };
+		AA12A68512671F1E00F77E61 /* BWStyledTextFieldCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CAEE07C10FD7BB18001A1C3F /* BWStyledTextFieldCell.m */; };
+		AA12A68612671F1E00F77E61 /* NSApplication+BWAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = CAAC33390FE5DA5700C66575 /* NSApplication+BWAdditions.m */; };
+		AA12A68812671F1E00F77E61 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD92D38A0106425D02CA0E72 /* Cocoa.framework */; };
+		AA12A69A126721FA00F77E61 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 13F8B88A07B434F6008AE28D /* Foundation.framework */; };
+		AA12A69B126721FB00F77E61 /* CoreData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 13F8B88907B434F6008AE28D /* CoreData.framework */; };
+		AA17AF2F12AE943F00E521F4 /* dllmain.m in Sources */ = {isa = PBXBuildFile; fileRef = AA17AF2D12AE943F00E521F4 /* dllmain.m */; };
+		AA4127C5126D7FC500933890 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AA56F56B126C7C410088FF6C /* AppKit.framework */; };
+		AA56F674126C81420088FF6C /* BWAddRegularBottomBar.m in Sources */ = {isa = PBXBuildFile; fileRef = CA630AED0DC7FF0800AD7F9E /* BWAddRegularBottomBar.m */; };
 		C08787290A49DE9A00E9B151 /* BWToolkit.m in Sources */ = {isa = PBXBuildFile; fileRef = 0259C576FE90428111CA0C5A /* BWToolkit.m */; };
 		C0D069560A49DF9100C95564 /* InterfaceBuilderKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C0D069550A49DF9100C95564 /* InterfaceBuilderKit.framework */; };
 		CA0D2A260E2F034000E8680C /* NSWindow-NSTimeMachineSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = CA0D2A250E2F034000E8680C /* NSWindow-NSTimeMachineSupport.h */; };
 		CA630AE70DC7FB6300AD7F9E /* BWToolbarShowFontsItem.m in Sources */ = {isa = PBXBuildFile; fileRef = CA630AE30DC7FB6300AD7F9E /* BWToolbarShowFontsItem.m */; };
 		CA630AEB0DC7FC3400AD7F9E /* BWSelectableToolbar.m in Sources */ = {isa = PBXBuildFile; fileRef = CA630AE90DC7FC3400AD7F9E /* BWSelectableToolbar.m */; };
 		CA630AF00DC7FF0800AD7F9E /* BWAddRegularBottomBar.h in Headers */ = {isa = PBXBuildFile; fileRef = CA630AEC0DC7FF0800AD7F9E /* BWAddRegularBottomBar.h */; };
-		CA630AF10DC7FF0800AD7F9E /* BWAddRegularBottomBar.m in Sources */ = {isa = PBXBuildFile; fileRef = CA630AED0DC7FF0800AD7F9E /* BWAddRegularBottomBar.m */; };
 		CA630AF20DC7FF0800AD7F9E /* BWRemoveBottomBar.h in Headers */ = {isa = PBXBuildFile; fileRef = CA630AEE0DC7FF0800AD7F9E /* BWRemoveBottomBar.h */; };
 		CA630AF30DC7FF0800AD7F9E /* BWRemoveBottomBar.m in Sources */ = {isa = PBXBuildFile; fileRef = CA630AEF0DC7FF0800AD7F9E /* BWRemoveBottomBar.m */; };
 		CA630AF60DC8002200AD7F9E /* BWInsetTextField.h in Headers */ = {isa = PBXBuildFile; fileRef = CA630AF40DC8002200AD7F9E /* BWInsetTextField.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		CAF6B8450E049A6500CA1768 /* ButtonBarPullDownArrow.pdf in Resources */ = {isa = PBXBuildFile; fileRef = CAF6B8440E049A6500CA1768 /* ButtonBarPullDownArrow.pdf */; };
 /* End PBXBuildFile section */
 
+/* Begin PBXBuildRule section */
+		AA12A82312672B9300F77E61 /* PBXBuildRule */ = {
+			isa = PBXBuildRule;
+			compilerSpec = org.cocotron.1.0.windows.i386.gcc.default;
+			fileType = sourcecode.c;
+			isEditable = 1;
+			outputFiles = (
+			);
+		};
+/* End PBXBuildRule section */
+
 /* Begin PBXContainerItemProxy section */
 		53DF6902067E5B930090B5B0 /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
 /* Begin PBXFileReference section */
 		0259C576FE90428111CA0C5A /* BWToolkit.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = BWToolkit.m; sourceTree = "<group>"; };
 		0259C57AFE90428111CA0C5A /* BWToolkit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = BWToolkit.h; sourceTree = "<group>"; };
-		13F8B88807B434F6008AE28D /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
 		13F8B88907B434F6008AE28D /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
 		13F8B88A07B434F6008AE28D /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
 		32DBCF980370C29C00C91783 /* BWToolkit_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BWToolkit_Prefix.pch; sourceTree = "<group>"; };
 		8D1AC9730486D14A00FE50C9 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
 		8D1AC9740486D14A00FE50C9 /* BWToolkit.ibplugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = BWToolkit.ibplugin; sourceTree = BUILT_PRODUCTS_DIR; };
 		8D1AC97B0486D23100FE50C9 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		AA12A68C12671F1E00F77E61 /* BWToolkitFramework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = BWToolkitFramework.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+		AA12A68D12671F1E00F77E61 /* BWToolkitFramework-Info-Windows.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "BWToolkitFramework-Info-Windows.plist"; sourceTree = "<group>"; };
+		AA17AF2D12AE943F00E521F4 /* dllmain.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = dllmain.m; sourceTree = "<group>"; };
+		AA56F56B126C7C410088FF6C /* AppKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = AppKit.framework; sourceTree = SDKROOT; };
+		AA56F935126CA4BE0088FF6C /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
 		C0D069550A49DF9100C95564 /* InterfaceBuilderKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = InterfaceBuilderKit.framework; path = /Developer/Library/Frameworks/InterfaceBuilderKit.framework; sourceTree = "<absolute>"; };
 		CA0D2A250E2F034000E8680C /* NSWindow-NSTimeMachineSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSWindow-NSTimeMachineSupport.h"; sourceTree = "<group>"; };
 		CA0DDBCE0FDA586F006B3EA3 /* BWGradientWell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BWGradientWell.h; sourceTree = "<group>"; };
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
+		AA12A68712671F1E00F77E61 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				AA12A68812671F1E00F77E61 /* Cocoa.framework in Frameworks */,
+				AA12A69A126721FA00F77E61 /* Foundation.framework in Frameworks */,
+				AA12A69B126721FB00F77E61 /* CoreData.framework in Frameworks */,
+				AA4127C5126D7FC500933890 /* AppKit.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 /* End PBXFrameworksBuildPhase section */
 
 /* Begin PBXGroup section */
 			isa = PBXGroup;
 			children = (
 				32DBCF9E0370C38000C91783 /* Plugin */,
+				AA17AF2B12AE942A00E521F4 /* Windows */,
 				54D33B2C06778E4400C9C163 /* Framework */,
 				0259C582FE90428111CA0C5A /* Resources */,
 				1ED78706FE9D4A0611CA0C5A /* Products */,
 				8D1AC9730486D14A00FE50C9 /* Info.plist */,
 				53DF68FE067E5B5A0090B5B0 /* BWToolkitFramework-Info.plist */,
 				8D1AC97F0486D23B00FE50C9 /* InfoPlist.strings */,
+				AA12A68D12671F1E00F77E61 /* BWToolkitFramework-Info-Windows.plist */,
 			);
 			name = Resources;
 			sourceTree = "<group>";
 		13F8B70407B43425008AE28D /* Other Frameworks */ = {
 			isa = PBXGroup;
 			children = (
-				13F8B88807B434F6008AE28D /* AppKit.framework */,
 				13F8B88907B434F6008AE28D /* CoreData.framework */,
 				13F8B88A07B434F6008AE28D /* Foundation.framework */,
+				AA56F56B126C7C410088FF6C /* AppKit.framework */,
+				AA56F935126CA4BE0088FF6C /* CoreServices.framework */,
 			);
 			name = "Other Frameworks";
 			sourceTree = "<group>";
 			children = (
 				8D1AC9740486D14A00FE50C9 /* BWToolkit.ibplugin */,
 				53DF68FD067E5B5A0090B5B0 /* BWToolkitFramework.framework */,
+				AA12A68C12671F1E00F77E61 /* BWToolkitFramework.framework */,
 			);
 			name = Products;
 			sourceTree = "<group>";
 			name = Framework;
 			sourceTree = "<group>";
 		};
+		AA17AF2B12AE942A00E521F4 /* Windows */ = {
+			isa = PBXGroup;
+			children = (
+				AA17AF2D12AE943F00E521F4 /* dllmain.m */,
+			);
+			name = Windows;
+			sourceTree = "<group>";
+		};
 		C0894DA40C32F4C100401507 /* Categories */ = {
 			isa = PBXGroup;
 			children = (
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
+		AA12A5E112671F1E00F77E61 /* Headers */ = {
+			isa = PBXHeadersBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				AA12A5E212671F1E00F77E61 /* BWToolbarShowColorsItem.h in Headers */,
+				AA12A5E312671F1E00F77E61 /* BWToolbarShowFontsItem.h in Headers */,
+				AA12A5E412671F1E00F77E61 /* BWAddRegularBottomBar.h in Headers */,
+				AA12A5E512671F1E00F77E61 /* BWRemoveBottomBar.h in Headers */,
+				AA12A5E612671F1E00F77E61 /* BWInsetTextField.h in Headers */,
+				AA12A5E712671F1E00F77E61 /* BWTransparentButton.h in Headers */,
+				AA12A5E812671F1E00F77E61 /* BWTransparentButtonCell.h in Headers */,
+				AA12A5E912671F1E00F77E61 /* BWTransparentCheckbox.h in Headers */,
+				AA12A5EA12671F1E00F77E61 /* BWTransparentCheckboxCell.h in Headers */,
+				AA12A5EB12671F1E00F77E61 /* BWTransparentPopUpButton.h in Headers */,
+				AA12A5EC12671F1E00F77E61 /* BWTransparentPopUpButtonCell.h in Headers */,
+				AA12A5ED12671F1E00F77E61 /* BWTransparentSlider.h in Headers */,
+				AA12A5EE12671F1E00F77E61 /* BWTransparentSliderCell.h in Headers */,
+				AA12A5EF12671F1E00F77E61 /* BWSplitView.h in Headers */,
+				AA12A5F012671F1E00F77E61 /* BWTexturedSlider.h in Headers */,
+				AA12A5F112671F1E00F77E61 /* BWTexturedSliderCell.h in Headers */,
+				AA12A5F212671F1E00F77E61 /* BWAddSmallBottomBar.h in Headers */,
+				AA12A5F312671F1E00F77E61 /* BWAnchoredButtonBar.h in Headers */,
+				AA12A5F412671F1E00F77E61 /* BWSelectableToolbar.h in Headers */,
+				AA12A5F512671F1E00F77E61 /* BWAnchoredButton.h in Headers */,
+				AA12A5F612671F1E00F77E61 /* BWAnchoredButtonCell.h in Headers */,
+				AA12A5F712671F1E00F77E61 /* NSColor+BWAdditions.h in Headers */,
+				AA12A5F812671F1E00F77E61 /* NSImage+BWAdditions.h in Headers */,
+				AA12A5F912671F1E00F77E61 /* BWSelectableToolbarHelper.h in Headers */,
+				AA12A5FA12671F1E00F77E61 /* NSWindow+BWAdditions.h in Headers */,
+				AA12A5FB12671F1E00F77E61 /* NSView+BWAdditions.h in Headers */,
+				AA12A5FC12671F1E00F77E61 /* BWTransparentTableView.h in Headers */,
+				AA12A5FD12671F1E00F77E61 /* BWTransparentTableViewCell.h in Headers */,
+				AA12A5FE12671F1E00F77E61 /* BWAnchoredPopUpButton.h in Headers */,
+				AA12A5FF12671F1E00F77E61 /* BWAnchoredPopUpButtonCell.h in Headers */,
+				AA12A60012671F1E00F77E61 /* BWCustomView.h in Headers */,
+				AA12A60112671F1E00F77E61 /* BWUnanchoredButton.h in Headers */,
+				AA12A60212671F1E00F77E61 /* BWUnanchoredButtonCell.h in Headers */,
+				AA12A60312671F1E00F77E61 /* BWUnanchoredButtonContainer.h in Headers */,
+				AA12A60412671F1E00F77E61 /* NSCustomView.h in Headers */,
+				AA12A60512671F1E00F77E61 /* BWSheetController.h in Headers */,
+				AA12A60612671F1E00F77E61 /* BWTransparentScrollView.h in Headers */,
+				AA12A60712671F1E00F77E61 /* NSWindow-NSTimeMachineSupport.h in Headers */,
+				AA12A60812671F1E00F77E61 /* BWAddMiniBottomBar.h in Headers */,
+				AA12A60912671F1E00F77E61 /* BWAddSheetBottomBar.h in Headers */,
+				AA12A60A12671F1E00F77E61 /* BWTokenField.h in Headers */,
+				AA12A60B12671F1E00F77E61 /* BWTokenFieldCell.h in Headers */,
+				AA12A60C12671F1E00F77E61 /* NSTokenAttachmentCell.h in Headers */,
+				AA12A60D12671F1E00F77E61 /* NSTokenAttachment.h in Headers */,
+				AA12A60E12671F1E00F77E61 /* BWTokenAttachmentCell.h in Headers */,
+				AA12A60F12671F1E00F77E61 /* BWTransparentScroller.h in Headers */,
+				AA12A61012671F1E00F77E61 /* BWTransparentTextFieldCell.h in Headers */,
+				AA12A61112671F1E00F77E61 /* BWToolbarItem.h in Headers */,
+				AA12A61212671F1E00F77E61 /* NSString+BWAdditions.h in Headers */,
+				AA12A61312671F1E00F77E61 /* BWToolkitFramework.h in Headers */,
+				AA12A61412671F1E00F77E61 /* NSEvent+BWAdditions.h in Headers */,
+				AA12A61512671F1E00F77E61 /* BWHyperlinkButton.h in Headers */,
+				AA12A61612671F1E00F77E61 /* BWHyperlinkButtonCell.h in Headers */,
+				AA12A61712671F1E00F77E61 /* BWGradientBox.h in Headers */,
+				AA12A61812671F1E00F77E61 /* BWStyledTextField.h in Headers */,
+				AA12A61912671F1E00F77E61 /* BWStyledTextFieldCell.h in Headers */,
+				AA12A61A12671F1E00F77E61 /* NSApplication+BWAdditions.h in Headers */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 /* End PBXHeadersBuildPhase section */
 
 /* Begin PBXNativeTarget section */
 			productReference = 8D1AC9740486D14A00FE50C9 /* BWToolkit.ibplugin */;
 			productType = "com.apple.product-type.bundle";
 		};
+		AA12A5E012671F1E00F77E61 /* BWToolkitFramework Windows */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = AA12A68912671F1E00F77E61 /* Build configuration list for PBXNativeTarget "BWToolkitFramework Windows" */;
+			buildPhases = (
+				AA12A5E112671F1E00F77E61 /* Headers */,
+				AA12A61B12671F1E00F77E61 /* Resources */,
+				AA12A65212671F1E00F77E61 /* Sources */,
+				AA12A68712671F1E00F77E61 /* Frameworks */,
+			);
+			buildRules = (
+				AA12A82312672B9300F77E61 /* PBXBuildRule */,
+			);
+			dependencies = (
+			);
+			name = "BWToolkitFramework Windows";
+			productName = BWToolkitFramework;
+			productReference = AA12A68C12671F1E00F77E61 /* BWToolkitFramework.framework */;
+			productType = "com.apple.product-type.framework";
+		};
 /* End PBXNativeTarget section */
 
 /* Begin PBXProject section */
 			isa = PBXProject;
 			buildConfigurationList = C056398B08A954F8003078D8 /* Build configuration list for PBXProject "BWToolkit" */;
 			compatibilityVersion = "Xcode 3.1";
+			developmentRegion = English;
 			hasScannedForEncodings = 1;
+			knownRegions = (
+				English,
+				Japanese,
+				French,
+				German,
+			);
 			mainGroup = 0259C574FE90428111CA0C5A /* BWToolkit */;
 			projectDirPath = "";
 			projectRoot = "";
 				53DF6901067E5B8E0090B5B0 /* All */,
 				8D1AC9600486D14A00FE50C9 /* BWToolkit */,
 				53DF68FC067E5B5A0090B5B0 /* BWToolkitFramework */,
+				AA12A5E012671F1E00F77E61 /* BWToolkitFramework Windows */,
 			);
 		};
 /* End PBXProject section */
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
+		AA12A61B12671F1E00F77E61 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				AA12A61C12671F1E00F77E61 /* TexturedSliderTrackRight.tiff in Resources */,
+				AA12A61D12671F1E00F77E61 /* TexturedSliderTrackFill.tiff in Resources */,
+				AA12A61E12671F1E00F77E61 /* TexturedSliderTrackLeft.tiff in Resources */,
+				AA12A61F12671F1E00F77E61 /* TexturedSliderThumbP.tiff in Resources */,
+				AA12A62012671F1E00F77E61 /* TexturedSliderThumbN.tiff in Resources */,
+				AA12A62112671F1E00F77E61 /* GradientSplitViewDimpleBitmap.tif in Resources */,
+				AA12A62212671F1E00F77E61 /* GradientSplitViewDimpleVector.pdf in Resources */,
+				AA12A62312671F1E00F77E61 /* TransparentSliderThumbP.tiff in Resources */,
+				AA12A62412671F1E00F77E61 /* TransparentSliderThumbN.tiff in Resources */,
+				AA12A62512671F1E00F77E61 /* TransparentSliderTrackFill.tiff in Resources */,
+				AA12A62612671F1E00F77E61 /* TransparentSliderTrackLeft.tiff in Resources */,
+				AA12A62712671F1E00F77E61 /* TransparentSliderTrackRight.tiff in Resources */,
+				AA12A62812671F1E00F77E61 /* TransparentButtonRightN.tiff in Resources */,
+				AA12A62912671F1E00F77E61 /* TransparentButtonFillN.tiff in Resources */,
+				AA12A62A12671F1E00F77E61 /* TransparentButtonLeftN.tiff in Resources */,
+				AA12A62B12671F1E00F77E61 /* TransparentButtonRightP.tiff in Resources */,
+				AA12A62C12671F1E00F77E61 /* TransparentButtonFillP.tiff in Resources */,
+				AA12A62D12671F1E00F77E61 /* TransparentButtonLeftP.tiff in Resources */,
+				AA12A62E12671F1E00F77E61 /* TransparentCheckboxOffN.tiff in Resources */,
+				AA12A62F12671F1E00F77E61 /* TransparentCheckboxOffP.tiff in Resources */,
+				AA12A63012671F1E00F77E61 /* TransparentCheckboxOnN.tiff in Resources */,
+				AA12A63112671F1E00F77E61 /* TransparentCheckboxOnP.tiff in Resources */,
+				AA12A63212671F1E00F77E61 /* TransparentPopUpFillN.tiff in Resources */,
+				AA12A63312671F1E00F77E61 /* TransparentPopUpFillP.tiff in Resources */,
+				AA12A63412671F1E00F77E61 /* TransparentPopUpLeftN.tiff in Resources */,
+				AA12A63512671F1E00F77E61 /* TransparentPopUpLeftP.tiff in Resources */,
+				AA12A63612671F1E00F77E61 /* TransparentPopUpRightN.tiff in Resources */,
+				AA12A63712671F1E00F77E61 /* TransparentPopUpRightP.tiff in Resources */,
+				AA12A63812671F1E00F77E61 /* TransparentSliderTriangleThumbN.tiff in Resources */,
+				AA12A63912671F1E00F77E61 /* TransparentSliderTriangleThumbP.tiff in Resources */,
+				AA12A63A12671F1E00F77E61 /* TexturedSliderPhotoSmall.tif in Resources */,
+				AA12A63B12671F1E00F77E61 /* TexturedSliderPhotoLarge.tif in Resources */,
+				AA12A63C12671F1E00F77E61 /* TexturedSliderSpeakerQuiet.png in Resources */,
+				AA12A63D12671F1E00F77E61 /* TexturedSliderSpeakerLoud.png in Resources */,
+				AA12A63E12671F1E00F77E61 /* ButtonBarPullDownArrow.pdf in Resources */,
+				AA12A63F12671F1E00F77E61 /* ToolbarItemColors.tiff in Resources */,
+				AA12A64012671F1E00F77E61 /* ToolbarItemFonts.tiff in Resources */,
+				AA12A64112671F1E00F77E61 /* Library-SheetController.tif in Resources */,
+				AA12A64212671F1E00F77E61 /* TransparentPopUpPullDownRightN.tif in Resources */,
+				AA12A64312671F1E00F77E61 /* TransparentPopUpPullDownRightP.tif in Resources */,
+				AA12A64412671F1E00F77E61 /* TransparentScrollerKnobRight.tif in Resources */,
+				AA12A64512671F1E00F77E61 /* TransparentScrollerKnobBottom.tif in Resources */,
+				AA12A64612671F1E00F77E61 /* TransparentScrollerSlotRight.tif in Resources */,
+				AA12A64712671F1E00F77E61 /* TransparentScrollerKnobLeft.tif in Resources */,
+				AA12A64812671F1E00F77E61 /* TransparentScrollerKnobVerticalFill.tif in Resources */,
+				AA12A64912671F1E00F77E61 /* TransparentScrollerSlotVerticalFill.tif in Resources */,
+				AA12A64A12671F1E00F77E61 /* TransparentScrollerSlotHorizontalFill.tif in Resources */,
+				AA12A64B12671F1E00F77E61 /* TransparentScrollerKnobHorizontalFill.tif in Resources */,
+				AA12A64C12671F1E00F77E61 /* TransparentScrollerSlotLeft.tif in Resources */,
+				AA12A64D12671F1E00F77E61 /* TransparentScrollerSlotBottom.tif in Resources */,
+				AA12A64E12671F1E00F77E61 /* TransparentScrollerSlotTop.tif in Resources */,
+				AA12A64F12671F1E00F77E61 /* TransparentScrollerKnobTop.tif in Resources */,
+				AA12A65012671F1E00F77E61 /* License.rtf in Resources */,
+				AA12A65112671F1E00F77E61 /* Release Notes.rtf in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 /* End PBXResourcesBuildPhase section */
 
 /* Begin PBXSourcesBuildPhase section */
 				CA630AE50DC7FB6300AD7F9E /* BWToolbarShowColorsItem.m in Sources */,
 				CA630AE70DC7FB6300AD7F9E /* BWToolbarShowFontsItem.m in Sources */,
 				CA630AEB0DC7FC3400AD7F9E /* BWSelectableToolbar.m in Sources */,
-				CA630AF10DC7FF0800AD7F9E /* BWAddRegularBottomBar.m in Sources */,
 				CA630AF30DC7FF0800AD7F9E /* BWRemoveBottomBar.m in Sources */,
 				CA630AF70DC8002200AD7F9E /* BWInsetTextField.m in Sources */,
 				CA630B0B0DC8004A00AD7F9E /* BWTransparentButton.m in Sources */,
 				CAEE077D0FD79CE9001A1C3F /* BWStyledTextField.m in Sources */,
 				CAEE07C30FD7BB18001A1C3F /* BWStyledTextFieldCell.m in Sources */,
 				CAAC333B0FE5DA5700C66575 /* NSApplication+BWAdditions.m in Sources */,
+				AA56F674126C81420088FF6C /* BWAddRegularBottomBar.m in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
+		AA12A65212671F1E00F77E61 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				AA12A65312671F1E00F77E61 /* BWToolbarShowColorsItem.m in Sources */,
+				AA12A65412671F1E00F77E61 /* BWToolbarShowFontsItem.m in Sources */,
+				AA12A65512671F1E00F77E61 /* BWSelectableToolbar.m in Sources */,
+				AA12A65612671F1E00F77E61 /* BWAddRegularBottomBar.m in Sources */,
+				AA12A65712671F1E00F77E61 /* BWRemoveBottomBar.m in Sources */,
+				AA12A65812671F1E00F77E61 /* BWInsetTextField.m in Sources */,
+				AA12A65912671F1E00F77E61 /* BWTransparentButton.m in Sources */,
+				AA12A65A12671F1E00F77E61 /* BWTransparentButtonCell.m in Sources */,
+				AA12A65B12671F1E00F77E61 /* BWTransparentCheckbox.m in Sources */,
+				AA12A65C12671F1E00F77E61 /* BWTransparentCheckboxCell.m in Sources */,
+				AA12A65D12671F1E00F77E61 /* BWTransparentPopUpButton.m in Sources */,
+				AA12A65E12671F1E00F77E61 /* BWTransparentPopUpButtonCell.m in Sources */,
+				AA12A65F12671F1E00F77E61 /* BWTransparentSlider.m in Sources */,
+				AA12A66012671F1E00F77E61 /* BWTransparentSliderCell.m in Sources */,
+				AA12A66112671F1E00F77E61 /* BWSplitView.m in Sources */,
+				AA12A66212671F1E00F77E61 /* BWTexturedSlider.m in Sources */,
+				AA12A66312671F1E00F77E61 /* BWTexturedSliderCell.m in Sources */,
+				AA12A66412671F1E00F77E61 /* BWAddSmallBottomBar.m in Sources */,
+				AA12A66512671F1E00F77E61 /* BWAnchoredButtonBar.m in Sources */,
+				AA12A66612671F1E00F77E61 /* BWAnchoredButton.m in Sources */,
+				AA12A66712671F1E00F77E61 /* BWAnchoredButtonCell.m in Sources */,
+				AA12A66812671F1E00F77E61 /* NSColor+BWAdditions.m in Sources */,
+				AA12A66912671F1E00F77E61 /* NSImage+BWAdditions.m in Sources */,
+				AA12A66A12671F1E00F77E61 /* BWSelectableToolbarHelper.m in Sources */,
+				AA12A66B12671F1E00F77E61 /* NSWindow+BWAdditions.m in Sources */,
+				AA12A66C12671F1E00F77E61 /* NSView+BWAdditions.m in Sources */,
+				AA12A66D12671F1E00F77E61 /* BWTransparentTableView.m in Sources */,
+				AA12A66E12671F1E00F77E61 /* BWTransparentTableViewCell.m in Sources */,
+				AA12A66F12671F1E00F77E61 /* BWAnchoredPopUpButton.m in Sources */,
+				AA12A67012671F1E00F77E61 /* BWAnchoredPopUpButtonCell.m in Sources */,
+				AA12A67112671F1E00F77E61 /* BWCustomView.m in Sources */,
+				AA12A67212671F1E00F77E61 /* BWUnanchoredButton.m in Sources */,
+				AA12A67312671F1E00F77E61 /* BWUnanchoredButtonCell.m in Sources */,
+				AA12A67412671F1E00F77E61 /* BWUnanchoredButtonContainer.m in Sources */,
+				AA12A67512671F1E00F77E61 /* BWSheetController.m in Sources */,
+				AA12A67612671F1E00F77E61 /* BWTransparentScrollView.m in Sources */,
+				AA12A67712671F1E00F77E61 /* BWAddMiniBottomBar.m in Sources */,
+				AA12A67812671F1E00F77E61 /* BWAddSheetBottomBar.m in Sources */,
+				AA12A67912671F1E00F77E61 /* BWTokenField.m in Sources */,
+				AA12A67A12671F1E00F77E61 /* BWTokenFieldCell.m in Sources */,
+				AA12A67B12671F1E00F77E61 /* BWTokenAttachmentCell.m in Sources */,
+				AA12A67C12671F1E00F77E61 /* BWTransparentScroller.m in Sources */,
+				AA12A67D12671F1E00F77E61 /* BWTransparentTextFieldCell.m in Sources */,
+				AA12A67E12671F1E00F77E61 /* BWToolbarItem.m in Sources */,
+				AA12A67F12671F1E00F77E61 /* NSString+BWAdditions.m in Sources */,
+				AA12A68012671F1E00F77E61 /* NSEvent+BWAdditions.m in Sources */,
+				AA12A68112671F1E00F77E61 /* BWHyperlinkButton.m in Sources */,
+				AA12A68212671F1E00F77E61 /* BWHyperlinkButtonCell.m in Sources */,
+				AA12A68312671F1E00F77E61 /* BWGradientBox.m in Sources */,
+				AA12A68412671F1E00F77E61 /* BWStyledTextField.m in Sources */,
+				AA12A68512671F1E00F77E61 /* BWStyledTextFieldCell.m in Sources */,
+				AA12A68612671F1E00F77E61 /* NSApplication+BWAdditions.m in Sources */,
+				AA17AF2F12AE943F00E521F4 /* dllmain.m in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 /* End PBXSourcesBuildPhase section */
 
 /* Begin PBXTargetDependency section */
 /* End PBXVariantGroup section */
 
 /* Begin XCBuildConfiguration section */
+		AA12A68A12671F1E00F77E61 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ARCHS = i386;
+				COPY_PHASE_STRIP = NO;
+				EXECUTABLE_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)";
+				EXECUTABLE_SUFFIX = .dll;
+				FRAMEWORK_SEARCH_PATHS = (
+					/Developer/Cocotron/1.0/Windows/i386/Frameworks,
+					"\"$(SDKROOT)/\"",
+				);
+				FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = /Developer/Cocotron/1.0/Windows/i386/Frameworks;
+				FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = /Developer/Cocotron/1.0/Windows/i386/Frameworks;
+				FRAMEWORK_VERSION = A;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_ENABLE_FIX_AND_CONTINUE = NO;
+				GCC_ENABLE_OBJC_GC = unsupported;
+				GCC_FAST_OBJC_DISPATCH = NO;
+				GCC_MODEL_TUNING = G5;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PRECOMPILE_PREFIX_HEADER = NO;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					__WIN32,
+					_WINDOWS,
+				);
+				INFOPLIST_FILE = "BWToolkitFramework-Info-Windows.plist";
+				INSTALL_PATH = "@loader_path/../Frameworks";
+				OTHER_LDFLAGS = (
+					"-Wl,--export-all-symbols",
+					"-shared",
+					"-Wl,--enable-auto-import",
+					"-Wl,--out-implib,$TARGET_BUILD_DIR/$(PRODUCT_NAME).framework/lib$(PRODUCT_NAME).a",
+				);
+				PRODUCT_NAME = BWToolkitFramework;
+				SDKROOT = cocotron32;
+				SKIP_INSTALL = NO;
+				VALID_ARCHS = i386;
+			};
+			name = Debug;
+		};
+		AA12A68B12671F1E00F77E61 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ARCHS = i386;
+				EXECUTABLE_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)";
+				EXECUTABLE_SUFFIX = .dll;
+				FRAMEWORK_SEARCH_PATHS = (
+					/Developer/Cocotron/1.0/Windows/i386/Frameworks,
+					"\"$(SDKROOT)/\"",
+				);
+				FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = /Developer/Cocotron/1.0/Windows/i386/Frameworks;
+				FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = /Developer/Cocotron/1.0/Windows/i386/Frameworks;
+				FRAMEWORK_VERSION = A;
+				GCC_ENABLE_FIX_AND_CONTINUE = NO;
+				GCC_ENABLE_OBJC_GC = unsupported;
+				GCC_FAST_OBJC_DISPATCH = NO;
+				GCC_MODEL_TUNING = G5;
+				GCC_PRECOMPILE_PREFIX_HEADER = NO;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					__WIN32,
+					_WINDOWS,
+				);
+				INFOPLIST_FILE = "BWToolkitFramework-Info-Windows.plist";
+				INSTALL_MODE_FLAG = "go-w,a+rX";
+				INSTALL_PATH = "@loader_path/../Frameworks";
+				OTHER_LDFLAGS = (
+					"-Wl,--export-all-symbols",
+					"-shared",
+					"-Wl,--enable-auto-import",
+					"-Wl,--out-implib,$TARGET_BUILD_DIR/$(PRODUCT_NAME).framework/lib$(PRODUCT_NAME).a",
+				);
+				PRODUCT_NAME = BWToolkitFramework;
+				SDKROOT = cocotron32;
+				SKIP_INSTALL = NO;
+				VALID_ARCHS = i386;
+			};
+			name = Release;
+		};
 		C056398008A954F8003078D8 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				DEBUG_INFORMATION_FORMAT = dwarf;
 				GCC_C_LANGUAGE_STANDARD = c99;
 				GCC_MODEL_TUNING = "";
-				GCC_VERSION = com.apple.compilers.llvmgcc42;
 				GCC_WARN_ABOUT_RETURN_TYPE = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				PREBINDING = NO;
-				SDKROOT = "";
 			};
 			name = Debug;
 		};
 				DEBUG_INFORMATION_FORMAT = dwarf;
 				GCC_C_LANGUAGE_STANDARD = c99;
 				GCC_MODEL_TUNING = "";
-				GCC_VERSION = com.apple.compilers.llvmgcc42;
 				GCC_WARN_ABOUT_RETURN_TYPE = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				PREBINDING = NO;
-				SDKROOT = "";
 			};
 			name = Release;
 		};
 /* End XCBuildConfiguration section */
 
 /* Begin XCConfigurationList section */
+		AA12A68912671F1E00F77E61 /* Build configuration list for PBXNativeTarget "BWToolkitFramework Windows" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				AA12A68A12671F1E00F77E61 /* Debug */,
+				AA12A68B12671F1E00F77E61 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
 		C056397F08A954F8003078D8 /* Build configuration list for PBXNativeTarget "BWToolkitFramework" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (

BWToolkitFramework-Info-Windows.plist

+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>English</string>
+	<key>CFBundleExecutable</key>
+	<string>BWToolkitFramework</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.brandonwalkin.BWToolkitFramework</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleSignature</key>
+	<string>????</string>
+	<key>CFBundleVersion</key>
+	<string>1.2.5</string>
+	<key>NSPrincipalClass</key>
+	<string>BWToolkit</string>
+</dict>
+</plist>

BWToolkitFramework.h

 #import "BWTransparentTextFieldCell.h"
 #import "BWUnanchoredButton.h"
 #import "BWUnanchoredButtonCell.h"
+
+#ifndef __APPLE__
+void BWToolkitFrameworkLoad();
+#endif

NSApplication+BWAdditions.m

 
 + (BOOL)bwIsOnLeopard 
 {
+#ifdef __APPLE__
 	SInt32 minorVersion, majorVersion;
 	Gestalt(gestaltSystemVersionMajor, &majorVersion);
 	Gestalt(gestaltSystemVersionMinor, &minorVersion);
 	return majorVersion == 10 && minorVersion == 5;
+#else
+    return NO;
+#endif
 }
 
 @end

NSView+BWAdditions.m

 
 - (id)bwAnimator
 {
+#ifdef __APPPLE__
 	float duration = [[NSAnimationContext currentContext] duration];
 	[self performSelector:@selector(bwTurnOffLayer) withObject:nil afterDelay:duration];
 	
 	return [self animator];
+#else
+    return self;
+#endif
 }
 
 - (void)bwTurnOffLayer
+//
+//  dllmain.m
+//  BWToolkit
+//
+//  Created by Christian Beer on 07.12.10.
+//  Copyright 2010 Christian Beer. All rights reserved.
+//
+
+/** For Cocotron: 
+ 
+ Frameworks and OBJCRegisterDLL on Windows
+ 
+ ** Warning, this will be automatic in the future so don't customize the code if you don't have to.
+ 
+ If you are compiling frameworks for Windows, you will need this code somewhere in it. I recommend creating a file
+ dllmain.m and adding it to the Windows target only. This only applies to frameworks which are you linking the .exe 
+ against, bundles don't need it.
+ 
+ */
+
+#import <windows.h>
+
+__declspec(dllimport) int OBJCRegisterDLL(HINSTANCE handle);
+
+int APIENTRY DllMain(HINSTANCE handle,DWORD reason,LPVOID _reserved) {
+    
+    if(reason==DLL_PROCESS_ATTACH)
+        return OBJCRegisterDLL(handle);
+    
+    return TRUE;
+}