[Unison-hackers] [unison-svn] r390 - in trunk/src: . uimacnew09 uimacnew09/English.lproj uimacnew09/Frameworks uimacnew09/Frameworks/BWToolkitFramework.framework uimacnew09/Frameworks/BWToolkitFramework.framework/Headers uimacnew09/Frameworks/BWToolkitFramework.framework/Resources uimacnew09/Frameworks/BWToolkitFramework.framework/Versions uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources uimacnew09/Frameworks/Growl.framework uimacnew09/Frameworks/Growl.framework/Headers uimacnew09/Frameworks/Growl.framework/Resources uimacnew09/Frameworks/Growl.framework/Versions uimacnew09/Frameworks/Growl.framework/Versions/A u! imacnew09/Frameworks/Growl.framework/Versions/A/Headers uimacnew09/Frameworks/Growl.framework/Versions/A/Resources uimacnew09/Frameworks/Growl.framework/Versions/Current uimacnew09/Frameworks/Growl.framework/Versions/Current/Headers uimacnew09/Frameworks/Growl.framework/Versions/Current/Resources uimacnew09/progressicons uimacnew09/tableicons uimacnew09/toolbar uimacnew09/uimacnew.xcodeproj

bcpierce@seas.upenn.edu bcpierce at seas.upenn.edu
Thu Dec 3 20:30:22 EST 2009


Author: bcpierce
Date: 2009-12-03 20:30:20 -0500 (Thu, 03 Dec 2009)
New Revision: 390

Added:
   trunk/src/uimacnew09/
   trunk/src/uimacnew09/Bridge.h
   trunk/src/uimacnew09/Bridge.m
   trunk/src/uimacnew09/English.lproj/
   trunk/src/uimacnew09/English.lproj/InfoPlist.strings
   trunk/src/uimacnew09/English.lproj/MainMenu.xib
   trunk/src/uimacnew09/Frameworks/
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/BWToolkitFramework
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWAnchoredButton.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWAnchoredButtonBar.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWAnchoredButtonCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWAnchoredPopUpButton.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWAnchoredPopUpButtonCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWGradientBox.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWHyperlinkButton.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWHyperlinkButtonCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWInsetTextField.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWSelectableToolbar.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWSheetController.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWSplitView.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWStyledTextField.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWStyledTextFieldCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTexturedSlider.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTexturedSliderCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTokenAttachmentCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTokenField.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTokenFieldCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWToolbarItem.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWToolbarShowColorsItem.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWToolbarShowFontsItem.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWToolkitFramework.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentButton.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentButtonCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentCheckbox.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentCheckboxCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentPopUpButton.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentPopUpButtonCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentScrollView.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentScroller.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentSlider.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentSliderCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentTableView.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentTableViewCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentTextFieldCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWUnanchoredButton.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWUnanchoredButtonCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSApplication+BWAdditions.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSColor+BWAdditions.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSImage+BWAdditions.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSTokenAttachment.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSTokenAttachmentCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSView+BWAdditions.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSWindow+BWAdditions.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/ButtonBarPullDownArrow.pdf
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/GradientSplitViewDimpleBitmap.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/GradientSplitViewDimpleVector.pdf
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/Info.plist
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/Library-SheetController.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/License.rtf
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/Release Notes.rtf
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderPhotoLarge.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderPhotoSmall.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderSpeakerLoud.png
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderSpeakerQuiet.png
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderThumbN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderThumbP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderTrackFill.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderTrackLeft.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderTrackRight.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/ToolbarItemColors.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/ToolbarItemFonts.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentButtonFillN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentButtonFillP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentButtonLeftN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentButtonLeftP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentButtonRightN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentButtonRightP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentCheckboxOffN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentCheckboxOffP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentCheckboxOnN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentCheckboxOnP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentPopUpFillN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentPopUpFillP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentPopUpLeftN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentPopUpLeftP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentPopUpPullDownRightN.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentPopUpPullDownRightP.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentPopUpRightN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentPopUpRightP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerKnobBottom.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerKnobHorizontalFill.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerKnobLeft.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerKnobRight.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerKnobTop.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerKnobVerticalFill.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerSlotBottom.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerSlotHorizontalFill.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerSlotLeft.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerSlotRight.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerSlotTop.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerSlotVerticalFill.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentSliderThumbN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentSliderThumbP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentSliderTrackFill.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentSliderTrackLeft.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentSliderTrackRight.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentSliderTriangleThumbN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentSliderTriangleThumbP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/BWToolkitFramework
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWAnchoredButton.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWAnchoredButtonBar.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWAnchoredButtonCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWAnchoredPopUpButton.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWAnchoredPopUpButtonCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWGradientBox.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWHyperlinkButton.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWHyperlinkButtonCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWInsetTextField.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWSelectableToolbar.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWSheetController.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWSplitView.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWStyledTextField.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWStyledTextFieldCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTexturedSlider.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTexturedSliderCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTokenAttachmentCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTokenField.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTokenFieldCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWToolbarItem.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWToolbarShowColorsItem.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWToolbarShowFontsItem.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWToolkitFramework.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentButton.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentButtonCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentCheckbox.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentCheckboxCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentPopUpButton.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentPopUpButtonCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentScrollView.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentScroller.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentSlider.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentSliderCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentTableView.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentTableViewCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentTextFieldCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWUnanchoredButton.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWUnanchoredButtonCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSApplication+BWAdditions.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSColor+BWAdditions.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSImage+BWAdditions.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSTokenAttachment.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSTokenAttachmentCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSView+BWAdditions.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSWindow+BWAdditions.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/ButtonBarPullDownArrow.pdf
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/GradientSplitViewDimpleBitmap.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/GradientSplitViewDimpleVector.pdf
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/Info.plist
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/Library-SheetController.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/License.rtf
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/Release Notes.rtf
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderPhotoLarge.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderPhotoSmall.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderSpeakerLoud.png
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderSpeakerQuiet.png
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderThumbN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderThumbP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderTrackFill.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderTrackLeft.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderTrackRight.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/ToolbarItemColors.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/ToolbarItemFonts.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentButtonFillN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentButtonFillP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentButtonLeftN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentButtonLeftP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentButtonRightN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentButtonRightP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentCheckboxOffN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentCheckboxOffP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentCheckboxOnN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentCheckboxOnP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentPopUpFillN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentPopUpFillP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentPopUpLeftN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentPopUpLeftP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentPopUpPullDownRightN.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentPopUpPullDownRightP.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentPopUpRightN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentPopUpRightP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerKnobBottom.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerKnobHorizontalFill.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerKnobLeft.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerKnobRight.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerKnobTop.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerKnobVerticalFill.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerSlotBottom.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerSlotHorizontalFill.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerSlotLeft.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerSlotRight.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerSlotTop.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerSlotVerticalFill.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentSliderThumbN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentSliderThumbP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentSliderTrackFill.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentSliderTrackLeft.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentSliderTrackRight.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentSliderTriangleThumbN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentSliderTriangleThumbP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/BWToolkitFramework
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWAnchoredButton.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWAnchoredButtonBar.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWAnchoredButtonCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWAnchoredPopUpButton.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWAnchoredPopUpButtonCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWGradientBox.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWHyperlinkButton.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWHyperlinkButtonCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWInsetTextField.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWSelectableToolbar.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWSheetController.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWSplitView.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWStyledTextField.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWStyledTextFieldCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTexturedSlider.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTexturedSliderCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTokenAttachmentCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTokenField.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTokenFieldCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWToolbarItem.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWToolbarShowColorsItem.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWToolbarShowFontsItem.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWToolkitFramework.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentButton.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentButtonCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentCheckbox.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentCheckboxCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentPopUpButton.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentPopUpButtonCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentScrollView.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentScroller.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentSlider.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentSliderCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentTableView.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentTableViewCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentTextFieldCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWUnanchoredButton.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWUnanchoredButtonCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSApplication+BWAdditions.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSColor+BWAdditions.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSImage+BWAdditions.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSTokenAttachment.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSTokenAttachmentCell.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSView+BWAdditions.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSWindow+BWAdditions.h
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/ButtonBarPullDownArrow.pdf
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/GradientSplitViewDimpleBitmap.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/GradientSplitViewDimpleVector.pdf
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/Info.plist
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/Library-SheetController.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/License.rtf
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/Release Notes.rtf
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderPhotoLarge.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderPhotoSmall.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderSpeakerLoud.png
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderSpeakerQuiet.png
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderThumbN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderThumbP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderTrackFill.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderTrackLeft.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderTrackRight.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/ToolbarItemColors.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/ToolbarItemFonts.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentButtonFillN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentButtonFillP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentButtonLeftN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentButtonLeftP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentButtonRightN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentButtonRightP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentCheckboxOffN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentCheckboxOffP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentCheckboxOnN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentCheckboxOnP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentPopUpFillN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentPopUpFillP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentPopUpLeftN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentPopUpLeftP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentPopUpPullDownRightN.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentPopUpPullDownRightP.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentPopUpRightN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentPopUpRightP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerKnobBottom.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerKnobHorizontalFill.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerKnobLeft.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerKnobRight.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerKnobTop.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerKnobVerticalFill.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerSlotBottom.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerSlotHorizontalFill.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerSlotLeft.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerSlotRight.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerSlotTop.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerSlotVerticalFill.tif
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentSliderThumbN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentSliderThumbP.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentSliderTrackFill.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentSliderTrackLeft.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentSliderTrackRight.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentSliderTriangleThumbN.tiff
   trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentSliderTriangleThumbP.tiff
   trunk/src/uimacnew09/Frameworks/Growl.framework/
   trunk/src/uimacnew09/Frameworks/Growl.framework/Growl
   trunk/src/uimacnew09/Frameworks/Growl.framework/Headers/
   trunk/src/uimacnew09/Frameworks/Growl.framework/Headers/Growl.h
   trunk/src/uimacnew09/Frameworks/Growl.framework/Headers/GrowlApplicationBridge-Carbon.h
   trunk/src/uimacnew09/Frameworks/Growl.framework/Headers/GrowlApplicationBridge.h
   trunk/src/uimacnew09/Frameworks/Growl.framework/Headers/GrowlDefines.h
   trunk/src/uimacnew09/Frameworks/Growl.framework/Resources/
   trunk/src/uimacnew09/Frameworks/Growl.framework/Resources/Info.plist
   trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/
   trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/
   trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/Growl
   trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/Headers/
   trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/Headers/Growl.h
   trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/Headers/GrowlApplicationBridge-Carbon.h
   trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/Headers/GrowlApplicationBridge.h
   trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/Headers/GrowlDefines.h
   trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/Resources/
   trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/Resources/Info.plist
   trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/
   trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/Growl
   trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/Headers/
   trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/Headers/Growl.h
   trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/Headers/GrowlApplicationBridge-Carbon.h
   trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/Headers/GrowlApplicationBridge.h
   trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/Headers/GrowlDefines.h
   trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/Resources/
   trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/Resources/Info.plist
   trunk/src/uimacnew09/ImageAndTextCell.h
   trunk/src/uimacnew09/ImageAndTextCell.m
   trunk/src/uimacnew09/Info.plist
   trunk/src/uimacnew09/Info.plist.template
   trunk/src/uimacnew09/MyController.h
   trunk/src/uimacnew09/MyController.m
   trunk/src/uimacnew09/NotificationController.h
   trunk/src/uimacnew09/NotificationController.m
   trunk/src/uimacnew09/PreferencesController.h
   trunk/src/uimacnew09/PreferencesController.m
   trunk/src/uimacnew09/ProfileController.h
   trunk/src/uimacnew09/ProfileController.m
   trunk/src/uimacnew09/ProfileTableView.h
   trunk/src/uimacnew09/ProfileTableView.m
   trunk/src/uimacnew09/ProgressCell.h
   trunk/src/uimacnew09/ProgressCell.m
   trunk/src/uimacnew09/ReconItem.h
   trunk/src/uimacnew09/ReconItem.m
   trunk/src/uimacnew09/ReconTableView.h
   trunk/src/uimacnew09/ReconTableView.m
   trunk/src/uimacnew09/TrevorsUnison.icns
   trunk/src/uimacnew09/Unison.icns
   trunk/src/uimacnew09/UnisonToolbar.h
   trunk/src/uimacnew09/UnisonToolbar.m
   trunk/src/uimacnew09/cltool.c
   trunk/src/uimacnew09/main.m
   trunk/src/uimacnew09/progressicons/
   trunk/src/uimacnew09/progressicons/ProgressBarAdvanced.png
   trunk/src/uimacnew09/progressicons/ProgressBarBlue.png
   trunk/src/uimacnew09/progressicons/ProgressBarEndAdvanced.png
   trunk/src/uimacnew09/progressicons/ProgressBarEndBlue.png
   trunk/src/uimacnew09/progressicons/ProgressBarEndGray.png
   trunk/src/uimacnew09/progressicons/ProgressBarEndGreen.png
   trunk/src/uimacnew09/progressicons/ProgressBarEndWhite.png
   trunk/src/uimacnew09/progressicons/ProgressBarGray.png
   trunk/src/uimacnew09/progressicons/ProgressBarGreen.png
   trunk/src/uimacnew09/progressicons/ProgressBarLightGreen.png
   trunk/src/uimacnew09/progressicons/ProgressBarWhite.png
   trunk/src/uimacnew09/tableicons/
   trunk/src/uimacnew09/tableicons/Change_Absent.png
   trunk/src/uimacnew09/tableicons/Change_Created.png
   trunk/src/uimacnew09/tableicons/Change_Deleted.png
   trunk/src/uimacnew09/tableicons/Change_Modified.png
   trunk/src/uimacnew09/tableicons/Change_PropsChanged.png
   trunk/src/uimacnew09/tableicons/Change_Unmodified.png
   trunk/src/uimacnew09/tableicons/Outline-Deep.png
   trunk/src/uimacnew09/tableicons/Outline-Flat.png
   trunk/src/uimacnew09/tableicons/Outline-Flattened.png
   trunk/src/uimacnew09/tableicons/table-conflict.tif
   trunk/src/uimacnew09/tableicons/table-error.tif
   trunk/src/uimacnew09/tableicons/table-left-blue.tif
   trunk/src/uimacnew09/tableicons/table-left-green.tif
   trunk/src/uimacnew09/tableicons/table-merge.tif
   trunk/src/uimacnew09/tableicons/table-mixed.tif
   trunk/src/uimacnew09/tableicons/table-right-blue.tif
   trunk/src/uimacnew09/tableicons/table-right-green.tif
   trunk/src/uimacnew09/tableicons/table-skip.tif
   trunk/src/uimacnew09/toolbar/
   trunk/src/uimacnew09/toolbar/add.tif
   trunk/src/uimacnew09/toolbar/diff.tif
   trunk/src/uimacnew09/toolbar/go.tif
   trunk/src/uimacnew09/toolbar/left.tif
   trunk/src/uimacnew09/toolbar/merge.tif
   trunk/src/uimacnew09/toolbar/quit.tif
   trunk/src/uimacnew09/toolbar/rescan.tif
   trunk/src/uimacnew09/toolbar/restart.tif
   trunk/src/uimacnew09/toolbar/right.tif
   trunk/src/uimacnew09/toolbar/save.tif
   trunk/src/uimacnew09/toolbar/skip.tif
   trunk/src/uimacnew09/uimacnew.xcodeproj/
   trunk/src/uimacnew09/uimacnew.xcodeproj/project.pbxproj
Modified:
   trunk/src/Makefile.OCaml
   trunk/src/README
   trunk/src/RECENTNEWS
   trunk/src/mkProjectInfo.ml
Log:
* Incorporated new version of OSX GUI with numerous improvements and
  bugfixes by Markus Gross.  (Not compiling yet on my machine, though.)


Modified: trunk/src/Makefile.OCaml
===================================================================
--- trunk/src/Makefile.OCaml	2009-11-29 13:56:09 UTC (rev 389)
+++ trunk/src/Makefile.OCaml	2009-12-04 01:30:20 UTC (rev 390)
@@ -59,8 +59,9 @@
 #     UISTYLE=text
 #     UISTYLE=gtk
 #     UISTYLE=gtk2
-#     UISTYLE=mac     (old and limited, but working)
-#     UISTYLE=macnew  (spiffy, but not yet extensively tested)
+#     UISTYLE=mac       (old and limited, but working)
+#     UISTYLE=macnew    (spiffier)
+#     UISTYLE=macnew09  (even spiffier, but not yet extensively tested)
 #
 # This should be set to an appropriate value automatically, depending
 # on whether the lablgtk library is available
@@ -162,9 +163,14 @@
   buildexecutable:: macexecutable
   UIMACDIR=uimacnew
 else
+ifeq ($(UISTYLE),macnew09)
+  buildexecutable:: macexecutable
+  UIMACDIR=uimacnew09
+else
   buildexecutable:: $(NAME)$(EXEC_EXT)
 endif
 endif
+endif
 
 MINOSXVERSION=10.5
 # XCODEFLAGS=-sdk macosx$(MINOSXVERSION)
@@ -241,6 +247,14 @@
   INCLFLAGS+=-thread 
 endif
 
+## New Mac UI, 2009 version
+ifeq ($(UISTYLE),macnew09)
+  OCAMLOBJS+=uimacbridgenew.cmo
+  THREADS=true
+  OCAMLLIBS+=threads.cma
+  INCLFLAGS+=-thread 
+endif
+
 ## Graphic UI
 
 # Setup the lib directories

Modified: trunk/src/README
===================================================================
--- trunk/src/README	2009-11-29 13:56:09 UTC (rev 389)
+++ trunk/src/README	2009-12-04 01:30:20 UTC (rev 390)
@@ -6,6 +6,8 @@
 
 Installation instructions are in the file INSTALL.
 
+License and copying information can be found in the file COPYING
+
 Full documentation can be found on the Unison home page.
 
 Contacts:
@@ -14,3 +16,15 @@
       unison-users at groups.yahoo.com 
   - You can subscribe to this list using Yahoo's web interface
       http://groups.yahoo.com/group/unison-users
+
+Credits:
+
+OS X Unison Icon taken from Mac4Lin (LGPL)
+     http://sourceforge.net/projects/mac4lin/
+Some icons in the OSX GUI are directly taken from Matt Ball's developer icons 
+     (Creative Commons Attribution 3.0)  
+Others are based on Matt Ball's developer icons (Creative Commons Attribution 3.0)
+     http://www.mattballdesign.com/blog/2009/11/23/developer-icons-are-back-online/
+OSX GUI elements from BWToolkit (three-clause BSD license)
+     http://www.brandonwalkin.com/bwtoolkit/
+

Modified: trunk/src/RECENTNEWS
===================================================================
--- trunk/src/RECENTNEWS	2009-11-29 13:56:09 UTC (rev 389)
+++ trunk/src/RECENTNEWS	2009-12-04 01:30:20 UTC (rev 390)
@@ -1,5 +1,11 @@
 CHANGES FROM VERSION 2.38.0
 
+* Incorporated new version of OSX GUI with numerous improvements and
+  bugfixes by Markus Gross.  (Not compiling yet on my machine, though.)
+
+-------------------------------
+CHANGES FROM VERSION 2.38.0
+
 * Small doc tweak in tutorial
 
 * Add preference to ignore existing archives (to avoid forcing users

Modified: trunk/src/mkProjectInfo.ml
===================================================================
--- trunk/src/mkProjectInfo.ml	2009-11-29 13:56:09 UTC (rev 389)
+++ trunk/src/mkProjectInfo.ml	2009-12-04 01:30:20 UTC (rev 390)
@@ -88,3 +88,4 @@
 Printf.printf "NAME=%s\n" projectName;;
 
 
+

Added: trunk/src/uimacnew09/Bridge.h
===================================================================
--- trunk/src/uimacnew09/Bridge.h	                        (rev 0)
+++ trunk/src/uimacnew09/Bridge.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,58 @@
+//
+//  Bridge.h
+//  uimac
+//
+//  Created by Craig Federighi on 4/25/07.
+//  Copyright 2007 __MyCompanyName__. All rights reserved.
+//
+#import <Cocoa/Cocoa.h>
+
+/*
+	Bridge supports safe calling from C back to OCaml by using daemon threads
+	spawned from OCaml to make the actual calls and converting all argument / return values
+	in the OCaml thread (when in possession of the OCaml lock)
+*/
+ at interface Bridge : NSObject {
+}
++ (void)startup:(const char **)argv;	
+ at end
+
+/*
+	ocamlCall(sig, funcName, [args...]);
+	
+	Call ocaml function (via safe thread handoff mechanism).
+	Args/return values are converted to/from C/OCaml according to the
+	supplied type signture string.  Type codes are:
+		x	- void (for return type)
+		i	- int
+		s	- char *
+		S	- NSString *
+		@	- OCamlValue (see below)
+		v	- unwrapped OCaml value (deprecated -- unsafe!)
+		
+	Examples:
+		int count = (int)ocamlCall("iS", "lengthOfString", @"Some String");
+		
+		(void)ocamlCall("x", "someVoidOCamlFunction");
+		
+		OCamlValue *v = (id)ocamlCall("@Si", "makeArray", @"Some String", 10);
+		NSString s = [v getField:0 withType:'S'];
+*/
+extern void *ocamlCall(const char *argTypes, ...);
+
+// Wrapper/proxy for unconverted OCaml values
+ at interface OCamlValue : NSObject {
+	int _v;
+}
+- initWithValue:(int)v;
+
+- (void *)getField:(int)i withType:(char)t;
+	// get value by position.  See ocamlCall for list of type conversion codes
+	
+- (int)count;
+	// count of items in array
+	
+- (int)value;
+	// returns Ocaml value directly -- not safe to use except in direct callback from OCaml
+	// (i.e. in the OCaml thread)
+ at end

Added: trunk/src/uimacnew09/Bridge.m
===================================================================
--- trunk/src/uimacnew09/Bridge.m	                        (rev 0)
+++ trunk/src/uimacnew09/Bridge.m	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,402 @@
+//
+//  Bridge.m
+//  uimac
+//
+//  Created by Craig Federighi on 4/25/07.
+//  Copyright 1999-2008 (see COPYING for details)
+//
+
+#import "Bridge.h"
+#define CAML_NAME_SPACE
+#include <caml/callback.h>
+#include <caml/alloc.h>
+#include <caml/mlvalues.h>
+#include <caml/memory.h>
+#include <caml/signals.h>
+#import <ExceptionHandling/NSExceptionHandler.h>
+
+#include <pthread.h>
+#include <stdarg.h>
+
+/*
+ CMF, April 2007:  Alternate strategy for solving UI crashes based on 
+ http://alan.petitepomme.net/cwn/2005.03.08.html#9:
+ 1) Run OCaml in a separate thread from the Cocoa main run loop.
+ 2) Handle all calls to OCaml as callbacks -- have an OCaml thread
+    hang in C-land and use mutexes and conditions to pass control from the
+    C calling thread to the OCaml callback thread.
+	
+ Value Conversion Done in Bridge Thread:
+ Value creation/conversion (like calls to caml_named_value or caml_copy_string) 
+ or access calls (like Field) need to occur in the OCaml thread.  We do this by
+ passing C args for conversion to the bridgeThreadWait() thread.
+ 
+ Example of vulnerability:
+ Field(caml_reconItems,j) could dereference caml_reconItems
+ when the GC (running independently in an OCaml thread) could be moving it.
+*/
+
+pthread_mutex_t init_lock = PTHREAD_MUTEX_INITIALIZER;
+pthread_cond_t init_cond = PTHREAD_COND_INITIALIZER;
+static BOOL doneInit = false;
+
+pthread_mutex_t global_call_lock = PTHREAD_MUTEX_INITIALIZER;
+pthread_cond_t global_call_cond = PTHREAD_COND_INITIALIZER;
+pthread_mutex_t global_res_lock = PTHREAD_MUTEX_INITIALIZER;
+pthread_cond_t global_res_cond = PTHREAD_COND_INITIALIZER;
+
+ at implementation Bridge
+static Bridge *_instance = NULL;
+
+const char **the_argv;
+
+- (void)_ocamlStartup:(id)ignore
+{
+
+    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+   	pthread_mutex_lock(&init_lock);
+
+    /* Initialize ocaml gc, etc. */
+    caml_startup((char **)the_argv); // cast to avoid warning, caml_startup assumes non-const,
+                                 // NSApplicationMain assumes const
+	
+	// Register these with the collector
+	// NSLog(@"*** _ocamlStartup - back from startup; signalling! (%d)", pthread_self());
+    doneInit = TRUE;
+	pthread_cond_signal(&init_cond);
+   	pthread_mutex_unlock(&init_lock);
+			 
+	// now start the callback thread
+	// NSLog(@"*** _ocamlStartup - calling callbackThreadCreate (%d)", pthread_self());
+	value *f = caml_named_value("callbackThreadCreate");
+	(void)caml_callback_exn(*f,Val_unit);
+    [pool release];
+}
+
++ (void)startup:(const char **)argv
+{
+	if (_instance) return;
+	
+	_instance = [[Bridge alloc] init];
+
+	[[NSExceptionHandler defaultExceptionHandler] setDelegate:_instance];
+	[[NSExceptionHandler defaultExceptionHandler] setExceptionHandlingMask:
+		(NSLogUncaughtExceptionMask  | NSLogTopLevelExceptionMask)];
+
+	// Init OCaml in another thread and wait for it to be ready
+   	pthread_mutex_lock(&init_lock);
+	the_argv = argv;
+	[NSThread detachNewThreadSelector:@selector(_ocamlStartup:)
+		toTarget:_instance withObject:nil];
+
+	// NSLog(@"*** waiting for completion of caml_init");
+	while (!doneInit) pthread_cond_wait(&init_cond, &init_lock);
+   	pthread_mutex_unlock(&init_lock);
+	// NSLog(@"*** caml_init complete!");
+}
+
+- (BOOL)exceptionHandler:(NSExceptionHandler *)sender shouldLogException:(NSException *)exception mask:(unsigned int)aMask
+{
+	// if (![[exception name] isEqual:@"OCamlException"]) return YES;
+	
+    NSString *msg = [NSString stringWithFormat:@"Uncaught exception: %@", [exception reason]];
+    msg = [[msg componentsSeparatedByString:@"\n"] componentsJoinedByString:@" "];
+    NSLog(@"%@", msg);
+    NSRunAlertPanel(@"Fatal error", msg, @"Exit", nil, nil);
+	exit(1);
+	return FALSE;
+}
+
+ at end
+
+
+// CallState struct is allocated on the C thread stack and then handed
+// to the OCaml callback thread to perform value conversion and issue the call
+typedef struct  {
+	enum { SafeCall, OldCall, FieldAccess } opCode;
+	
+	// New style calls
+	const char *argTypes;
+	va_list args;
+
+	// Field access
+	value *valueP;
+	int fieldIndex;
+	char fieldType;
+	
+	// Return values
+	char *exception;
+	void *retV;
+	BOOL _autorelease;
+	
+	// for old style (unsafe) calls
+	value call, a1, a2, a3, ret;
+	int argCount;
+} CallState;
+
+static CallState *_CallState = NULL;
+static CallState *_RetState = NULL;
+
+// Our OCaml callback server thread -- waits for call then makes them
+// Called from thread spawned from OCaml
+CAMLprim value bridgeThreadWait(int ignore)
+{
+	value args[10];
+	
+	// NSLog(@"*** bridgeThreadWait init!  (%d) Taking lock...", pthread_self());
+	while (TRUE) {
+		// unblock ocaml while we wait for work
+		caml_enter_blocking_section();
+		
+		pthread_mutex_lock(&global_call_lock);
+		while (!_CallState) pthread_cond_wait(&global_call_cond, &global_call_lock);
+
+		// pick up our work and free up the call lock for other threads
+		CallState *cs = _CallState;
+		_CallState = NULL;		
+		pthread_mutex_unlock(&global_call_lock);
+		
+     	// NSLog(@"*** bridgeThreadWait: have call -- leaving caml_blocking_section");
+		
+		// we have a call to do -- get the ocaml lock
+		caml_leave_blocking_section();
+		
+    	// NSLog(@"*** bridgeThreadWait: doing call");
+
+        NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+
+		char retType = 'v';
+		value e = Val_unit;
+		if (cs->opCode == SafeCall) {
+			char *fname = va_arg(cs->args, char *);
+			value *f = caml_named_value(fname);
+			// varargs with C-based args -- convert them to OCaml values based on type code string
+			const char *p = cs->argTypes;
+			retType = *p++;
+			int argCount = 0;
+			for(; *p != '\0'; p++) {
+				const char *str;
+				switch (*p) {
+					case 's':
+						str = va_arg(cs->args, const char *);
+						args[argCount] = caml_copy_string(str);
+						break;
+					case 'S':
+						str = [va_arg(cs->args, NSString *) UTF8String];
+						args[argCount] = caml_copy_string(str);
+						break;
+					case 'n':
+						// leak?
+						args[argCount] = *caml_named_value(va_arg(cs->args, char *));
+						break;
+					case 'i':
+						args[argCount] = Val_int(va_arg(cs->args, int));
+						break;
+					case 'v':
+						args[argCount] = va_arg(cs->args, value);
+						break;
+					case '@':
+						args[argCount] = [va_arg(cs->args, OCamlValue *) value];
+						break;
+				}
+				argCount++;
+			}
+			// Call OCaml -- TODO: add support for > 3 args
+			if (argCount == 3) e = caml_callback3_exn(*f,args[0],args[1],args[2]);
+			else if (argCount == 2) e = caml_callback2_exn(*f,args[0],args[1]);
+			else if (argCount == 1) e = caml_callback_exn(*f,args[0]);
+			else e = caml_callback_exn(*f,Val_unit);			
+		} else if (cs->opCode == OldCall) {
+			// old style (unsafe) version where OCaml values were passed directly from C thread
+			if (cs->argCount == 3) e = caml_callback3_exn(cs->call,cs->a1,cs->a2,cs->a3);
+			else if (cs->argCount == 2) e = caml_callback2_exn(cs->call,cs->a1,cs->a2);
+			else e = caml_callback_exn(cs->call,cs->a1);
+			retType = 'v';
+		} else if (cs->opCode == FieldAccess) {
+			int index = cs->fieldIndex;
+			e = (index == -1) ? Val_int(Wosize_val(*cs->valueP)) : Field(*cs->valueP, cs->fieldIndex);
+			retType = cs->fieldType;
+		}
+		
+		// Process return value
+		cs->_autorelease = FALSE;
+		cs->ret = e; // OCaml return type -- unsafe...
+		if (!Is_exception_result(e)) {
+			switch (retType) {
+				case 's':
+					*((char **)&cs->retV) = (e == Val_unit) ? NULL : String_val(e);
+					break;
+				case 'S':
+					*((NSString **)&cs->retV) = (e == Val_unit) ? NULL : [[NSString alloc] initWithUTF8String:String_val(e)];
+					cs->_autorelease = TRUE;
+					break;
+				case '@':
+					*((NSObject **)&cs->retV) = (e == Val_unit) ? NULL : [[OCamlValue alloc] initWithValue:e];
+					cs->_autorelease = TRUE;
+					break;
+				case 'v':
+					*((value *)&cs->retV) = e;
+					break;
+				case 'i':
+					*((int *)&cs->retV) = Int_val(e);
+					break;
+			}
+		}
+
+		if (Is_exception_result(e)) {
+			// get exception string -- it will get thrown back in the calling thread
+		    value *f = caml_named_value("unisonExnInfo");
+			cs->exception = String_val(caml_callback(*f,Extract_exception(e)));
+		}
+		
+ 	    [pool release];
+
+    	// NSLog(@"*** bridgeThreadWait: returning");
+
+		// we're done, signal back
+		pthread_mutex_lock(&global_res_lock);
+		_RetState = cs;
+		pthread_cond_signal(&global_res_cond);
+		pthread_mutex_unlock(&global_res_lock);
+	}
+	// Never get here...
+    return Val_unit;
+}
+
+void *_passCall(CallState *cs)
+{
+    pthread_mutex_lock(&global_call_lock);
+	_CallState = cs;
+
+	// signal so call can happen on other thread
+	pthread_mutex_lock(&global_res_lock);
+	pthread_cond_signal(&global_call_cond);
+	pthread_mutex_unlock(&global_call_lock);
+
+	// NSLog(@"*** _passCall (%d) -- performing signal and waiting", pthread_self());
+
+	// wait until done -- make sure the result is for our call
+	while (_RetState != cs) pthread_cond_wait(&global_res_cond, &global_res_lock);
+	_RetState = NULL;
+	pthread_mutex_unlock(&global_res_lock);
+
+	// NSLog(@"*** doCallback -- back with result");
+	if (cs->exception) {
+		@throw [NSException exceptionWithName:@"OCamlException"
+				reason:[NSString stringWithUTF8String:cs->exception]
+				userInfo:nil];
+	}
+	if (cs->_autorelease) [((id)cs->retV) autorelease];
+    return cs->retV;
+}
+
+void *ocamlCall(const char *argTypes, ...)
+{
+	va_list ap;
+	va_start(ap, argTypes);
+	CallState cs;
+	cs.opCode = SafeCall;
+	cs.exception = NULL;
+	cs.argTypes = argTypes;
+	cs.args = ap;
+	void * res = _passCall(&cs);
+	
+	va_end(ap);
+	return res;
+}
+
+void *getField(value *vP, int index, char type)
+{
+	CallState cs;
+	cs.opCode = FieldAccess;
+	cs.valueP = vP;
+	cs.fieldIndex = index;
+	cs.fieldType = type;
+	cs.exception = NULL;
+	return _passCall(&cs);
+}
+
+ at implementation OCamlValue
+
+- initWithValue:(int)v
+{
+	[super init];
+	_v = v;
+	caml_register_global_root((value *)&_v);
+	return self;
+}
+
+- (int)count
+{
+	return (int)getField((value *)&_v, -1, 'i');
+}
+
+- (void *)getField:(int)i withType:(char)t
+{
+	return getField((value *)&_v, i, t);
+}
+
+- (int)value 
+{
+	// Unsafe to use!
+	return _v;
+}
+
+- (void)dealloc
+{
+	_v = Val_unit;
+    caml_remove_global_root((value *)&_v);
+	[super dealloc];
+}
+ at end
+
+
+// Legacy OCaml call API -- no longer needed
+#if 0
+
+extern value doCallback (value c, int argcount, value v1, value v2, value v3, BOOL exitOnException);
+extern value Callback_checkexn(value c,value v);
+extern value Callback2_checkexn(value c,value v1,value v2);
+extern value Callback3_checkexn(value c,value v1,value v2,value v3);
+
+void reportExn(const char *msg) {
+    NSString *s = [NSString stringWithFormat:@"Uncaught exception: %s", msg];
+    s = [[s componentsSeparatedByString:@"\n"] componentsJoinedByString:@" "];
+    NSLog(@"%@",s);
+    NSRunAlertPanel(@"Fatal error",s,@"Exit",nil,nil);
+}
+
+// FIXME!  Claim is that value conversion must also happen in the OCaml thread...
+value doCallback (value c, int argcount, value v1, value v2, value v3, BOOL exitOnException) {
+	// NSLog(@"*** doCallback: (%d) -- trying to acquire global lock", pthread_self());
+	CallState cs;
+	cs.opCode = OldCall;
+	cs.exception = NULL;
+	cs.call = c;
+	cs.a1 = v1;
+	cs.a2 = v2;
+	cs.a3 = v3;
+	cs.argCount = argcount;
+	@try {
+		return _passCall(&cs);
+	} @catch (NSException *ex) {
+		if (exitOnException) {
+			reportExn(cs.exception);
+			exit(1);
+		}
+		@throw ex;
+	}
+}
+
+value Callback_checkexn(value c,value v) {
+    return doCallback(c, 1, v, 0, 0, TRUE);
+}
+
+value Callback2_checkexn(value c,value v1,value v2) {
+    return doCallback(c, 2, v1, v2, 0, TRUE);
+}
+
+value Callback3_checkexn(value c,value v1,value v2,value v3) {
+    return doCallback(c, 3, v1, v2, v3, TRUE);
+}
+#endif

Added: trunk/src/uimacnew09/English.lproj/InfoPlist.strings
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/English.lproj/InfoPlist.strings
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/English.lproj/MainMenu.xib
===================================================================
--- trunk/src/uimacnew09/English.lproj/MainMenu.xib	                        (rev 0)
+++ trunk/src/uimacnew09/English.lproj/MainMenu.xib	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,5224 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
+	<data>
+		<int key="IBDocument.SystemTarget">1050</int>
+		<string key="IBDocument.SystemVersion">10C540</string>
+		<string key="IBDocument.InterfaceBuilderVersion">740</string>
+		<string key="IBDocument.AppKitVersion">1038.25</string>
+		<string key="IBDocument.HIToolboxVersion">458.00</string>
+		<dictionary class="NSMutableDictionary" key="IBDocument.PluginVersions">
+			<string key="com.apple.InterfaceBuilder.CocoaPlugin">740</string>
+			<string key="com.brandonwalkin.BWToolkit">1.2.2</string>
+		</dictionary>
+		<array class="NSMutableArray" key="IBDocument.EditedObjectIDs">
+			<integer value="29"/>
+			<integer value="590"/>
+		</array>
+		<array key="IBDocument.PluginDependencies">
+			<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+			<string>com.brandonwalkin.BWToolkit</string>
+		</array>
+		<dictionary class="NSMutableDictionary" key="IBDocument.Metadata"/>
+		<array class="NSMutableArray" key="IBDocument.RootObjects" id="892182555">
+			<object class="NSCustomObject" id="37863316">
+				<object class="NSMutableString" key="NSClassName">
+					<characters key="NS.bytes">NSApplication</characters>
+				</object>
+			</object>
+			<object class="NSCustomObject" id="279913758">
+				<string key="NSClassName">FirstResponder</string>
+			</object>
+			<object class="NSCustomObject" id="878192733">
+				<string key="NSClassName">NSApplication</string>
+			</object>
+			<object class="NSWindowTemplate" id="355605687">
+				<int key="NSWindowStyleMask">4111</int>
+				<int key="NSWindowBacking">2</int>
+				<string key="NSWindowRect">{{0, 364}, {480, 360}}</string>
+				<int key="NSWTFlags">1881669632</int>
+				<string key="NSWindowTitle">Unison</string>
+				<string key="NSWindowClass">NSWindow</string>
+				<object class="NSMutableString" key="NSViewClass">
+					<characters key="NS.bytes">View</characters>
+				</object>
+				<string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
+				<string key="NSWindowContentMinSize">{213, 107}</string>
+				<object class="NSView" key="NSWindowView" id="232668648">
+					<nil key="NSNextResponder"/>
+					<int key="NSvFlags">256</int>
+					<array class="NSMutableArray" key="NSSubviews">
+						<object class="NSSegmentedControl" id="384288444">
+							<reference key="NSNextResponder" ref="232668648"/>
+							<int key="NSvFlags">296</int>
+							<string key="NSFrame">{{370, 317}, {83, 24}}</string>
+							<reference key="NSSuperview" ref="232668648"/>
+							<bool key="NSEnabled">YES</bool>
+							<object class="NSSegmentedCell" key="NSCell" id="673426767">
+								<int key="NSCellFlags">67239424</int>
+								<int key="NSCellFlags2">0</int>
+								<object class="NSFont" key="NSSupport" id="599111291">
+									<string key="NSName">LucidaGrande</string>
+									<double key="NSSize">13</double>
+									<int key="NSfFlags">1044</int>
+								</object>
+								<reference key="NSControlView" ref="384288444"/>
+								<array class="NSMutableArray" key="NSSegmentImages">
+									<object class="NSSegmentItem">
+										<double key="NSSegmentItemWidth">24</double>
+										<object class="NSCustomResource" key="NSSegmentItemImage">
+											<string key="NSClassName">NSImage</string>
+											<string key="NSResourceName">Outline-Flat</string>
+										</object>
+										<string key="NSSegmentItemLabel"/>
+										<int key="NSSegmentItemTag">1</int>
+										<int key="NSSegmentItemImageScaling">2</int>
+									</object>
+									<object class="NSSegmentItem">
+										<double key="NSSegmentItemWidth">25.333333969116211</double>
+										<object class="NSCustomResource" key="NSSegmentItemImage">
+											<string key="NSClassName">NSImage</string>
+											<string key="NSResourceName">Outline-Flattened</string>
+										</object>
+										<string key="NSSegmentItemLabel">O</string>
+										<int key="NSSegmentItemTag">2</int>
+										<bool key="NSSegmentItemSelected">YES</bool>
+										<int key="NSSegmentItemImageScaling">2</int>
+									</object>
+									<object class="NSSegmentItem">
+										<double key="NSSegmentItemWidth">25.333333969116211</double>
+										<object class="NSCustomResource" key="NSSegmentItemImage">
+											<string key="NSClassName">NSImage</string>
+											<string key="NSResourceName">Outline-Deep</string>
+										</object>
+										<string key="NSSegmentItemLabel">D</string>
+										<int key="NSSegmentItemTag">3</int>
+										<int key="NSSegmentItemImageScaling">2</int>
+									</object>
+								</array>
+								<int key="NSSelectedSegment">1</int>
+							</object>
+						</object>
+					</array>
+					<string key="NSFrameSize">{480, 360}</string>
+				</object>
+				<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
+				<string key="NSMinSize">{213, 129}</string>
+				<string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
+				<string key="NSFrameAutosaveName">mainWindow</string>
+			</object>
+			<object class="NSMenu" id="395658688">
+				<string key="NSTitle">MainMenu</string>
+				<array class="NSMutableArray" key="NSMenuItems">
+					<object class="NSMenuItem" id="639283572">
+						<reference key="NSMenu" ref="395658688"/>
+						<string key="NSTitle">Unison</string>
+						<string key="NSKeyEquiv"/>
+						<int key="NSKeyEquivModMask">1048576</int>
+						<int key="NSMnemonicLoc">2147483647</int>
+						<object class="NSCustomResource" key="NSOnImage" id="151838310">
+							<string key="NSClassName">NSImage</string>
+							<string key="NSResourceName">NSMenuCheckmark</string>
+						</object>
+						<object class="NSCustomResource" key="NSMixedImage" id="1045142073">
+							<string key="NSClassName">NSImage</string>
+							<string key="NSResourceName">NSMenuMixedState</string>
+						</object>
+						<string key="NSAction">submenuAction:</string>
+						<object class="NSMenu" key="NSSubmenu" id="77554793">
+							<string key="NSTitle">Unison</string>
+							<array class="NSMutableArray" key="NSMenuItems">
+								<object class="NSMenuItem" id="551642701">
+									<reference key="NSMenu" ref="77554793"/>
+									<string key="NSTitle">About Unison</string>
+									<string key="NSKeyEquiv"/>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="671453401">
+									<reference key="NSMenu" ref="77554793"/>
+									<bool key="NSIsDisabled">YES</bool>
+									<bool key="NSIsSeparator">YES</bool>
+									<string key="NSTitle"/>
+									<string key="NSKeyEquiv"/>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="837410352">
+									<reference key="NSMenu" ref="77554793"/>
+									<string key="NSTitle">Preferences...</string>
+									<string key="NSKeyEquiv">,</string>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="251970986">
+									<reference key="NSMenu" ref="77554793"/>
+									<string key="NSTitle">Install command-line tool</string>
+									<string key="NSKeyEquiv"/>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="227484062">
+									<reference key="NSMenu" ref="77554793"/>
+									<bool key="NSIsDisabled">YES</bool>
+									<bool key="NSIsSeparator">YES</bool>
+									<string key="NSTitle"/>
+									<string key="NSKeyEquiv"/>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="422290158">
+									<reference key="NSMenu" ref="77554793"/>
+									<string key="NSTitle">Hide Unison</string>
+									<string key="NSKeyEquiv">h</string>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="693945174">
+									<reference key="NSMenu" ref="77554793"/>
+									<string key="NSTitle">Hide Others</string>
+									<string key="NSKeyEquiv">h</string>
+									<int key="NSKeyEquivModMask">1572864</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="67252353">
+									<reference key="NSMenu" ref="77554793"/>
+									<string key="NSTitle">Show All</string>
+									<string key="NSKeyEquiv"/>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="264975518">
+									<reference key="NSMenu" ref="77554793"/>
+									<bool key="NSIsDisabled">YES</bool>
+									<bool key="NSIsSeparator">YES</bool>
+									<string key="NSTitle"/>
+									<string key="NSKeyEquiv"/>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="526625829">
+									<reference key="NSMenu" ref="77554793"/>
+									<string key="NSTitle">Quit Unison</string>
+									<string key="NSKeyEquiv">q</string>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+							</array>
+							<string key="NSName">_NSAppleMenu</string>
+						</object>
+					</object>
+					<object class="NSMenuItem" id="972866920">
+						<reference key="NSMenu" ref="395658688"/>
+						<string key="NSTitle">Edit</string>
+						<string key="NSKeyEquiv"/>
+						<int key="NSKeyEquivModMask">1048576</int>
+						<int key="NSMnemonicLoc">2147483647</int>
+						<reference key="NSOnImage" ref="151838310"/>
+						<reference key="NSMixedImage" ref="1045142073"/>
+						<string key="NSAction">submenuAction:</string>
+						<object class="NSMenu" key="NSSubmenu" id="1003509484">
+							<object class="NSMutableString" key="NSTitle">
+								<characters key="NS.bytes">Edit</characters>
+							</object>
+							<array class="NSMutableArray" key="NSMenuItems">
+								<object class="NSMenuItem" id="73613290">
+									<reference key="NSMenu" ref="1003509484"/>
+									<string key="NSTitle">Cut</string>
+									<string key="NSKeyEquiv">x</string>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="918382228">
+									<reference key="NSMenu" ref="1003509484"/>
+									<string key="NSTitle">Copy</string>
+									<string key="NSKeyEquiv">c</string>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="335015660">
+									<reference key="NSMenu" ref="1003509484"/>
+									<string key="NSTitle">Paste</string>
+									<string key="NSKeyEquiv">v</string>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="232124595">
+									<reference key="NSMenu" ref="1003509484"/>
+									<string key="NSTitle">Select All</string>
+									<string key="NSKeyEquiv">a</string>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="833907567">
+									<reference key="NSMenu" ref="1003509484"/>
+									<string key="NSTitle">Select Conflicts</string>
+									<string key="NSKeyEquiv"/>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+							</array>
+						</object>
+					</object>
+					<object class="NSMenuItem" id="504811774">
+						<reference key="NSMenu" ref="395658688"/>
+						<string key="NSTitle">Actions</string>
+						<string key="NSKeyEquiv"/>
+						<int key="NSKeyEquivModMask">1048576</int>
+						<int key="NSMnemonicLoc">2147483647</int>
+						<reference key="NSOnImage" ref="151838310"/>
+						<reference key="NSMixedImage" ref="1045142073"/>
+						<string key="NSAction">submenuAction:</string>
+						<object class="NSMenu" key="NSSubmenu" id="982210092">
+							<string key="NSTitle">Actions</string>
+							<array class="NSMutableArray" key="NSMenuItems">
+								<object class="NSMenuItem" id="938287255">
+									<reference key="NSMenu" ref="982210092"/>
+									<string key="NSTitle">Propagate Left to Right</string>
+									<string key="NSKeyEquiv">&gt;</string>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="473554979">
+									<reference key="NSMenu" ref="982210092"/>
+									<string key="NSTitle">Propagate Right to Left</string>
+									<string key="NSKeyEquiv">&lt;</string>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="273929861">
+									<reference key="NSMenu" ref="982210092"/>
+									<string key="NSTitle">Propagate Newer to Older</string>
+									<string key="NSKeyEquiv"/>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="502496676">
+									<reference key="NSMenu" ref="982210092"/>
+									<string key="NSTitle">Propagate Older to Newer</string>
+									<string key="NSKeyEquiv"/>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="170126817">
+									<reference key="NSMenu" ref="982210092"/>
+									<string key="NSTitle">Leave Alone</string>
+									<string key="NSKeyEquiv">/</string>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="907786872">
+									<reference key="NSMenu" ref="982210092"/>
+									<string key="NSTitle">Revert to Unison's Recommendation</string>
+									<string key="NSKeyEquiv"/>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="879528549">
+									<reference key="NSMenu" ref="982210092"/>
+									<string key="NSTitle">Merge</string>
+									<string key="NSKeyEquiv"/>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="973931859">
+									<reference key="NSMenu" ref="982210092"/>
+									<string key="NSTitle">Diff</string>
+									<string key="NSKeyEquiv"/>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="501412924">
+									<reference key="NSMenu" ref="982210092"/>
+									<bool key="NSIsDisabled">YES</bool>
+									<bool key="NSIsSeparator">YES</bool>
+									<string key="NSTitle"/>
+									<string key="NSKeyEquiv"/>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="396820968">
+									<reference key="NSMenu" ref="982210092"/>
+									<string key="NSTitle">Restart</string>
+									<string key="NSKeyEquiv">r</string>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="990697150">
+									<reference key="NSMenu" ref="982210092"/>
+									<string key="NSTitle">Rescan</string>
+									<string key="NSKeyEquiv"/>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="513780384">
+									<reference key="NSMenu" ref="982210092"/>
+									<string key="NSTitle">Synchronize all</string>
+									<string key="NSKeyEquiv">g</string>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+							</array>
+						</object>
+					</object>
+					<object class="NSMenuItem" id="827672906">
+						<reference key="NSMenu" ref="395658688"/>
+						<string key="NSTitle">Ignore</string>
+						<string key="NSKeyEquiv"/>
+						<int key="NSKeyEquivModMask">1048576</int>
+						<int key="NSMnemonicLoc">2147483647</int>
+						<reference key="NSOnImage" ref="151838310"/>
+						<reference key="NSMixedImage" ref="1045142073"/>
+						<string key="NSAction">submenuAction:</string>
+						<object class="NSMenu" key="NSSubmenu" id="366294269">
+							<string key="NSTitle">Ignore</string>
+							<array class="NSMutableArray" key="NSMenuItems">
+								<object class="NSMenuItem" id="299441153">
+									<reference key="NSMenu" ref="366294269"/>
+									<string key="NSTitle">Ignore Path</string>
+									<string key="NSKeyEquiv">i</string>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="188392331">
+									<reference key="NSMenu" ref="366294269"/>
+									<string key="NSTitle">Ignore Extension</string>
+									<string key="NSKeyEquiv">e</string>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+								<object class="NSMenuItem" id="78895812">
+									<reference key="NSMenu" ref="366294269"/>
+									<string key="NSTitle">Ignore Name</string>
+									<string key="NSKeyEquiv">n</string>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+							</array>
+						</object>
+					</object>
+					<object class="NSMenuItem" id="425916962">
+						<reference key="NSMenu" ref="395658688"/>
+						<string key="NSTitle">Help</string>
+						<string key="NSKeyEquiv"/>
+						<int key="NSKeyEquivModMask">1048576</int>
+						<int key="NSMnemonicLoc">2147483647</int>
+						<reference key="NSOnImage" ref="151838310"/>
+						<reference key="NSMixedImage" ref="1045142073"/>
+						<string key="NSAction">submenuAction:</string>
+						<object class="NSMenu" key="NSSubmenu" id="75568110">
+							<string key="NSTitle">Help</string>
+							<array class="NSMutableArray" key="NSMenuItems">
+								<object class="NSMenuItem" id="411336073">
+									<reference key="NSMenu" ref="75568110"/>
+									<string key="NSTitle">Unison Online Help</string>
+									<string key="NSKeyEquiv">?</string>
+									<int key="NSKeyEquivModMask">1048576</int>
+									<int key="NSMnemonicLoc">2147483647</int>
+									<reference key="NSOnImage" ref="151838310"/>
+									<reference key="NSMixedImage" ref="1045142073"/>
+								</object>
+							</array>
+						</object>
+					</object>
+				</array>
+				<string key="NSName">_NSMainMenu</string>
+			</object>
+			<object class="NSCustomView" id="585072836">
+				<nil key="NSNextResponder"/>
+				<int key="NSvFlags">256</int>
+				<array class="NSMutableArray" key="NSSubviews">
+					<object class="NSTextField" id="568004388">
+						<reference key="NSNextResponder" ref="585072836"/>
+						<int key="NSvFlags">266</int>
+						<string key="NSFrame">{{17, 236}, {329, 25}}</string>
+						<reference key="NSSuperview" ref="585072836"/>
+						<bool key="NSEnabled">YES</bool>
+						<object class="NSTextFieldCell" key="NSCell" id="767469197">
+							<int key="NSCellFlags">67239424</int>
+							<int key="NSCellFlags2">138412032</int>
+							<string type="base64-UTF8" key="NSContents">UGxlYXNlIGNob29zZSBhIHByb2ZpbGUgb3IgY3JlYXRlIGEgbmV3IG9uZQo</string>
+							<reference key="NSSupport" ref="599111291"/>
+							<reference key="NSControlView" ref="568004388"/>
+							<object class="NSColor" key="NSBackgroundColor" id="339352646">
+								<int key="NSColorSpace">6</int>
+								<string key="NSCatalogName">System</string>
+								<string key="NSColorName">controlColor</string>
+								<object class="NSColor" key="NSColor" id="176647248">
+									<int key="NSColorSpace">3</int>
+									<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
+								</object>
+							</object>
+							<object class="NSColor" key="NSTextColor" id="274191033">
+								<int key="NSColorSpace">6</int>
+								<string key="NSCatalogName">System</string>
+								<string key="NSColorName">controlTextColor</string>
+								<object class="NSColor" key="NSColor" id="465092439">
+									<int key="NSColorSpace">3</int>
+									<bytes key="NSWhite">MAA</bytes>
+								</object>
+							</object>
+						</object>
+					</object>
+					<object class="NSButton" id="965369806">
+						<reference key="NSNextResponder" ref="585072836"/>
+						<int key="NSvFlags">256</int>
+						<string key="NSFrame">{{651, -524}, {84, 32}}</string>
+						<reference key="NSSuperview" ref="585072836"/>
+						<bool key="NSEnabled">YES</bool>
+						<object class="NSButtonCell" key="NSCell" id="841579218">
+							<int key="NSCellFlags">67239424</int>
+							<int key="NSCellFlags2">134217728</int>
+							<string key="NSContents">Quit</string>
+							<reference key="NSSupport" ref="599111291"/>
+							<reference key="NSControlView" ref="965369806"/>
+							<int key="NSButtonFlags">-2038284033</int>
+							<int key="NSButtonFlags2">1</int>
+							<reference key="NSAlternateImage" ref="599111291"/>
+							<string key="NSAlternateContents"/>
+							<object class="NSMutableString" key="NSKeyEquivalent">
+								<characters key="NS.bytes"/>
+							</object>
+							<int key="NSPeriodicDelay">200</int>
+							<int key="NSPeriodicInterval">25</int>
+						</object>
+					</object>
+					<object class="NSScrollView" id="335527590">
+						<reference key="NSNextResponder" ref="585072836"/>
+						<int key="NSvFlags">274</int>
+						<array class="NSMutableArray" key="NSSubviews">
+							<object class="NSClipView" id="629016622">
+								<reference key="NSNextResponder" ref="335527590"/>
+								<int key="NSvFlags">2304</int>
+								<array class="NSMutableArray" key="NSSubviews">
+									<object class="NSTableView" id="446416594">
+										<reference key="NSNextResponder" ref="629016622"/>
+										<int key="NSvFlags">274</int>
+										<string key="NSFrameSize">{306, 190}</string>
+										<reference key="NSSuperview" ref="629016622"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSTableHeaderView" key="NSHeaderView" id="1286469">
+											<reference key="NSNextResponder" ref="214885356"/>
+											<int key="NSvFlags">256</int>
+											<string key="NSFrameSize">{306, 17}</string>
+											<reference key="NSSuperview" ref="214885356"/>
+											<reference key="NSTableView" ref="446416594"/>
+										</object>
+										<object class="_NSCornerView" key="NSCornerView" id="626227720">
+											<reference key="NSNextResponder" ref="335527590"/>
+											<int key="NSvFlags">256</int>
+											<string key="NSFrame">{{307, 0}, {16, 17}}</string>
+											<reference key="NSSuperview" ref="335527590"/>
+										</object>
+										<array class="NSMutableArray" key="NSTableColumns">
+											<object class="NSTableColumn" id="347342635">
+												<string key="NSIdentifier">profiles</string>
+												<double key="NSWidth">303.47698974609375</double>
+												<double key="NSMinWidth">47.477001190185547</double>
+												<double key="NSMaxWidth">1000</double>
+												<object class="NSTableHeaderCell" key="NSHeaderCell">
+													<int key="NSCellFlags">75628096</int>
+													<int key="NSCellFlags2">2048</int>
+													<string key="NSContents">Profiles</string>
+													<object class="NSFont" key="NSSupport" id="26">
+														<string key="NSName">LucidaGrande</string>
+														<double key="NSSize">11</double>
+														<int key="NSfFlags">3100</int>
+													</object>
+													<object class="NSColor" key="NSBackgroundColor">
+														<int key="NSColorSpace">3</int>
+														<bytes key="NSWhite">MC4zMzMzMzI5OQA</bytes>
+													</object>
+													<object class="NSColor" key="NSTextColor" id="761657717">
+														<int key="NSColorSpace">6</int>
+														<string key="NSCatalogName">System</string>
+														<string key="NSColorName">headerTextColor</string>
+														<reference key="NSColor" ref="465092439"/>
+													</object>
+												</object>
+												<object class="NSTextFieldCell" key="NSDataCell" id="214722634">
+													<int key="NSCellFlags">338820672</int>
+													<int key="NSCellFlags2">1024</int>
+													<reference key="NSSupport" ref="599111291"/>
+													<reference key="NSControlView" ref="446416594"/>
+													<object class="NSColor" key="NSBackgroundColor" id="268561989">
+														<int key="NSColorSpace">3</int>
+														<bytes key="NSWhite">MQA</bytes>
+													</object>
+													<reference key="NSTextColor" ref="274191033"/>
+												</object>
+												<int key="NSResizingMask">3</int>
+												<bool key="NSIsResizeable">YES</bool>
+												<reference key="NSTableView" ref="446416594"/>
+											</object>
+										</array>
+										<double key="NSIntercellSpacingWidth">3</double>
+										<double key="NSIntercellSpacingHeight">2</double>
+										<reference key="NSBackgroundColor" ref="268561989"/>
+										<object class="NSColor" key="NSGridColor" id="837222830">
+											<int key="NSColorSpace">6</int>
+											<string key="NSCatalogName">System</string>
+											<string key="NSColorName">gridColor</string>
+											<object class="NSColor" key="NSColor">
+												<int key="NSColorSpace">3</int>
+												<bytes key="NSWhite">MC41AA</bytes>
+											</object>
+										</object>
+										<double key="NSRowHeight">17</double>
+										<int key="NSTvFlags">-1035993088</int>
+										<reference key="NSDelegate"/>
+										<reference key="NSDataSource"/>
+										<int key="NSColumnAutoresizingStyle">4</int>
+										<int key="NSDraggingSourceMaskForLocal">15</int>
+										<int key="NSDraggingSourceMaskForNonLocal">0</int>
+										<bool key="NSAllowsTypeSelect">YES</bool>
+										<int key="NSTableViewDraggingDestinationStyle">0</int>
+									</object>
+								</array>
+								<string key="NSFrame">{{1, 17}, {306, 190}}</string>
+								<reference key="NSSuperview" ref="335527590"/>
+								<reference key="NSNextKeyView" ref="446416594"/>
+								<reference key="NSDocView" ref="446416594"/>
+								<object class="NSColor" key="NSBGColor" id="571804419">
+									<int key="NSColorSpace">6</int>
+									<string key="NSCatalogName">System</string>
+									<string key="NSColorName">controlBackgroundColor</string>
+									<reference key="NSColor" ref="176647248"/>
+								</object>
+								<int key="NScvFlags">4</int>
+							</object>
+							<object class="NSScroller" id="852809690">
+								<reference key="NSNextResponder" ref="335527590"/>
+								<int key="NSvFlags">256</int>
+								<string key="NSFrame">{{307, 17}, {15, 190}}</string>
+								<reference key="NSSuperview" ref="335527590"/>
+								<reference key="NSTarget" ref="335527590"/>
+								<string key="NSAction">_doScroller:</string>
+								<double key="NSPercent">0.99473685026168823</double>
+							</object>
+							<object class="NSScroller" id="370050818">
+								<reference key="NSNextResponder" ref="335527590"/>
+								<int key="NSvFlags">-2147483392</int>
+								<string key="NSFrame">{{-100, -100}, {113, 15}}</string>
+								<reference key="NSSuperview" ref="335527590"/>
+								<int key="NSsFlags">1</int>
+								<reference key="NSTarget" ref="335527590"/>
+								<string key="NSAction">_doScroller:</string>
+								<double key="NSPercent">0.99047619104385376</double>
+							</object>
+							<object class="NSClipView" id="214885356">
+								<reference key="NSNextResponder" ref="335527590"/>
+								<int key="NSvFlags">2304</int>
+								<array class="NSMutableArray" key="NSSubviews">
+									<reference ref="1286469"/>
+								</array>
+								<string key="NSFrame">{{1, 0}, {306, 17}}</string>
+								<reference key="NSSuperview" ref="335527590"/>
+								<reference key="NSNextKeyView" ref="1286469"/>
+								<reference key="NSDocView" ref="1286469"/>
+								<reference key="NSBGColor" ref="571804419"/>
+								<int key="NScvFlags">4</int>
+							</object>
+							<reference ref="626227720"/>
+						</array>
+						<string key="NSFrame">{{20, 20}, {323, 208}}</string>
+						<reference key="NSSuperview" ref="585072836"/>
+						<reference key="NSNextKeyView" ref="629016622"/>
+						<int key="NSsFlags">18</int>
+						<reference key="NSVScroller" ref="852809690"/>
+						<reference key="NSHScroller" ref="370050818"/>
+						<reference key="NSContentView" ref="629016622"/>
+						<reference key="NSHeaderClipView" ref="214885356"/>
+						<reference key="NSCornerView" ref="626227720"/>
+						<bytes key="NSScrollAmts">QSAAAEEgAABBmAAAQZgAAA</bytes>
+					</object>
+				</array>
+				<string key="NSFrameSize">{363, 281}</string>
+				<string key="NSClassName">NSView</string>
+				<string key="NSExtension">NSResponder</string>
+			</object>
+			<object class="NSCustomView" id="754336264">
+				<reference key="NSNextResponder"/>
+				<int key="NSvFlags">274</int>
+				<array class="NSMutableArray" key="NSSubviews">
+					<object class="BWSplitView" id="398078791">
+						<reference key="NSNextResponder" ref="754336264"/>
+						<int key="NSvFlags">274</int>
+						<array class="NSMutableArray" key="NSSubviews">
+							<object class="NSScrollView" id="319719388">
+								<reference key="NSNextResponder" ref="398078791"/>
+								<int key="NSvFlags">274</int>
+								<array class="NSMutableArray" key="NSSubviews">
+									<object class="NSClipView" id="674056095">
+										<reference key="NSNextResponder" ref="319719388"/>
+										<int key="NSvFlags">2304</int>
+										<array class="NSMutableArray" key="NSSubviews">
+											<object class="NSTableView" id="809169243">
+												<reference key="NSNextResponder" ref="674056095"/>
+												<int key="NSvFlags">256</int>
+												<string key="NSFrameSize">{730, 410}</string>
+												<reference key="NSSuperview" ref="674056095"/>
+												<bool key="NSEnabled">YES</bool>
+												<object class="NSTableHeaderView" key="NSHeaderView" id="285438200">
+													<reference key="NSNextResponder" ref="34763187"/>
+													<int key="NSvFlags">256</int>
+													<string key="NSFrameSize">{730, 17}</string>
+													<reference key="NSSuperview" ref="34763187"/>
+													<reference key="NSTableView" ref="809169243"/>
+												</object>
+												<object class="_NSCornerView" key="NSCornerView" id="971941000">
+													<reference key="NSNextResponder" ref="319719388"/>
+													<int key="NSvFlags">-2147483392</int>
+													<string key="NSFrame">{{-26, 0}, {16, 17}}</string>
+													<reference key="NSSuperview" ref="319719388"/>
+												</object>
+												<array class="NSMutableArray" key="NSTableColumns">
+													<object class="NSTableColumn" id="831965848">
+														<string key="NSIdentifier">path</string>
+														<double key="NSWidth">426</double>
+														<double key="NSMinWidth">27.095703125</double>
+														<double key="NSMaxWidth">1000</double>
+														<object class="NSTableHeaderCell" key="NSHeaderCell">
+															<int key="NSCellFlags">75628096</int>
+															<int key="NSCellFlags2">2048</int>
+															<string key="NSContents">Path</string>
+															<reference key="NSSupport" ref="26"/>
+															<object class="NSColor" key="NSBackgroundColor" id="783127527">
+																<int key="NSColorSpace">6</int>
+																<string key="NSCatalogName">System</string>
+																<string key="NSColorName">headerColor</string>
+																<reference key="NSColor" ref="268561989"/>
+															</object>
+															<reference key="NSTextColor" ref="761657717"/>
+														</object>
+														<object class="NSTextFieldCell" key="NSDataCell" id="168643022">
+															<int key="NSCellFlags">338820672</int>
+															<int key="NSCellFlags2">1024</int>
+															<object class="NSFont" key="NSSupport" id="745083723">
+																<string key="NSName">LucidaGrande</string>
+																<double key="NSSize">12</double>
+																<int key="NSfFlags">16</int>
+															</object>
+															<reference key="NSControlView" ref="809169243"/>
+															<reference key="NSBackgroundColor" ref="571804419"/>
+															<reference key="NSTextColor" ref="274191033"/>
+														</object>
+														<int key="NSResizingMask">3</int>
+														<bool key="NSIsResizeable">YES</bool>
+														<reference key="NSTableView" ref="809169243"/>
+														<object class="NSSortDescriptor" key="NSSortDescriptorPrototype">
+															<string key="NSKey">pathSortKey</string>
+															<bool key="NSAscending">YES</bool>
+															<string key="NSSelector">compare:</string>
+														</object>
+													</object>
+													<object class="NSTableColumn" id="1030582640">
+														<string key="NSIdentifier">fileSizeString</string>
+														<double key="NSWidth">70</double>
+														<double key="NSMinWidth">70</double>
+														<double key="NSMaxWidth">70</double>
+														<object class="NSTableHeaderCell" key="NSHeaderCell">
+															<int key="NSCellFlags">75628096</int>
+															<int key="NSCellFlags2">134219776</int>
+															<string key="NSContents">Size</string>
+															<reference key="NSSupport" ref="26"/>
+															<reference key="NSBackgroundColor" ref="783127527"/>
+															<reference key="NSTextColor" ref="761657717"/>
+														</object>
+														<object class="NSTextFieldCell" key="NSDataCell" id="1026449157">
+															<int key="NSCellFlags">338820672</int>
+															<int key="NSCellFlags2">67109888</int>
+															<reference key="NSSupport" ref="745083723"/>
+															<reference key="NSControlView" ref="809169243"/>
+															<reference key="NSBackgroundColor" ref="571804419"/>
+															<reference key="NSTextColor" ref="274191033"/>
+														</object>
+														<int key="NSResizingMask">3</int>
+														<bool key="NSIsResizeable">YES</bool>
+														<reference key="NSTableView" ref="809169243"/>
+														<object class="NSSortDescriptor" key="NSSortDescriptorPrototype">
+															<string key="NSKey">fileSize</string>
+															<bool key="NSAscending">NO</bool>
+															<string key="NSSelector">compare:</string>
+														</object>
+													</object>
+													<object class="NSTableColumn" id="517689164">
+														<string key="NSIdentifier">leftIcon</string>
+														<double key="NSWidth">16</double>
+														<double key="NSMinWidth">16</double>
+														<double key="NSMaxWidth">16</double>
+														<object class="NSTableHeaderCell" key="NSHeaderCell">
+															<int key="NSCellFlags">75628096</int>
+															<int key="NSCellFlags2">2048</int>
+															<string key="NSContents">&lt;</string>
+															<reference key="NSSupport" ref="26"/>
+															<object class="NSColor" key="NSBackgroundColor">
+																<int key="NSColorSpace">3</int>
+																<bytes key="NSWhite">MC4zMzMzMzI5OQA</bytes>
+															</object>
+															<reference key="NSTextColor" ref="761657717"/>
+														</object>
+														<object class="NSImageCell" key="NSDataCell" id="129611902">
+															<int key="NSCellFlags">130560</int>
+															<int key="NSCellFlags2">33554432</int>
+															<int key="NSAlign">0</int>
+															<int key="NSScale">0</int>
+															<int key="NSStyle">0</int>
+															<bool key="NSAnimates">YES</bool>
+														</object>
+														<reference key="NSTableView" ref="809169243"/>
+														<object class="NSSortDescriptor" key="NSSortDescriptorPrototype">
+															<string key="NSKey">leftSortKey</string>
+															<bool key="NSAscending">YES</bool>
+															<string key="NSSelector">compare:</string>
+														</object>
+													</object>
+													<object class="NSTableColumn" id="174176934">
+														<string key="NSIdentifier">percentTransferred</string>
+														<double key="NSWidth">76.63916015625</double>
+														<double key="NSMinWidth">42.10107421875</double>
+														<double key="NSMaxWidth">100</double>
+														<object class="NSTableHeaderCell" key="NSHeaderCell">
+															<int key="NSCellFlags">75628096</int>
+															<int key="NSCellFlags2">134219776</int>
+															<string key="NSContents">Action</string>
+															<reference key="NSSupport" ref="26"/>
+															<reference key="NSBackgroundColor" ref="783127527"/>
+															<reference key="NSTextColor" ref="761657717"/>
+														</object>
+														<object class="NSTextFieldCell" key="NSDataCell" id="802031427">
+															<int key="NSCellFlags">338820672</int>
+															<int key="NSCellFlags2">67109888</int>
+															<reference key="NSSupport" ref="745083723"/>
+															<reference key="NSControlView" ref="809169243"/>
+															<reference key="NSBackgroundColor" ref="571804419"/>
+															<reference key="NSTextColor" ref="274191033"/>
+														</object>
+														<reference key="NSTableView" ref="809169243"/>
+														<object class="NSSortDescriptor" key="NSSortDescriptorPrototype">
+															<string key="NSKey">directionSortKey</string>
+															<bool key="NSAscending">YES</bool>
+															<string key="NSSelector">compare:</string>
+														</object>
+													</object>
+													<object class="NSTableColumn" id="36867386">
+														<string key="NSIdentifier">rightIcon</string>
+														<double key="NSWidth">16</double>
+														<double key="NSMinWidth">16</double>
+														<double key="NSMaxWidth">16</double>
+														<object class="NSTableHeaderCell" key="NSHeaderCell">
+															<int key="NSCellFlags">75628096</int>
+															<int key="NSCellFlags2">2048</int>
+															<string key="NSContents">&gt;</string>
+															<reference key="NSSupport" ref="26"/>
+															<reference key="NSBackgroundColor" ref="783127527"/>
+															<reference key="NSTextColor" ref="761657717"/>
+														</object>
+														<object class="NSImageCell" key="NSDataCell" id="233842594">
+															<int key="NSCellFlags">130560</int>
+															<int key="NSCellFlags2">33554432</int>
+															<int key="NSAlign">0</int>
+															<int key="NSScale">0</int>
+															<int key="NSStyle">0</int>
+															<bool key="NSAnimates">YES</bool>
+														</object>
+														<reference key="NSTableView" ref="809169243"/>
+														<object class="NSSortDescriptor" key="NSSortDescriptorPrototype">
+															<string key="NSKey">rightSortKey</string>
+															<bool key="NSAscending">YES</bool>
+															<string key="NSSelector">compare:</string>
+														</object>
+													</object>
+												</array>
+												<double key="NSIntercellSpacingWidth">3</double>
+												<double key="NSIntercellSpacingHeight">2</double>
+												<reference key="NSBackgroundColor" ref="268561989"/>
+												<reference key="NSGridColor" ref="837222830"/>
+												<double key="NSRowHeight">18</double>
+												<int key="NSTvFlags">-635437056</int>
+												<reference key="NSDelegate"/>
+												<reference key="NSDataSource"/>
+												<int key="NSColumnAutoresizingStyle">4</int>
+												<int key="NSDraggingSourceMaskForLocal">15</int>
+												<int key="NSDraggingSourceMaskForNonLocal">0</int>
+												<bool key="NSAllowsTypeSelect">YES</bool>
+												<int key="NSTableViewDraggingDestinationStyle">0</int>
+											</object>
+										</array>
+										<string key="NSFrame">{{0, 17}, {730, 410}}</string>
+										<reference key="NSSuperview" ref="319719388"/>
+										<reference key="NSNextKeyView" ref="809169243"/>
+										<reference key="NSDocView" ref="809169243"/>
+										<reference key="NSBGColor" ref="571804419"/>
+										<int key="NScvFlags">4</int>
+									</object>
+									<object class="NSScroller" id="626547980">
+										<reference key="NSNextResponder" ref="319719388"/>
+										<int key="NSvFlags">-2147483392</int>
+										<string key="NSFrame">{{-30, 17}, {15, 391}}</string>
+										<reference key="NSSuperview" ref="319719388"/>
+										<reference key="NSTarget" ref="319719388"/>
+										<string key="NSAction">_doScroller:</string>
+										<double key="NSPercent">0.96419435739517212</double>
+									</object>
+									<object class="NSScroller" id="280329492">
+										<reference key="NSNextResponder" ref="319719388"/>
+										<int key="NSvFlags">-2147483392</int>
+										<string key="NSFrame">{{-100, -100}, {629, 15}}</string>
+										<reference key="NSSuperview" ref="319719388"/>
+										<int key="NSsFlags">1</int>
+										<reference key="NSTarget" ref="319719388"/>
+										<string key="NSAction">_doScroller:</string>
+										<double key="NSPercent">0.99841266870498657</double>
+									</object>
+									<object class="NSClipView" id="34763187">
+										<reference key="NSNextResponder" ref="319719388"/>
+										<int key="NSvFlags">2304</int>
+										<array class="NSMutableArray" key="NSSubviews">
+											<reference ref="285438200"/>
+										</array>
+										<string key="NSFrameSize">{730, 17}</string>
+										<reference key="NSSuperview" ref="319719388"/>
+										<reference key="NSNextKeyView" ref="285438200"/>
+										<reference key="NSDocView" ref="285438200"/>
+										<reference key="NSBGColor" ref="571804419"/>
+										<int key="NScvFlags">4</int>
+									</object>
+									<reference ref="971941000"/>
+								</array>
+								<string key="NSFrameSize">{730, 427}</string>
+								<reference key="NSSuperview" ref="398078791"/>
+								<reference key="NSNextKeyView" ref="674056095"/>
+								<int key="NSsFlags">528</int>
+								<reference key="NSVScroller" ref="626547980"/>
+								<reference key="NSHScroller" ref="280329492"/>
+								<reference key="NSContentView" ref="674056095"/>
+								<reference key="NSHeaderClipView" ref="34763187"/>
+								<reference key="NSCornerView" ref="971941000"/>
+								<bytes key="NSScrollAmts">AAAAAAAAAABBoAAAQaAAAA</bytes>
+							</object>
+							<object class="BWGradientBox" id="700068909">
+								<reference key="NSNextResponder" ref="398078791"/>
+								<int key="NSvFlags">274</int>
+								<array class="NSMutableArray" key="NSSubviews">
+									<object class="BWInsetTextField" id="173308938">
+										<reference key="NSNextResponder" ref="700068909"/>
+										<int key="NSvFlags">274</int>
+										<string key="NSFrame">{{2, 5}, {726, 74}}</string>
+										<reference key="NSSuperview" ref="700068909"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSTextFieldCell" key="NSCell" id="900780132">
+											<int key="NSCellFlags">67239424</int>
+											<int key="NSCellFlags2">272760832</int>
+											<string key="NSContents">Label</string>
+											<reference key="NSSupport" ref="26"/>
+											<reference key="NSControlView" ref="173308938"/>
+											<reference key="NSBackgroundColor" ref="339352646"/>
+											<reference key="NSTextColor" ref="274191033"/>
+										</object>
+									</object>
+								</array>
+								<string key="NSFrame">{{0, 437}, {730, 85}}</string>
+								<reference key="NSSuperview" ref="398078791"/>
+								<object class="NSColor" key="BWGBFillStartingColor">
+									<int key="NSColorSpace">1</int>
+									<bytes key="NSRGB">MC42NzU3Njg1MjI3IDAuNzIxOTQ4MTMwNiAwLjc2NTMwNjEyMjQAA</bytes>
+								</object>
+								<object class="NSColor" key="BWGBFillEndingColor">
+									<int key="NSColorSpace">1</int>
+									<bytes key="NSRGB">MC41MTM3NjcxODUyIDAuNTY4NDkwNTE3IDAuNjE3MzQ2OTM4OAA</bytes>
+								</object>
+								<object class="NSColor" key="BWGBFillColor">
+									<int key="NSColorSpace">1</int>
+									<bytes key="NSRGB">MC42MTk2MDA4NjE0IDAuNjYxMTkyMDA1MSAwLjcxOTM4Nzc1NTEAA</bytes>
+								</object>
+								<object class="NSColor" key="BWGBTopBorderColor">
+									<int key="NSColorSpace">1</int>
+									<bytes key="NSRGB">MC41NTc2NjQ2NjM5IDAuNTk4ODkyNDg5OSAwLjY0Mjg1NzE0MjkAA</bytes>
+								</object>
+								<object class="NSColor" key="BWGBBottomBorderColor">
+									<int key="NSColorSpace">1</int>
+									<bytes key="NSRGB">MC40Mjc4NDM2NjA5IDAuNDc5NDI1MTUwOSAwLjUyMDQwODE2MzMAA</bytes>
+								</object>
+								<bool key="BWGBHasTopBorder">NO</bool>
+								<bool key="BWGBHasBottomBorder">YES</bool>
+								<bool key="BWGBHasGradient">YES</bool>
+								<float key="BWGBTopInsetAlpha">0.30000001192092896</float>
+								<float key="BWGBBottomInsetAlpha">0.0</float>
+							</object>
+						</array>
+						<string key="NSFrame">{{0, 24}, {730, 522}}</string>
+						<reference key="NSSuperview" ref="754336264"/>
+						<reference key="BWSVColor" ref="465092439"/>
+						<bool key="BWSVColorIsEnabled">NO</bool>
+						<dictionary class="NSMutableDictionary" key="BWSVMinValues"/>
+						<dictionary class="NSMutableDictionary" key="BWSVMaxValues"/>
+						<object class="NSMutableDictionary" key="BWSVMinUnits">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<array key="dict.sortedKeys">
+								<integer value="0"/>
+								<integer value="1"/>
+							</array>
+							<array class="NSMutableArray" key="dict.values">
+								<integer value="0"/>
+								<integer value="0"/>
+							</array>
+						</object>
+						<object class="NSMutableDictionary" key="BWSVMaxUnits">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<array key="dict.sortedKeys">
+								<integer value="0"/>
+								<integer value="1"/>
+							</array>
+							<array class="NSMutableArray" key="dict.values">
+								<integer value="0"/>
+								<integer value="0"/>
+							</array>
+						</object>
+						<int key="BWSVCollapsiblePopupSelection">0</int>
+						<bool key="BWSVDividerCanCollapse">NO</bool>
+					</object>
+					<object class="NSProgressIndicator" id="85700482">
+						<reference key="NSNextResponder" ref="754336264"/>
+						<int key="NSvFlags">1314</int>
+						<object class="NSPSMatrix" key="NSDrawMatrix"/>
+						<string key="NSFrame">{{589, 6}, {122, 12}}</string>
+						<reference key="NSSuperview" ref="754336264"/>
+						<int key="NSpiFlags">16652</int>
+						<double key="NSMaxValue">100</double>
+					</object>
+					<object class="BWInsetTextField" id="845737300">
+						<reference key="NSNextResponder" ref="754336264"/>
+						<int key="NSvFlags">258</int>
+						<string key="NSFrame">{{3, 6}, {582, 14}}</string>
+						<reference key="NSSuperview" ref="754336264"/>
+						<bool key="NSEnabled">YES</bool>
+						<object class="NSTextFieldCell" key="NSCell" id="145074830">
+							<int key="NSCellFlags">67239488</int>
+							<int key="NSCellFlags2">272762880</int>
+							<string key="NSContents">Idle</string>
+							<reference key="NSSupport" ref="26"/>
+							<reference key="NSControlView" ref="845737300"/>
+							<reference key="NSBackgroundColor" ref="339352646"/>
+							<reference key="NSTextColor" ref="274191033"/>
+						</object>
+					</object>
+				</array>
+				<string key="NSFrameSize">{730, 546}</string>
+				<reference key="NSSuperview"/>
+				<string key="NSClassName">NSView</string>
+				<string key="NSExtension">NSResponder</string>
+			</object>
+			<object class="NSCustomObject" id="626222747">
+				<string key="NSClassName">MyController</string>
+			</object>
+			<object class="NSCustomObject" id="820844840">
+				<string key="NSClassName">ProfileController</string>
+			</object>
+			<object class="NSCustomObject" id="919673534">
+				<string key="NSClassName">PreferencesController</string>
+			</object>
+			<object class="NSCustomObject" id="185584375">
+				<string key="NSClassName">NotificationController</string>
+			</object>
+			<object class="NSCustomView" id="131437498">
+				<nil key="NSNextResponder"/>
+				<int key="NSvFlags">256</int>
+				<array class="NSMutableArray" key="NSSubviews">
+					<object class="NSBox" id="777780043">
+						<reference key="NSNextResponder" ref="131437498"/>
+						<int key="NSvFlags">258</int>
+						<array class="NSMutableArray" key="NSSubviews">
+							<object class="NSView" id="894096199">
+								<reference key="NSNextResponder" ref="777780043"/>
+								<int key="NSvFlags">256</int>
+								<array class="NSMutableArray" key="NSSubviews">
+									<object class="NSTextField" id="538828701">
+										<reference key="NSNextResponder" ref="894096199"/>
+										<int key="NSvFlags">256</int>
+										<string key="NSFrame">{{11, 20}, {30, 17}}</string>
+										<reference key="NSSuperview" ref="894096199"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSTextFieldCell" key="NSCell" id="855328737">
+											<int key="NSCellFlags">67239424</int>
+											<int key="NSCellFlags2">4194304</int>
+											<string type="base64-UTF8" key="NSContents">RmlsZToKA</string>
+											<reference key="NSSupport" ref="599111291"/>
+											<reference key="NSControlView" ref="538828701"/>
+											<reference key="NSBackgroundColor" ref="339352646"/>
+											<reference key="NSTextColor" ref="274191033"/>
+										</object>
+									</object>
+									<object class="NSTextField" id="535928276">
+										<reference key="NSNextResponder" ref="894096199"/>
+										<int key="NSvFlags">258</int>
+										<string key="NSFrame">{{46, 18}, {427, 22}}</string>
+										<reference key="NSSuperview" ref="894096199"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSTextFieldCell" key="NSCell" id="294533446">
+											<int key="NSCellFlags">-1804468671</int>
+											<int key="NSCellFlags2">4195328</int>
+											<string key="NSContents"/>
+											<reference key="NSSupport" ref="599111291"/>
+											<reference key="NSControlView" ref="535928276"/>
+											<bool key="NSDrawsBackground">YES</bool>
+											<object class="NSColor" key="NSBackgroundColor" id="695013634">
+												<int key="NSColorSpace">6</int>
+												<string key="NSCatalogName">System</string>
+												<string key="NSColorName">textBackgroundColor</string>
+												<reference key="NSColor" ref="268561989"/>
+											</object>
+											<object class="NSColor" key="NSTextColor" id="917616157">
+												<int key="NSColorSpace">6</int>
+												<string key="NSCatalogName">System</string>
+												<string key="NSColorName">textColor</string>
+												<reference key="NSColor" ref="465092439"/>
+											</object>
+										</object>
+									</object>
+								</array>
+								<string key="NSFrame">{{2, 2}, {493, 51}}</string>
+								<reference key="NSSuperview" ref="777780043"/>
+							</object>
+						</array>
+						<string key="NSFrame">{{20, 129}, {497, 71}}</string>
+						<reference key="NSSuperview" ref="131437498"/>
+						<string key="NSOffsets">{0, 0}</string>
+						<object class="NSTextFieldCell" key="NSTitleCell">
+							<int key="NSCellFlags">67239424</int>
+							<int key="NSCellFlags2">0</int>
+							<string key="NSContents">First root</string>
+							<reference key="NSSupport" ref="599111291"/>
+							<reference key="NSBackgroundColor" ref="695013634"/>
+							<object class="NSColor" key="NSTextColor">
+								<int key="NSColorSpace">3</int>
+								<bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes>
+							</object>
+						</object>
+						<reference key="NSContentView" ref="894096199"/>
+						<int key="NSBorderType">3</int>
+						<int key="NSBoxType">0</int>
+						<int key="NSTitlePosition">2</int>
+						<bool key="NSTransparent">NO</bool>
+					</object>
+					<object class="NSBox" id="223842171">
+						<reference key="NSNextResponder" ref="131437498"/>
+						<int key="NSvFlags">258</int>
+						<array class="NSMutableArray" key="NSSubviews">
+							<object class="NSView" id="404397338">
+								<reference key="NSNextResponder" ref="223842171"/>
+								<int key="NSvFlags">256</int>
+								<array class="NSMutableArray" key="NSSubviews">
+									<object class="NSMatrix" id="588956057">
+										<reference key="NSNextResponder" ref="404397338"/>
+										<int key="NSvFlags">256</int>
+										<string key="NSFrame">{{12, 39}, {70, 38}}</string>
+										<reference key="NSSuperview" ref="404397338"/>
+										<bool key="NSEnabled">YES</bool>
+										<int key="NSNumRows">2</int>
+										<int key="NSNumCols">1</int>
+										<array class="NSMutableArray" key="NSCells">
+											<object class="NSButtonCell" id="845367793">
+												<int key="NSCellFlags">-2080244224</int>
+												<int key="NSCellFlags2">0</int>
+												<string key="NSContents">Remote</string>
+												<reference key="NSSupport" ref="599111291"/>
+												<reference key="NSControlView" ref="588956057"/>
+												<int key="NSButtonFlags">1211912703</int>
+												<int key="NSButtonFlags2">0</int>
+												<object class="NSButtonImageSource" key="NSAlternateImage" id="366582153">
+													<string key="NSImageName">NSRadioButton</string>
+												</object>
+												<object class="NSMutableString" key="NSAlternateContents" id="1061064001">
+													<characters key="NS.bytes"/>
+												</object>
+												<reference key="NSKeyEquivalent" ref="1061064001"/>
+												<int key="NSPeriodicDelay">200</int>
+												<int key="NSPeriodicInterval">25</int>
+											</object>
+											<object class="NSButtonCell" id="520995262">
+												<int key="NSCellFlags">67239424</int>
+												<int key="NSCellFlags2">0</int>
+												<string key="NSContents">Local</string>
+												<reference key="NSSupport" ref="599111291"/>
+												<reference key="NSControlView" ref="588956057"/>
+												<int key="NSTag">1</int>
+												<int key="NSButtonFlags">1211912703</int>
+												<int key="NSButtonFlags2">0</int>
+												<reference key="NSAlternateImage" ref="366582153"/>
+												<reference key="NSAlternateContents" ref="1061064001"/>
+												<reference key="NSKeyEquivalent" ref="1061064001"/>
+												<int key="NSPeriodicDelay">200</int>
+												<int key="NSPeriodicInterval">25</int>
+											</object>
+										</array>
+										<string key="NSCellSize">{70, 18}</string>
+										<string key="NSIntercellSpacing">{4, 2}</string>
+										<int key="NSMatrixFlags">1143472128</int>
+										<string key="NSCellClass">NSActionCell</string>
+										<object class="NSButtonCell" key="NSProtoCell" id="347365126">
+											<int key="NSCellFlags">67239424</int>
+											<int key="NSCellFlags2">0</int>
+											<string key="NSContents">Radio</string>
+											<reference key="NSSupport" ref="599111291"/>
+											<int key="NSButtonFlags">1211912703</int>
+											<int key="NSButtonFlags2">0</int>
+											<reference key="NSAlternateImage" ref="366582153"/>
+											<string key="NSKeyEquivalent"/>
+											<int key="NSPeriodicDelay">400</int>
+											<int key="NSPeriodicInterval">75</int>
+										</object>
+										<reference key="NSSelectedCell" ref="845367793"/>
+										<reference key="NSBackgroundColor" ref="339352646"/>
+										<reference key="NSCellBackgroundColor" ref="268561989"/>
+										<reference key="NSFont" ref="599111291"/>
+									</object>
+									<object class="NSTextField" id="349912474">
+										<reference key="NSNextResponder" ref="404397338"/>
+										<int key="NSvFlags">256</int>
+										<string key="NSFrame">{{97, 58}, {37, 17}}</string>
+										<reference key="NSSuperview" ref="404397338"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSTextFieldCell" key="NSCell" id="952393256">
+											<int key="NSCellFlags">67239424</int>
+											<int key="NSCellFlags2">4194304</int>
+											<string key="NSContents">User:</string>
+											<reference key="NSSupport" ref="599111291"/>
+											<reference key="NSControlView" ref="349912474"/>
+											<reference key="NSBackgroundColor" ref="339352646"/>
+											<reference key="NSTextColor" ref="274191033"/>
+										</object>
+									</object>
+									<object class="NSTextField" id="896768358">
+										<reference key="NSNextResponder" ref="404397338"/>
+										<int key="NSvFlags">256</int>
+										<string key="NSFrame">{{134, 56}, {91, 22}}</string>
+										<reference key="NSSuperview" ref="404397338"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSTextFieldCell" key="NSCell" id="1053210155">
+											<int key="NSCellFlags">-1804468671</int>
+											<int key="NSCellFlags2">4195328</int>
+											<string key="NSContents"/>
+											<reference key="NSSupport" ref="599111291"/>
+											<reference key="NSControlView" ref="896768358"/>
+											<bool key="NSDrawsBackground">YES</bool>
+											<reference key="NSBackgroundColor" ref="695013634"/>
+											<reference key="NSTextColor" ref="917616157"/>
+										</object>
+									</object>
+									<object class="NSTextField" id="993405512">
+										<reference key="NSNextResponder" ref="404397338"/>
+										<int key="NSvFlags">256</int>
+										<string key="NSFrame">{{236, 58}, {38, 17}}</string>
+										<reference key="NSSuperview" ref="404397338"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSTextFieldCell" key="NSCell" id="2123321">
+											<int key="NSCellFlags">67239424</int>
+											<int key="NSCellFlags2">4194304</int>
+											<string key="NSContents">Host:</string>
+											<reference key="NSSupport" ref="599111291"/>
+											<reference key="NSControlView" ref="993405512"/>
+											<reference key="NSBackgroundColor" ref="339352646"/>
+											<reference key="NSTextColor" ref="274191033"/>
+										</object>
+									</object>
+									<object class="NSTextField" id="1048028362">
+										<reference key="NSNextResponder" ref="404397338"/>
+										<int key="NSvFlags">258</int>
+										<string key="NSFrame">{{274, 56}, {199, 22}}</string>
+										<reference key="NSSuperview" ref="404397338"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSTextFieldCell" key="NSCell" id="372536919">
+											<int key="NSCellFlags">-1804468671</int>
+											<int key="NSCellFlags2">4195328</int>
+											<string key="NSContents"/>
+											<reference key="NSSupport" ref="599111291"/>
+											<reference key="NSControlView" ref="1048028362"/>
+											<bool key="NSDrawsBackground">YES</bool>
+											<reference key="NSBackgroundColor" ref="695013634"/>
+											<reference key="NSTextColor" ref="917616157"/>
+										</object>
+									</object>
+									<object class="NSTextField" id="982227363">
+										<reference key="NSNextResponder" ref="404397338"/>
+										<int key="NSvFlags">256</int>
+										<string key="NSFrame">{{11, 16}, {30, 17}}</string>
+										<reference key="NSSuperview" ref="404397338"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSTextFieldCell" key="NSCell" id="923729414">
+											<int key="NSCellFlags">67239424</int>
+											<int key="NSCellFlags2">4194304</int>
+											<string key="NSContents">File:</string>
+											<reference key="NSSupport" ref="599111291"/>
+											<reference key="NSControlView" ref="982227363"/>
+											<reference key="NSBackgroundColor" ref="339352646"/>
+											<reference key="NSTextColor" ref="274191033"/>
+										</object>
+									</object>
+									<object class="NSTextField" id="282586762">
+										<reference key="NSNextResponder" ref="404397338"/>
+										<int key="NSvFlags">258</int>
+										<string key="NSFrame">{{46, 14}, {427, 22}}</string>
+										<reference key="NSSuperview" ref="404397338"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSTextFieldCell" key="NSCell" id="208523218">
+											<int key="NSCellFlags">-1804468671</int>
+											<int key="NSCellFlags2">4195328</int>
+											<string key="NSContents"/>
+											<reference key="NSSupport" ref="599111291"/>
+											<reference key="NSControlView" ref="282586762"/>
+											<bool key="NSDrawsBackground">YES</bool>
+											<reference key="NSBackgroundColor" ref="695013634"/>
+											<reference key="NSTextColor" ref="917616157"/>
+										</object>
+									</object>
+								</array>
+								<string key="NSFrame">{{2, 2}, {493, 86}}</string>
+								<reference key="NSSuperview" ref="223842171"/>
+							</object>
+						</array>
+						<string key="NSFrame">{{20, 16}, {497, 106}}</string>
+						<reference key="NSSuperview" ref="131437498"/>
+						<string key="NSOffsets">{0, 0}</string>
+						<object class="NSTextFieldCell" key="NSTitleCell">
+							<int key="NSCellFlags">67239424</int>
+							<int key="NSCellFlags2">0</int>
+							<string key="NSContents">Second root</string>
+							<reference key="NSSupport" ref="599111291"/>
+							<reference key="NSBackgroundColor" ref="695013634"/>
+							<object class="NSColor" key="NSTextColor">
+								<int key="NSColorSpace">3</int>
+								<bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes>
+							</object>
+						</object>
+						<reference key="NSContentView" ref="404397338"/>
+						<int key="NSBorderType">3</int>
+						<int key="NSBoxType">0</int>
+						<int key="NSTitlePosition">2</int>
+						<bool key="NSTransparent">NO</bool>
+					</object>
+					<object class="NSTextField" id="45078194">
+						<reference key="NSNextResponder" ref="131437498"/>
+						<int key="NSvFlags">256</int>
+						<string key="NSFrame">{{20, 213}, {87, 17}}</string>
+						<reference key="NSSuperview" ref="131437498"/>
+						<bool key="NSEnabled">YES</bool>
+						<object class="NSTextFieldCell" key="NSCell" id="972568817">
+							<int key="NSCellFlags">67239424</int>
+							<int key="NSCellFlags2">4194304</int>
+							<string key="NSContents">Profile name:</string>
+							<reference key="NSSupport" ref="599111291"/>
+							<reference key="NSControlView" ref="45078194"/>
+							<reference key="NSBackgroundColor" ref="339352646"/>
+							<reference key="NSTextColor" ref="274191033"/>
+						</object>
+					</object>
+					<object class="NSTextField" id="459036983">
+						<reference key="NSNextResponder" ref="131437498"/>
+						<int key="NSvFlags">258</int>
+						<string key="NSFrame">{{106, 208}, {408, 22}}</string>
+						<reference key="NSSuperview" ref="131437498"/>
+						<bool key="NSEnabled">YES</bool>
+						<object class="NSTextFieldCell" key="NSCell" id="316961684">
+							<int key="NSCellFlags">-1804468671</int>
+							<int key="NSCellFlags2">4195328</int>
+							<string key="NSContents"/>
+							<reference key="NSSupport" ref="599111291"/>
+							<reference key="NSControlView" ref="459036983"/>
+							<bool key="NSDrawsBackground">YES</bool>
+							<reference key="NSBackgroundColor" ref="695013634"/>
+							<reference key="NSTextColor" ref="917616157"/>
+						</object>
+					</object>
+				</array>
+				<string key="NSFrameSize">{534, 250}</string>
+				<object class="NSMutableString" key="NSClassName">
+					<characters key="NS.bytes">NSView</characters>
+				</object>
+				<string key="NSExtension">NSResponder</string>
+			</object>
+			<object class="NSCustomView" id="976206435">
+				<reference key="NSNextResponder"/>
+				<int key="NSvFlags">256</int>
+				<array class="NSMutableArray" key="NSSubviews">
+					<object class="NSProgressIndicator" id="899688332">
+						<reference key="NSNextResponder" ref="976206435"/>
+						<int key="NSvFlags">1325</int>
+						<object class="NSPSMatrix" key="NSDrawMatrix"/>
+						<string key="NSFrame">{{419, 263}, {32, 32}}</string>
+						<reference key="NSSuperview" ref="976206435"/>
+						<reference key="NSWindow"/>
+						<int key="NSpiFlags">20490</int>
+						<double key="NSMaxValue">100</double>
+					</object>
+					<object class="BWGradientBox" id="14416367">
+						<reference key="NSNextResponder" ref="976206435"/>
+						<int key="NSvFlags">274</int>
+						<array class="NSMutableArray" key="NSSubviews">
+							<object class="BWInsetTextField" id="894337796">
+								<reference key="NSNextResponder" ref="14416367"/>
+								<int key="NSvFlags">301</int>
+								<string key="NSFrame">{{304, 254}, {263, 19}}</string>
+								<reference key="NSSuperview" ref="14416367"/>
+								<reference key="NSWindow"/>
+								<bool key="NSEnabled">YES</bool>
+								<object class="NSTextFieldCell" key="NSCell" id="687143868">
+									<int key="NSCellFlags">68288064</int>
+									<int key="NSCellFlags2">138544128</int>
+									<string key="NSContents">Connecting...</string>
+									<object class="NSFont" key="NSSupport">
+										<string key="NSName">LucidaGrande</string>
+										<double key="NSSize">16</double>
+										<int key="NSfFlags">16</int>
+									</object>
+									<reference key="NSControlView" ref="894337796"/>
+									<reference key="NSBackgroundColor" ref="339352646"/>
+									<reference key="NSTextColor" ref="274191033"/>
+								</object>
+							</object>
+						</array>
+						<string key="NSFrameSize">{871, 577}</string>
+						<reference key="NSSuperview" ref="976206435"/>
+						<reference key="NSWindow"/>
+						<object class="NSColor" key="BWGBFillStartingColor">
+							<int key="NSColorSpace">1</int>
+							<bytes key="NSRGB">MC42NzU3Njg1MjI3IDAuNzIxOTQ4MTMwNiAwLjc2NTMwNjEyMjQAA</bytes>
+						</object>
+						<object class="NSColor" key="BWGBFillEndingColor">
+							<int key="NSColorSpace">1</int>
+							<bytes key="NSRGB">MC41MTM3NjcxODUyIDAuNTY4NDkwNTE3IDAuNjE3MzQ2OTM4OAA</bytes>
+						</object>
+						<object class="NSColor" key="BWGBFillColor">
+							<int key="NSColorSpace">1</int>
+							<bytes key="NSRGB">MC42MTk2MDA4NjE0IDAuNjYxMTkyMDA1MSAwLjcxOTM4Nzc1NTEAA</bytes>
+						</object>
+						<object class="NSColor" key="BWGBTopBorderColor">
+							<int key="NSColorSpace">1</int>
+							<bytes key="NSRGB">MC41NTc2NjQ2NjM5IDAuNTk4ODkyNDg5OSAwLjY0Mjg1NzE0MjkAA</bytes>
+						</object>
+						<object class="NSColor" key="BWGBBottomBorderColor">
+							<int key="NSColorSpace">1</int>
+							<bytes key="NSRGB">MC40Mjc4NDM2NjA5IDAuNDc5NDI1MTUwOSAwLjUyMDQwODE2MzMAA</bytes>
+						</object>
+						<bool key="BWGBHasTopBorder">NO</bool>
+						<bool key="BWGBHasBottomBorder">NO</bool>
+						<bool key="BWGBHasGradient">YES</bool>
+						<float key="BWGBTopInsetAlpha">0.30000001192092896</float>
+						<float key="BWGBBottomInsetAlpha">0.0</float>
+					</object>
+				</array>
+				<string key="NSFrameSize">{871, 577}</string>
+				<reference key="NSSuperview"/>
+				<reference key="NSWindow"/>
+				<object class="NSMutableString" key="NSClassName">
+					<characters key="NS.bytes">NSView</characters>
+				</object>
+				<string key="NSExtension">NSResponder</string>
+			</object>
+			<object class="NSWindowTemplate" id="621468052">
+				<int key="NSWindowStyleMask">7</int>
+				<int key="NSWindowBacking">2</int>
+				<string key="NSWindowRect">{{2, 118}, {227, 128}}</string>
+				<int key="NSWTFlags">1886912512</int>
+				<string key="NSWindowTitle">PasswordWindow</string>
+				<string key="NSWindowClass">NSWindow</string>
+				<object class="NSMutableString" key="NSViewClass">
+					<characters key="NS.bytes">View</characters>
+				</object>
+				<string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
+				<string key="NSWindowContentMinSize">{213, 107}</string>
+				<object class="NSView" key="NSWindowView" id="813757358">
+					<nil key="NSNextResponder"/>
+					<int key="NSvFlags">256</int>
+					<array class="NSMutableArray" key="NSSubviews">
+						<object class="NSTextField" id="340638115">
+							<reference key="NSNextResponder" ref="813757358"/>
+							<int key="NSvFlags">256</int>
+							<string key="NSFrame">{{20, 60}, {187, 22}}</string>
+							<reference key="NSSuperview" ref="813757358"/>
+							<bool key="NSEnabled">YES</bool>
+							<object class="NSTextFieldCell" key="NSCell" id="835745293">
+								<int key="NSCellFlags">-1804468671</int>
+								<int key="NSCellFlags2">4195328</int>
+								<string key="NSContents"/>
+								<reference key="NSSupport" ref="599111291"/>
+								<reference key="NSControlView" ref="340638115"/>
+								<bool key="NSDrawsBackground">YES</bool>
+								<reference key="NSBackgroundColor" ref="695013634"/>
+								<reference key="NSTextColor" ref="917616157"/>
+							</object>
+						</object>
+						<object class="NSButton" id="727137783">
+							<reference key="NSNextResponder" ref="813757358"/>
+							<int key="NSvFlags">256</int>
+							<string key="NSFrame">{{115, 12}, {98, 32}}</string>
+							<reference key="NSSuperview" ref="813757358"/>
+							<bool key="NSEnabled">YES</bool>
+							<object class="NSButtonCell" key="NSCell" id="80389260">
+								<int key="NSCellFlags">67239424</int>
+								<int key="NSCellFlags2">137887744</int>
+								<string key="NSContents">Continue</string>
+								<reference key="NSSupport" ref="599111291"/>
+								<reference key="NSControlView" ref="727137783"/>
+								<int key="NSButtonFlags">-2038284033</int>
+								<int key="NSButtonFlags2">1</int>
+								<object class="NSFont" key="NSAlternateImage" id="119703982">
+									<string key="NSName">Helvetica</string>
+									<double key="NSSize">13</double>
+									<int key="NSfFlags">16</int>
+								</object>
+								<object class="NSMutableString" key="NSAlternateContents">
+									<characters key="NS.bytes"/>
+								</object>
+								<object class="NSMutableString" key="NSKeyEquivalent">
+									<characters key="NS.bytes"/>
+								</object>
+								<int key="NSPeriodicDelay">200</int>
+								<int key="NSPeriodicInterval">25</int>
+							</object>
+						</object>
+						<object class="NSButton" id="366243254">
+							<reference key="NSNextResponder" ref="813757358"/>
+							<int key="NSvFlags">256</int>
+							<string key="NSFrame">{{14, 12}, {84, 32}}</string>
+							<reference key="NSSuperview" ref="813757358"/>
+							<bool key="NSEnabled">YES</bool>
+							<object class="NSButtonCell" key="NSCell" id="512512774">
+								<int key="NSCellFlags">67239424</int>
+								<int key="NSCellFlags2">137887744</int>
+								<string key="NSContents">Cancel</string>
+								<reference key="NSSupport" ref="599111291"/>
+								<reference key="NSControlView" ref="366243254"/>
+								<int key="NSButtonFlags">-2038284033</int>
+								<int key="NSButtonFlags2">1</int>
+								<reference key="NSAlternateImage" ref="119703982"/>
+								<object class="NSMutableString" key="NSAlternateContents">
+									<characters key="NS.bytes"/>
+								</object>
+								<object class="NSMutableString" key="NSKeyEquivalent">
+									<characters key="NS.bytes"/>
+								</object>
+								<int key="NSPeriodicDelay">200</int>
+								<int key="NSPeriodicInterval">25</int>
+							</object>
+						</object>
+						<object class="NSTextField" id="23444779">
+							<reference key="NSNextResponder" ref="813757358"/>
+							<int key="NSvFlags">256</int>
+							<string key="NSFrame">{{17, 90}, {193, 17}}</string>
+							<reference key="NSSuperview" ref="813757358"/>
+							<bool key="NSEnabled">YES</bool>
+							<object class="NSTextFieldCell" key="NSCell" id="79825548">
+								<int key="NSCellFlags">67239488</int>
+								<int key="NSCellFlags2">4196352</int>
+								<string type="base64-UTF8" key="NSContents">UGxlYXNlIGVudGVyIHlvdXIgcGFzc3dvcmQKA</string>
+								<reference key="NSSupport" ref="599111291"/>
+								<reference key="NSControlView" ref="23444779"/>
+								<reference key="NSBackgroundColor" ref="339352646"/>
+								<reference key="NSTextColor" ref="274191033"/>
+							</object>
+						</object>
+					</array>
+					<string key="NSFrameSize">{227, 128}</string>
+				</object>
+				<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
+				<string key="NSMinSize">{213, 129}</string>
+				<string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
+			</object>
+			<object class="NSWindowTemplate" id="329232122">
+				<int key="NSWindowStyleMask">3</int>
+				<int key="NSWindowBacking">2</int>
+				<string key="NSWindowRect">{{194, 458}, {262, 266}}</string>
+				<int key="NSWTFlags">1886912512</int>
+				<string key="NSWindowTitle"/>
+				<string key="NSWindowClass">NSWindow</string>
+				<object class="NSMutableString" key="NSViewClass">
+					<characters key="NS.bytes">View</characters>
+				</object>
+				<string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
+				<string key="NSWindowContentMinSize">{213, 107}</string>
+				<object class="NSView" key="NSWindowView" id="614370347">
+					<nil key="NSNextResponder"/>
+					<int key="NSvFlags">256</int>
+					<array class="NSMutableArray" key="NSSubviews">
+						<object class="NSTextField" id="659712406">
+							<reference key="NSNextResponder" ref="614370347"/>
+							<int key="NSvFlags">256</int>
+							<string key="NSFrame">{{22, 152}, {220, 22}}</string>
+							<reference key="NSSuperview" ref="614370347"/>
+							<bool key="NSEnabled">YES</bool>
+							<object class="NSTextFieldCell" key="NSCell" id="538108566">
+								<int key="NSCellFlags">-2079195584</int>
+								<int key="NSCellFlags2">138413056</int>
+								<string key="NSContents">Unison</string>
+								<object class="NSFont" key="NSSupport">
+									<string key="NSName">LucidaGrande-Bold</string>
+									<double key="NSSize">18</double>
+									<int key="NSfFlags">16</int>
+								</object>
+								<reference key="NSControlView" ref="659712406"/>
+								<reference key="NSBackgroundColor" ref="695013634"/>
+								<reference key="NSTextColor" ref="917616157"/>
+							</object>
+						</object>
+						<object class="NSTextField" id="267764307">
+							<reference key="NSNextResponder" ref="614370347"/>
+							<int key="NSvFlags">256</int>
+							<string key="NSFrame">{{22, 20}, {224, 52}}</string>
+							<reference key="NSSuperview" ref="614370347"/>
+							<bool key="NSEnabled">YES</bool>
+							<object class="NSTextFieldCell" key="NSCell" id="742877646">
+								<int key="NSCellFlags">-2080244224</int>
+								<int key="NSCellFlags2">138412032</int>
+								<string type="base64-UTF8" key="NSContents">wqkgQ29weXJpZ2h0IDE5OTktMjAwNi4KClRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGhl
+IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLg</string>
+								<object class="NSFont" key="NSSupport">
+									<string key="NSName">LucidaGrande</string>
+									<double key="NSSize">10</double>
+									<int key="NSfFlags">2843</int>
+								</object>
+								<reference key="NSControlView" ref="267764307"/>
+								<reference key="NSBackgroundColor" ref="695013634"/>
+								<reference key="NSTextColor" ref="917616157"/>
+							</object>
+						</object>
+						<object class="NSImageView" id="753251315">
+							<reference key="NSNextResponder" ref="614370347"/>
+							<int key="NSvFlags">256</int>
+							<set class="NSMutableSet" key="NSDragTypes">
+								<string>Apple PDF pasteboard type</string>
+								<string>Apple PICT pasteboard type</string>
+								<string>Apple PNG pasteboard type</string>
+								<string>NSFilenamesPboardType</string>
+								<string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
+								<string>NeXT TIFF v4.0 pasteboard type</string>
+							</set>
+							<string key="NSFrame">{{20, 182}, {224, 64}}</string>
+							<reference key="NSSuperview" ref="614370347"/>
+							<bool key="NSEnabled">YES</bool>
+							<object class="NSImageCell" key="NSCell" id="652374412">
+								<int key="NSCellFlags">130560</int>
+								<int key="NSCellFlags2">33554432</int>
+								<object class="NSCustomResource" key="NSContents">
+									<string key="NSClassName">NSImage</string>
+									<string key="NSResourceName">Unison</string>
+								</object>
+								<int key="NSAlign">0</int>
+								<int key="NSScale">0</int>
+								<int key="NSStyle">0</int>
+								<bool key="NSAnimates">NO</bool>
+							</object>
+							<bool key="NSEditable">YES</bool>
+						</object>
+						<object class="NSTextField" id="1025952662">
+							<reference key="NSNextResponder" ref="614370347"/>
+							<int key="NSvFlags">256</int>
+							<string key="NSFrame">{{22, 101}, {224, 18}}</string>
+							<reference key="NSSuperview" ref="614370347"/>
+							<bool key="NSEnabled">YES</bool>
+							<object class="NSTextFieldCell" key="NSCell" id="292039647">
+								<int key="NSCellFlags">-2079195584</int>
+								<int key="NSCellFlags2">138413056</int>
+								<string key="NSContents">Sync you very much!</string>
+								<object class="NSFont" key="NSSupport">
+									<string key="NSName">Optima-Italic</string>
+									<double key="NSSize">12</double>
+									<int key="NSfFlags">16</int>
+								</object>
+								<reference key="NSControlView" ref="1025952662"/>
+								<reference key="NSBackgroundColor" ref="695013634"/>
+								<reference key="NSTextColor" ref="917616157"/>
+							</object>
+						</object>
+						<object class="NSTextField" id="844769937">
+							<reference key="NSNextResponder" ref="614370347"/>
+							<int key="NSvFlags">256</int>
+							<string key="NSFrame">{{22, 127}, {220, 17}}</string>
+							<reference key="NSSuperview" ref="614370347"/>
+							<bool key="NSEnabled">YES</bool>
+							<object class="NSTextFieldCell" key="NSCell" id="173945597">
+								<int key="NSCellFlags">-2079195584</int>
+								<int key="NSCellFlags2">138413056</int>
+								<string key="NSContents">?.?.?</string>
+								<reference key="NSSupport" ref="745083723"/>
+								<reference key="NSControlView" ref="844769937"/>
+								<reference key="NSBackgroundColor" ref="695013634"/>
+								<reference key="NSTextColor" ref="917616157"/>
+							</object>
+						</object>
+					</array>
+					<string key="NSFrameSize">{262, 266}</string>
+				</object>
+				<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
+				<string key="NSMinSize">{213, 129}</string>
+				<string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
+			</object>
+			<object class="NSWindowTemplate" id="923445797">
+				<int key="NSWindowStyleMask">15</int>
+				<int key="NSWindowBacking">2</int>
+				<string key="NSWindowRect">{{519, 382}, {505, 342}}</string>
+				<int key="NSWTFlags">1886912512</int>
+				<string key="NSWindowTitle">Diff</string>
+				<object class="NSMutableString" key="NSWindowClass">
+					<characters key="NS.bytes">NSWindow</characters>
+				</object>
+				<object class="NSMutableString" key="NSViewClass">
+					<characters key="NS.bytes">View</characters>
+				</object>
+				<string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
+				<string key="NSWindowContentMinSize">{213, 107}</string>
+				<object class="NSView" key="NSWindowView" id="441291314">
+					<nil key="NSNextResponder"/>
+					<int key="NSvFlags">256</int>
+					<array class="NSMutableArray" key="NSSubviews">
+						<object class="NSScrollView" id="531171583">
+							<reference key="NSNextResponder" ref="441291314"/>
+							<int key="NSvFlags">319</int>
+							<array class="NSMutableArray" key="NSSubviews">
+								<object class="NSClipView" id="638847102">
+									<reference key="NSNextResponder" ref="531171583"/>
+									<int key="NSvFlags">2304</int>
+									<array class="NSMutableArray" key="NSSubviews">
+										<object class="NSTextView" id="755012754">
+											<reference key="NSNextResponder" ref="638847102"/>
+											<int key="NSvFlags">2322</int>
+											<string key="NSFrameSize">{505, 14}</string>
+											<reference key="NSSuperview" ref="638847102"/>
+											<object class="NSTextContainer" key="NSTextContainer" id="285163648">
+												<object class="NSLayoutManager" key="NSLayoutManager">
+													<object class="NSTextStorage" key="NSTextStorage">
+														<object class="NSMutableString" key="NSString">
+															<characters key="NS.bytes"/>
+														</object>
+														<nil key="NSDelegate"/>
+													</object>
+													<array class="NSMutableArray" key="NSTextContainers">
+														<reference ref="285163648"/>
+													</array>
+													<int key="NSLMFlags">6</int>
+													<nil key="NSDelegate"/>
+												</object>
+												<reference key="NSTextView" ref="755012754"/>
+												<double key="NSWidth">505</double>
+												<int key="NSTCFlags">1</int>
+											</object>
+											<object class="NSTextViewSharedData" key="NSSharedData">
+												<int key="NSFlags">11236</int>
+												<int key="NSTextCheckingTypes">0</int>
+												<nil key="NSMarkedAttributes"/>
+												<reference key="NSBackgroundColor" ref="268561989"/>
+												<dictionary key="NSSelectedAttributes">
+													<object class="NSColor" key="NSBackgroundColor">
+														<int key="NSColorSpace">6</int>
+														<string key="NSCatalogName">System</string>
+														<string key="NSColorName">selectedTextBackgroundColor</string>
+														<reference key="NSColor" ref="176647248"/>
+													</object>
+													<object class="NSColor" key="NSColor">
+														<int key="NSColorSpace">6</int>
+														<string key="NSCatalogName">System</string>
+														<string key="NSColorName">selectedTextColor</string>
+														<reference key="NSColor" ref="465092439"/>
+													</object>
+												</dictionary>
+												<reference key="NSInsertionColor" ref="465092439"/>
+												<dictionary key="NSLinkAttributes">
+													<object class="NSColor" key="NSColor">
+														<int key="NSColorSpace">1</int>
+														<bytes key="NSRGB">MCAwIDEAA</bytes>
+													</object>
+													<integer value="1" key="NSUnderline"/>
+												</dictionary>
+												<nil key="NSDefaultParagraphStyle"/>
+											</object>
+											<int key="NSTVFlags">6</int>
+											<string key="NSMaxSize">{1010, 1e+07}</string>
+											<string key="NSMinize">{114, 0}</string>
+											<nil key="NSDelegate"/>
+										</object>
+									</array>
+									<string key="NSFrameSize">{505, 342}</string>
+									<reference key="NSSuperview" ref="531171583"/>
+									<reference key="NSNextKeyView" ref="755012754"/>
+									<reference key="NSDocView" ref="755012754"/>
+									<reference key="NSBGColor" ref="268561989"/>
+									<object class="NSCursor" key="NSCursor">
+										<string key="NSHotSpot">{1, -1}</string>
+										<int key="NSCursorType">0</int>
+									</object>
+									<int key="NScvFlags">4</int>
+								</object>
+								<object class="NSScroller" id="336081770">
+									<reference key="NSNextResponder" ref="531171583"/>
+									<int key="NSvFlags">-2147483392</int>
+									<string key="NSFrame">{{-30, 1}, {15, 356}}</string>
+									<reference key="NSSuperview" ref="531171583"/>
+									<reference key="NSTarget" ref="531171583"/>
+									<string key="NSAction">_doScroller:</string>
+									<double key="NSCurValue">1</double>
+								</object>
+								<object class="NSScroller" id="645744673">
+									<reference key="NSNextResponder" ref="531171583"/>
+									<int key="NSvFlags">-2147483392</int>
+									<string key="NSFrame">{{-100, -100}, {87, 18}}</string>
+									<reference key="NSSuperview" ref="531171583"/>
+									<int key="NSsFlags">1</int>
+									<reference key="NSTarget" ref="531171583"/>
+									<string key="NSAction">_doScroller:</string>
+									<double key="NSCurValue">1</double>
+									<double key="NSPercent">0.94565218687057495</double>
+								</object>
+							</array>
+							<string key="NSFrameSize">{505, 342}</string>
+							<reference key="NSSuperview" ref="441291314"/>
+							<reference key="NSNextKeyView" ref="638847102"/>
+							<int key="NSsFlags">528</int>
+							<reference key="NSVScroller" ref="336081770"/>
+							<reference key="NSHScroller" ref="645744673"/>
+							<reference key="NSContentView" ref="638847102"/>
+						</object>
+					</array>
+					<string key="NSFrameSize">{505, 342}</string>
+				</object>
+				<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
+				<string key="NSMinSize">{213, 129}</string>
+				<string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
+			</object>
+			<object class="NSWindowTemplate" id="1047544150">
+				<int key="NSWindowStyleMask">1</int>
+				<int key="NSWindowBacking">2</int>
+				<string key="NSWindowRect">{{163, 135}, {400, 229}}</string>
+				<int key="NSWTFlags">1886912512</int>
+				<string key="NSWindowTitle">Unison</string>
+				<string key="NSWindowClass">NSWindow</string>
+				<object class="NSMutableString" key="NSViewClass">
+					<characters key="NS.bytes">View</characters>
+				</object>
+				<string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
+				<string key="NSWindowContentMinSize">{213, 107}</string>
+				<object class="NSView" key="NSWindowView" id="18501583">
+					<nil key="NSNextResponder"/>
+					<int key="NSvFlags">256</int>
+					<array class="NSMutableArray" key="NSSubviews">
+						<object class="NSButton" id="159106305">
+							<reference key="NSNextResponder" ref="18501583"/>
+							<int key="NSvFlags">256</int>
+							<string key="NSFrame">{{302, 12}, {84, 32}}</string>
+							<reference key="NSSuperview" ref="18501583"/>
+							<bool key="NSEnabled">YES</bool>
+							<object class="NSButtonCell" key="NSCell" id="519522710">
+								<int key="NSCellFlags">-2080244224</int>
+								<int key="NSCellFlags2">134217728</int>
+								<string key="NSContents">Yes</string>
+								<reference key="NSSupport" ref="599111291"/>
+								<reference key="NSControlView" ref="159106305"/>
+								<int key="NSButtonFlags">-2038284033</int>
+								<int key="NSButtonFlags2">1</int>
+								<reference key="NSAlternateImage" ref="599111291"/>
+								<string key="NSAlternateContents"/>
+								<object class="NSMutableString" key="NSKeyEquivalent">
+									<characters key="NS.bytes"/>
+								</object>
+								<int key="NSPeriodicDelay">200</int>
+								<int key="NSPeriodicInterval">25</int>
+							</object>
+						</object>
+						<object class="NSTextField" id="565406362">
+							<reference key="NSNextResponder" ref="18501583"/>
+							<int key="NSvFlags">256</int>
+							<string key="NSFrame">{{20, 188}, {383, 21}}</string>
+							<reference key="NSSuperview" ref="18501583"/>
+							<bool key="NSEnabled">YES</bool>
+							<object class="NSTextFieldCell" key="NSCell" id="438918118">
+								<int key="NSCellFlags">67239424</int>
+								<int key="NSCellFlags2">4194304</int>
+								<string key="NSContents">Would you like to install the Unison command-line tool?</string>
+								<object class="NSFont" key="NSSupport">
+									<string key="NSName">LucidaGrande-Bold</string>
+									<double key="NSSize">12</double>
+									<int key="NSfFlags">16</int>
+								</object>
+								<reference key="NSControlView" ref="565406362"/>
+								<reference key="NSBackgroundColor" ref="339352646"/>
+								<reference key="NSTextColor" ref="274191033"/>
+							</object>
+						</object>
+						<object class="NSButton" id="1066528945">
+							<reference key="NSNextResponder" ref="18501583"/>
+							<int key="NSvFlags">256</int>
+							<string key="NSFrame">{{17, 36}, {145, 18}}</string>
+							<reference key="NSSuperview" ref="18501583"/>
+							<bool key="NSEnabled">YES</bool>
+							<object class="NSButtonCell" key="NSCell" id="13750519">
+								<int key="NSCellFlags">67239424</int>
+								<int key="NSCellFlags2">131072</int>
+								<string key="NSContents">Don't ask me again</string>
+								<reference key="NSSupport" ref="26"/>
+								<reference key="NSControlView" ref="1066528945"/>
+								<int key="NSButtonFlags">1211912703</int>
+								<int key="NSButtonFlags2">2</int>
+								<object class="NSButtonImageSource" key="NSAlternateImage" id="478087450">
+									<string key="NSImageName">NSSwitch</string>
+								</object>
+								<string key="NSAlternateContents"/>
+								<string key="NSKeyEquivalent"/>
+								<int key="NSPeriodicDelay">200</int>
+								<int key="NSPeriodicInterval">25</int>
+							</object>
+						</object>
+						<object class="NSButton" id="67591844">
+							<reference key="NSNextResponder" ref="18501583"/>
+							<int key="NSvFlags">256</int>
+							<string key="NSFrame">{{218, 12}, {84, 32}}</string>
+							<reference key="NSSuperview" ref="18501583"/>
+							<bool key="NSEnabled">YES</bool>
+							<object class="NSButtonCell" key="NSCell" id="1020934634">
+								<int key="NSCellFlags">67239424</int>
+								<int key="NSCellFlags2">134217728</int>
+								<string key="NSContents">No</string>
+								<reference key="NSSupport" ref="599111291"/>
+								<reference key="NSControlView" ref="67591844"/>
+								<int key="NSButtonFlags">-2038284033</int>
+								<int key="NSButtonFlags2">1</int>
+								<reference key="NSAlternateImage" ref="599111291"/>
+								<string key="NSAlternateContents"/>
+								<object class="NSMutableString" key="NSKeyEquivalent">
+									<characters key="NS.bytes"/>
+								</object>
+								<int key="NSPeriodicDelay">200</int>
+								<int key="NSPeriodicInterval">25</int>
+							</object>
+						</object>
+						<object class="NSTextField" id="847992124">
+							<reference key="NSNextResponder" ref="18501583"/>
+							<int key="NSvFlags">256</int>
+							<string key="NSFrame">{{17, 60}, {366, 120}}</string>
+							<reference key="NSSuperview" ref="18501583"/>
+							<bool key="NSEnabled">YES</bool>
+							<object class="NSTextFieldCell" key="NSCell" id="132645490">
+								<int key="NSCellFlags">67239424</int>
+								<int key="NSCellFlags2">272629760</int>
+								<string type="base64-UTF8" key="NSContents">VGhlIGNvbW1hbmQtbGluZSB0b29sIGlzIGEgc21hbGwgcHJvZ3JhbSB0aGF0IGNhbiBiZSBpbnN0YWxs
+ZWQgaW4gYSBzdGFuZGFyZCBwbGFjZSBvbiB5b3VyIGNvbXB1dGVyICgvdXNyL2Jpbi91bmlzb24pIHNv
+IFVuaXNvbiBjYW4gZWFzaWx5IGJlIGZvdW5kLiBJZiB5b3Ugd2FudCB0byBiZSBhYmxlIHRvIHN5bmNo
+cm9uaXplIGZpbGVzIG9uIHRoaXMgY29tcHV0ZXIgYnkgcnVubmluZyBVbmlzb24gb24gYSByZW1vdGUg
+Y29tcHV0ZXIsIHlvdSBzaG91bGQgcHJvYmFibHkgaW5zdGFsbCBpdC4KCklmIHlvdSBkb24ndCBpbnN0
+YWxsIGl0IG5vdywgeW91IGNhbiBkbyBzbyBsYXRlciBieSBjaG9vc2luZyAnSW5zdGFsbCBjb21tYW5k
+LWxpbmUgdG9vbCcgZnJvbSB0aGUgVW5pc29uIG1lbnUuCg</string>
+								<reference key="NSSupport" ref="26"/>
+								<reference key="NSControlView" ref="847992124"/>
+								<reference key="NSBackgroundColor" ref="339352646"/>
+								<reference key="NSTextColor" ref="274191033"/>
+							</object>
+						</object>
+					</array>
+					<string key="NSFrameSize">{400, 229}</string>
+				</object>
+				<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
+				<string key="NSMinSize">{213, 129}</string>
+				<string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
+			</object>
+			<object class="NSWindowTemplate" id="140516394">
+				<int key="NSWindowStyleMask">3</int>
+				<int key="NSWindowBacking">2</int>
+				<string key="NSWindowRect">{{235, 475}, {446, 84}}</string>
+				<int key="NSWTFlags">1954022400</int>
+				<string key="NSWindowTitle">General</string>
+				<string key="NSWindowClass">NSWindow</string>
+				<object class="BWSelectableToolbar" key="NSViewClass" id="139583560">
+					<object class="NSMutableString" key="NSToolbarIdentifier">
+						<characters key="NS.bytes">DFA39F36-D425-433A-8BF7-3AE795530EBF</characters>
+					</object>
+					<reference key="NSToolbarDelegate" ref="139583560"/>
+					<bool key="NSToolbarPrefersToBeShown">YES</bool>
+					<bool key="NSToolbarShowsBaselineSeparator">YES</bool>
+					<bool key="NSToolbarAllowsUserCustomization">YES</bool>
+					<bool key="NSToolbarAutosavesConfiguration">NO</bool>
+					<int key="NSToolbarDisplayMode">1</int>
+					<int key="NSToolbarSizeMode">1</int>
+					<dictionary class="NSMutableDictionary" key="NSToolbarIBIdentifiedItems">
+						<object class="NSToolbarItem" key="0D5950D1-D4A8-44C6-9DBC-251CFEF852E2" id="451724743">
+							<object class="NSMutableString" key="NSToolbarItemIdentifier">
+								<characters key="NS.bytes">0D5950D1-D4A8-44C6-9DBC-251CFEF852E2</characters>
+							</object>
+							<string key="NSToolbarItemLabel">General</string>
+							<string key="NSToolbarItemPaletteLabel">General</string>
+							<nil key="NSToolbarItemToolTip"/>
+							<nil key="NSToolbarItemView"/>
+							<object class="NSCustomResource" key="NSToolbarItemImage">
+								<string key="NSClassName">NSImage</string>
+								<string key="NSResourceName">NSPreferencesGeneral</string>
+							</object>
+							<reference key="NSToolbarItemTarget" ref="139583560"/>
+							<string key="NSToolbarItemAction">toggleActiveView:</string>
+							<string key="NSToolbarItemMinSize">{0, 0}</string>
+							<string key="NSToolbarItemMaxSize">{0, 0}</string>
+							<bool key="NSToolbarItemEnabled">YES</bool>
+							<bool key="NSToolbarItemAutovalidates">YES</bool>
+							<int key="NSToolbarItemTag">-1</int>
+							<bool key="NSToolbarIsUserRemovable">YES</bool>
+							<int key="NSToolbarItemVisibilityPriority">0</int>
+						</object>
+						<object class="BWToolbarShowFontsItem" key="BWToolbarShowFontsItem" id="28889810">
+							<string key="NSToolbarItemIdentifier">BWToolbarShowFontsItem</string>
+							<string key="NSToolbarItemLabel">Fonts</string>
+							<string key="NSToolbarItemPaletteLabel">Fonts</string>
+							<string key="NSToolbarItemToolTip">Show Font Panel</string>
+							<nil key="NSToolbarItemView"/>
+							<object class="NSImage" key="NSToolbarItemImage">
+								<int key="NSImageFlags">12582912</int>
+								<array class="NSMutableArray" key="NSReps">
+									<array>
+										<integer value="0"/>
+										<object class="NSBitmapImageRep">
+											<object class="NSData" key="NSTIFFRepresentation">
+												<bytes key="NS.bytes">TU0AKgAAAwyAACBQOCQWDQeEQmFQuGQ2HQ+IRGJROHAOLCJ/Rl3v+OO+KR+QSGRQYOSVtO+UIt6ytNyO
+XS+YQYHzM7BubIZyzk9PGeIqYz+gRIBUMIiSjNoEUkIuymL1zU8j0GpVOEg6rHYPVlDRYBgB3V9nOOxD
+aqWWpAG0BEQ2ttAu3BGhgIAPi6ABs3cCWa9TEG32azcC4EAWgAgB9YcAN3FDZ941nXvIRGuCINZVkvPM
+IsM5utxYAY19gBwaMjvnTL3I6mGzMHpcE68hujZCYRbV+UkEAB+bsAU9zHp6cGfariQTJ5sMtp28s0vf
+nJsK9FchHqEOOP8AOntIp5d09cXwACrA5LgfzEN1+kTQTWJcKe8y4QAPD6L2mOyo+HIXERBf/JOlA0ro
+fCWoGBUDjsC0FM6rrnHud7fAq/TIAhCpcgJDAQvu9aDgNDwqP8C5UQwvLDn0ACcnKvMJqnEghglGBcp4
+eI0tMfMCoMrgZRCZTAgK3TeO0dIjt2fjURYvi+lygjMHm/KHRCfkfAAfsqgA5Z2jTE0cSQkEXPGXLunl
+IjdyOhzqAipCkhE64AJQd49Rs4cupABk7SWgbgnpJ6Ir6BpcteBIhoIlZ6lZQosToicSCpPxUIyfxvSK
+b82oY+USBDHwRIJGxnSaslFIitwFm0+Uqn6b6RLiCMPAMGT5SKAExRXUKFxIMrcEue1diPSEzI+rgh1G
+XK4ypK09BM65vVqhFAm1SBvxtPiRMIEVRm1YtIABXZ7V6jNf1qrgy1aS8bCxSBWKDA4FH5Ys2wGPVTzn
+WtWQ8bTrne0EOKnVptMnNrQEVU7v1CuI7K4Q1TjTSEuKDEhc2CglTl7ItpxYEUfGSgjQQkva4kNEg7IJ
+fGOS6uJULiKlfUhiypsJg6LENkaOWMft92WqYEoGCUDMIMjCDmg5x0gIy9gcuN0oEDqEOuTbrkcgZ7oG
+duopDniBB+whKoGC6HnS651IGQSQiIwgdIGFqQ6+jhYIGPuppDnSBauAAFWYn+pIFqiBbzu+/b/wCYIC
+AA8BAAADAAAAAQAgAAABAQADAAAAAQAgAAABAgADAAAABAAAA8YBAwADAAAAAQAFAAABBgADAAAAAQAC
+AAABEQAEAAAAAQAAAAgBEgADAAAAAQABAAABFQADAAAAAQAEAAABFgADAAAAAQAgAAABFwAEAAAAAQAA
+AwQBHAADAAAAAQABAAABPQADAAAAAQACAAABUgADAAAAAQABAAABUwADAAAABAAAA86HcwAHAAACKAAA
+A9YAAAAAAAgACAAIAAgAAQABAAEAAQAAAihBREJFAhAAAG1udHJSR0IgWFlaIAfPAAYAAwAAAAAAAGFj
+c3BBUFBMAAAAAG5vbmUAAAAAAAAAAAAAAAABAAAAAAD21gABAAAAANMtQURCRQAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACmNwcnQAAAD8AAAAMmRlc2MAAAEwAAAAZHd0
+cHQAAAGUAAAAFGJrcHQAAAGoAAAAFHJUUkMAAAG8AAAADmdUUkMAAAHMAAAADmJUUkMAAAHcAAAADnJY
+WVoAAAHsAAAAFGdYWVoAAAIAAAAAFGJYWVoAAAIUAAAAFHRleHQAAAAAQ29weXJpZ2h0IDE5OTkgQWRv
+YmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQAAABkZXNjAAAAAAAAAApBcHBsZSBSR0IAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAWFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAGN1cnYAAAAAAAAAAQHN
+AABjdXJ2AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0AAFhZWiAAAAAAAAB5vQAAQVIAAAS5WFlaIAAA
+AAAAAFb4AACsLwAAHQNYWVogAAAAAAAAJiIAABJ/AACxcA</bytes>
+											</object>
+										</object>
+									</array>
+									<array>
+										<integer value="0"/>
+										<object class="NSBitmapImageRep">
+											<object class="NSData" key="NSTIFFRepresentation">
+												<bytes key="NS.bytes">TU0AKgAAAaiAACBQOCQWDQeEQmFQuGQ2HQ+IRGJROKRWLReMRmLFWBquNR+QQYiQNdwMAyGURkGStdhK
+XERxTEJQN3ymbRAiCqdLsAz0ANWgEWBryb0WEgWkMwRUsIgSnCKgNUzwNNUarQQzAKtDMHV0ABWwGZt2
+M8QNE1e0N2BkWtAIqiG4Ihy3NePi7UK0TYzQMZwOpwIqiDBKp3YVmvLEDS8za1QK8ABvXwOZNmPvLAB0
+5mT4uNHeD2eD2AKv8B6UAOjUYqBM3ORIIz0Asx/7PVACawcIblugfeCLMunH0TWxA704CHd+cnWQuug4
+Z0gChF29OywLQcOFBGBsyB7Xbwq2ncG+NEPPzJp/em/9iE56BdqBdWIneVgxEXZ8LzkvzH+yBhE7buoG
+yKJCIBMDl2fsFHefUGpm/yCEyg71ooGYDQu2TZgAyx9we2yjASgYJoGIa2lA2Z/kZFCqosDrjF6gj9je
+gZWoGdyBnuj8RoEOaBjY2AGxQbCBlegZYIeLyBhq2AbIJFByoGUSBkWmiPxCgUdgBK8IIEe0bRxLkwzF
+MaDICAAPAQAAAwAAAAEAGAAAAQEAAwAAAAEAGAAAAQIAAwAAAAQAAAJiAQMAAwAAAAEABQAAAQYAAwAA
+AAEAAgAAAREABAAAAAEAAAAIARIAAwAAAAEAAQAAARUAAwAAAAEABAAAARYAAwAAAAEAGAAAARcABAAA
+AAEAAAGgARwAAwAAAAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAQAAAJqh3MABwAA
+AigAAAJyAAAAAAAIAAgACAAIAAEAAQABAAEAAAIoQURCRQIQAABtbnRyUkdCIFhZWiAHzwAGAAMAAAAA
+AABhY3NwQVBQTAAAAABub25lAAAAAAAAAAAAAAAAAQAAAAAA9tYAAQAAAADTLUFEQkUAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApjcHJ0AAAA/AAAADJkZXNjAAABMAAA
+AGR3dHB0AAABlAAAABRia3B0AAABqAAAABRyVFJDAAABvAAAAA5nVFJDAAABzAAAAA5iVFJDAAAB3AAA
+AA5yWFlaAAAB7AAAABRnWFlaAAACAAAAABRiWFlaAAACFAAAABR0ZXh0AAAAAENvcHlyaWdodCAxOTk5
+IEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkAAAAZGVzYwAAAAAAAAAKQXBwbGUgUkdCAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAAAABjdXJ2AAAAAAAA
+AAEBzQAAY3VydgAAAAAAAAABAc0AAGN1cnYAAAAAAAAAAQHNAABYWVogAAAAAAAAeb0AAEFSAAAEuVhZ
+WiAAAAAAAABW+AAArC8AAB0DWFlaIAAAAAAAACYiAAASfwAAsXA</bytes>
+											</object>
+										</object>
+									</array>
+								</array>
+								<object class="NSColor" key="NSColor">
+									<int key="NSColorSpace">3</int>
+									<bytes key="NSWhite">MCAwAA</bytes>
+								</object>
+							</object>
+							<reference key="NSToolbarItemTarget"/>
+							<string key="NSToolbarItemAction">orderFrontFontPanel:</string>
+							<string key="NSToolbarItemMinSize">{0, 0}</string>
+							<string key="NSToolbarItemMaxSize">{0, 0}</string>
+							<bool key="NSToolbarItemEnabled">YES</bool>
+							<bool key="NSToolbarItemAutovalidates">YES</bool>
+							<int key="NSToolbarItemTag">-1</int>
+							<bool key="NSToolbarIsUserRemovable">YES</bool>
+							<int key="NSToolbarItemVisibilityPriority">0</int>
+						</object>
+						<object class="NSToolbarFlexibleSpaceItem" key="NSToolbarFlexibleSpaceItem" id="501620190">
+							<string key="NSToolbarItemIdentifier">NSToolbarFlexibleSpaceItem</string>
+							<string key="NSToolbarItemLabel"/>
+							<string key="NSToolbarItemPaletteLabel">Flexible Space</string>
+							<nil key="NSToolbarItemToolTip"/>
+							<nil key="NSToolbarItemView"/>
+							<nil key="NSToolbarItemImage"/>
+							<nil key="NSToolbarItemTarget"/>
+							<nil key="NSToolbarItemAction"/>
+							<string key="NSToolbarItemMinSize">{1, 5}</string>
+							<string key="NSToolbarItemMaxSize">{20000, 32}</string>
+							<bool key="NSToolbarItemEnabled">YES</bool>
+							<bool key="NSToolbarItemAutovalidates">YES</bool>
+							<int key="NSToolbarItemTag">-1</int>
+							<bool key="NSToolbarIsUserRemovable">YES</bool>
+							<int key="NSToolbarItemVisibilityPriority">0</int>
+							<object class="NSMenuItem" key="NSToolbarItemMenuFormRepresentation">
+								<bool key="NSIsDisabled">YES</bool>
+								<bool key="NSIsSeparator">YES</bool>
+								<string key="NSTitle"/>
+								<string key="NSKeyEquiv"/>
+								<int key="NSKeyEquivModMask">1048576</int>
+								<int key="NSMnemonicLoc">2147483647</int>
+								<reference key="NSOnImage" ref="151838310"/>
+								<reference key="NSMixedImage" ref="1045142073"/>
+							</object>
+						</object>
+						<object class="NSToolbarSeparatorItem" key="NSToolbarSeparatorItem" id="675189501">
+							<string key="NSToolbarItemIdentifier">NSToolbarSeparatorItem</string>
+							<string key="NSToolbarItemLabel"/>
+							<string key="NSToolbarItemPaletteLabel">Separator</string>
+							<nil key="NSToolbarItemToolTip"/>
+							<nil key="NSToolbarItemView"/>
+							<nil key="NSToolbarItemImage"/>
+							<nil key="NSToolbarItemTarget"/>
+							<nil key="NSToolbarItemAction"/>
+							<string key="NSToolbarItemMinSize">{12, 5}</string>
+							<string key="NSToolbarItemMaxSize">{12, 1000}</string>
+							<bool key="NSToolbarItemEnabled">YES</bool>
+							<bool key="NSToolbarItemAutovalidates">YES</bool>
+							<int key="NSToolbarItemTag">-1</int>
+							<bool key="NSToolbarIsUserRemovable">YES</bool>
+							<int key="NSToolbarItemVisibilityPriority">0</int>
+							<object class="NSMenuItem" key="NSToolbarItemMenuFormRepresentation">
+								<bool key="NSIsDisabled">YES</bool>
+								<bool key="NSIsSeparator">YES</bool>
+								<string key="NSTitle"/>
+								<string key="NSKeyEquiv"/>
+								<int key="NSKeyEquivModMask">1048576</int>
+								<int key="NSMnemonicLoc">2147483647</int>
+								<reference key="NSOnImage" ref="151838310"/>
+								<reference key="NSMixedImage" ref="1045142073"/>
+							</object>
+						</object>
+						<object class="NSToolbarSpaceItem" key="NSToolbarSpaceItem" id="711955272">
+							<string key="NSToolbarItemIdentifier">NSToolbarSpaceItem</string>
+							<string key="NSToolbarItemLabel"/>
+							<string key="NSToolbarItemPaletteLabel">Space</string>
+							<nil key="NSToolbarItemToolTip"/>
+							<nil key="NSToolbarItemView"/>
+							<nil key="NSToolbarItemImage"/>
+							<nil key="NSToolbarItemTarget"/>
+							<nil key="NSToolbarItemAction"/>
+							<string key="NSToolbarItemMinSize">{32, 5}</string>
+							<string key="NSToolbarItemMaxSize">{32, 32}</string>
+							<bool key="NSToolbarItemEnabled">YES</bool>
+							<bool key="NSToolbarItemAutovalidates">YES</bool>
+							<int key="NSToolbarItemTag">-1</int>
+							<bool key="NSToolbarIsUserRemovable">YES</bool>
+							<int key="NSToolbarItemVisibilityPriority">0</int>
+							<object class="NSMenuItem" key="NSToolbarItemMenuFormRepresentation">
+								<bool key="NSIsDisabled">YES</bool>
+								<bool key="NSIsSeparator">YES</bool>
+								<string key="NSTitle"/>
+								<string key="NSKeyEquiv"/>
+								<int key="NSKeyEquivModMask">1048576</int>
+								<int key="NSMnemonicLoc">2147483647</int>
+								<reference key="NSOnImage" ref="151838310"/>
+								<reference key="NSMixedImage" ref="1045142073"/>
+							</object>
+						</object>
+					</dictionary>
+					<array key="NSToolbarIBAllowedItems">
+						<reference ref="451724743"/>
+						<reference ref="28889810"/>
+						<reference ref="675189501"/>
+						<reference ref="711955272"/>
+						<reference ref="501620190"/>
+					</array>
+					<array class="NSMutableArray" key="NSToolbarIBDefaultItems">
+						<reference ref="451724743"/>
+						<reference ref="28889810"/>
+					</array>
+					<array class="NSMutableArray" key="NSToolbarIBSelectableItems"/>
+					<reference key="BWSTDocumentToolbar" ref="139583560"/>
+					<object class="BWSelectableToolbarHelper" key="BWSTHelper" id="689094163">
+						<dictionary key="BWSTHContentViewsByIdentifier">
+							<object class="NSView" key="0D5950D1-D4A8-44C6-9DBC-251CFEF852E2" id="455994853">
+								<nil key="NSNextResponder"/>
+								<int key="NSvFlags">256</int>
+								<array class="NSMutableArray" key="NSSubviews">
+									<object class="NSButton" id="790851745">
+										<reference key="NSNextResponder" ref="455994853"/>
+										<int key="NSvFlags">268</int>
+										<string key="NSFrame">{{18, 45}, {174, 18}}</string>
+										<reference key="NSSuperview" ref="455994853"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSButtonCell" key="NSCell" id="1018218091">
+											<int key="NSCellFlags">-2080244224</int>
+											<int key="NSCellFlags2">0</int>
+											<string key="NSContents">Open profile on startup:</string>
+											<reference key="NSSupport" ref="599111291"/>
+											<reference key="NSControlView" ref="790851745"/>
+											<int key="NSButtonFlags">1211912703</int>
+											<int key="NSButtonFlags2">2</int>
+											<object class="NSCustomResource" key="NSNormalImage" id="836602922">
+												<string key="NSClassName">NSImage</string>
+												<string key="NSResourceName">NSSwitch</string>
+											</object>
+											<reference key="NSAlternateImage" ref="478087450"/>
+											<string key="NSAlternateContents"/>
+											<string key="NSKeyEquivalent"/>
+											<int key="NSPeriodicDelay">200</int>
+											<int key="NSPeriodicInterval">25</int>
+										</object>
+									</object>
+									<object class="NSButton" id="395929092">
+										<reference key="NSNextResponder" ref="455994853"/>
+										<int key="NSvFlags">268</int>
+										<string key="NSFrame">{{18, 18}, {410, 18}}</string>
+										<reference key="NSSuperview" ref="455994853"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSButtonCell" key="NSCell" id="761573047">
+											<int key="NSCellFlags">67239424</int>
+											<int key="NSCellFlags2">0</int>
+											<string key="NSContents">Delete log-file (~/unison.log) automatically on complete sync</string>
+											<reference key="NSSupport" ref="599111291"/>
+											<reference key="NSControlView" ref="395929092"/>
+											<int key="NSButtonFlags">1211912703</int>
+											<int key="NSButtonFlags2">2</int>
+											<reference key="NSNormalImage" ref="836602922"/>
+											<reference key="NSAlternateImage" ref="478087450"/>
+											<string key="NSAlternateContents"/>
+											<string key="NSKeyEquivalent"/>
+											<int key="NSPeriodicDelay">200</int>
+											<int key="NSPeriodicInterval">25</int>
+										</object>
+									</object>
+									<object class="NSComboBox" id="438021718">
+										<reference key="NSNextResponder" ref="455994853"/>
+										<int key="NSvFlags">268</int>
+										<string key="NSFrame">{{198, 40}, {231, 26}}</string>
+										<reference key="NSSuperview" ref="455994853"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSComboBoxCell" key="NSCell" id="556997395">
+											<int key="NSCellFlags">72482368</int>
+											<int key="NSCellFlags2">272630784</int>
+											<string key="NSContents"/>
+											<reference key="NSSupport" ref="599111291"/>
+											<reference key="NSControlView" ref="438021718"/>
+											<bool key="NSDrawsBackground">YES</bool>
+											<reference key="NSBackgroundColor" ref="695013634"/>
+											<reference key="NSTextColor" ref="274191033"/>
+											<int key="NSVisibleItemCount">5</int>
+											<bool key="NSHasVerticalScroller">YES</bool>
+											<bool key="NSCompletes">YES</bool>
+											<reference key="NSDelegate" ref="438021718"/>
+											<object class="NSComboTableView" key="NSTableView" id="667115957">
+												<reference key="NSNextResponder"/>
+												<int key="NSvFlags">274</int>
+												<string key="NSFrameSize">{15, 0}</string>
+												<reference key="NSSuperview"/>
+												<reference key="NSWindow"/>
+												<bool key="NSEnabled">YES</bool>
+												<array class="NSMutableArray" key="NSTableColumns">
+													<object class="NSTableColumn">
+														<integer value="0" key="NSIdentifier"/>
+														<double key="NSWidth">12</double>
+														<double key="NSMinWidth">10</double>
+														<double key="NSMaxWidth">1000</double>
+														<object class="NSTableHeaderCell" key="NSHeaderCell">
+															<int key="NSCellFlags">75628032</int>
+															<int key="NSCellFlags2">0</int>
+															<string key="NSContents"/>
+															<reference key="NSSupport" ref="745083723"/>
+															<object class="NSColor" key="NSBackgroundColor">
+																<int key="NSColorSpace">3</int>
+																<bytes key="NSWhite">MC4zMzMzMzI5ODU2AA</bytes>
+															</object>
+															<reference key="NSTextColor" ref="268561989"/>
+														</object>
+														<object class="NSTextFieldCell" key="NSDataCell">
+															<int key="NSCellFlags">338820672</int>
+															<int key="NSCellFlags2">1024</int>
+															<reference key="NSSupport" ref="599111291"/>
+															<reference key="NSControlView" ref="667115957"/>
+															<bool key="NSDrawsBackground">YES</bool>
+															<reference key="NSBackgroundColor" ref="571804419"/>
+															<reference key="NSTextColor" ref="274191033"/>
+														</object>
+														<int key="NSResizingMask">3</int>
+														<bool key="NSIsResizeable">YES</bool>
+														<reference key="NSTableView" ref="667115957"/>
+													</object>
+												</array>
+												<double key="NSIntercellSpacingWidth">3</double>
+												<double key="NSIntercellSpacingHeight">2</double>
+												<reference key="NSBackgroundColor" ref="571804419"/>
+												<reference key="NSGridColor" ref="837222830"/>
+												<double key="NSRowHeight">19</double>
+												<string key="NSAction">tableViewAction:</string>
+												<int key="NSTvFlags">-767524864</int>
+												<reference key="NSDelegate" ref="556997395"/>
+												<reference key="NSDataSource" ref="556997395"/>
+												<reference key="NSTarget" ref="556997395"/>
+												<int key="NSColumnAutoresizingStyle">1</int>
+												<int key="NSDraggingSourceMaskForLocal">15</int>
+												<int key="NSDraggingSourceMaskForNonLocal">0</int>
+												<bool key="NSAllowsTypeSelect">YES</bool>
+												<int key="NSTableViewDraggingDestinationStyle">0</int>
+											</object>
+										</object>
+									</object>
+								</array>
+								<string key="NSFrameSize">{446, 84}</string>
+							</object>
+							<object class="NSView" key="BWToolbarShowFontsItem" id="439327882">
+								<nil key="NSNextResponder"/>
+								<int key="NSvFlags">256</int>
+								<array class="NSMutableArray" key="NSSubviews">
+									<object class="NSTextField" id="678202428">
+										<reference key="NSNextResponder" ref="439327882"/>
+										<int key="NSvFlags">268</int>
+										<string key="NSFrame">{{125, 50}, {213, 17}}</string>
+										<reference key="NSSuperview" ref="439327882"/>
+										<reference key="NSNextKeyView" ref="1065369439"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSTextFieldCell" key="NSCell" id="751646106">
+											<int key="NSCellFlags">68288064</int>
+											<int key="NSCellFlags2">272630784</int>
+											<string key="NSContents">xxxx</string>
+											<reference key="NSSupport" ref="599111291"/>
+											<reference key="NSControlView" ref="678202428"/>
+											<reference key="NSBackgroundColor" ref="339352646"/>
+											<reference key="NSTextColor" ref="274191033"/>
+										</object>
+									</object>
+									<object class="NSButton" id="1065369439">
+										<reference key="NSNextResponder" ref="439327882"/>
+										<int key="NSvFlags">268</int>
+										<string key="NSFrame">{{343, 45}, {59, 25}}</string>
+										<reference key="NSSuperview" ref="439327882"/>
+										<reference key="NSNextKeyView" ref="760006057"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSButtonCell" key="NSCell" id="84059826">
+											<int key="NSCellFlags">-2080244224</int>
+											<int key="NSCellFlags2">134217728</int>
+											<string key="NSContents">choose</string>
+											<reference key="NSSupport" ref="599111291"/>
+											<reference key="NSControlView" ref="1065369439"/>
+											<int key="NSButtonFlags">-2038152961</int>
+											<int key="NSButtonFlags2">163</int>
+											<string key="NSAlternateContents"/>
+											<string key="NSKeyEquivalent"/>
+											<int key="NSPeriodicDelay">400</int>
+											<int key="NSPeriodicInterval">75</int>
+										</object>
+									</object>
+									<object class="NSTextField" id="28911990">
+										<reference key="NSNextResponder" ref="439327882"/>
+										<int key="NSvFlags">268</int>
+										<string key="NSFrame">{{125, 20}, {213, 17}}</string>
+										<reference key="NSSuperview" ref="439327882"/>
+										<reference key="NSNextKeyView" ref="364632432"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSTextFieldCell" key="NSCell" id="400249441">
+											<int key="NSCellFlags">68288064</int>
+											<int key="NSCellFlags2">272630784</int>
+											<string key="NSContents">xxxx</string>
+											<reference key="NSSupport" ref="599111291"/>
+											<reference key="NSControlView" ref="28911990"/>
+											<reference key="NSBackgroundColor" ref="339352646"/>
+											<reference key="NSTextColor" ref="274191033"/>
+										</object>
+									</object>
+									<object class="NSButton" id="364632432">
+										<reference key="NSNextResponder" ref="439327882"/>
+										<int key="NSvFlags">268</int>
+										<string key="NSFrame">{{343, 15}, {59, 25}}</string>
+										<reference key="NSSuperview" ref="439327882"/>
+										<reference key="NSNextKeyView" ref="455994853"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSButtonCell" key="NSCell" id="129627026">
+											<int key="NSCellFlags">-2080244224</int>
+											<int key="NSCellFlags2">134217728</int>
+											<string key="NSContents">choose</string>
+											<reference key="NSSupport" ref="599111291"/>
+											<reference key="NSControlView" ref="364632432"/>
+											<int key="NSButtonFlags">-2038152961</int>
+											<int key="NSButtonFlags2">163</int>
+											<string key="NSAlternateContents"/>
+											<string key="NSKeyEquivalent"/>
+											<int key="NSPeriodicDelay">400</int>
+											<int key="NSPeriodicInterval">75</int>
+										</object>
+									</object>
+									<object class="NSTextField" id="760006057">
+										<reference key="NSNextResponder" ref="439327882"/>
+										<int key="NSvFlags">268</int>
+										<string key="NSFrame">{{17, 20}, {106, 17}}</string>
+										<reference key="NSSuperview" ref="439327882"/>
+										<reference key="NSNextKeyView" ref="28911990"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSTextFieldCell" key="NSCell" id="112946638">
+											<int key="NSCellFlags">68288064</int>
+											<int key="NSCellFlags2">71304192</int>
+											<string key="NSContents">Diff font:</string>
+											<reference key="NSSupport" ref="599111291"/>
+											<reference key="NSControlView" ref="760006057"/>
+											<reference key="NSBackgroundColor" ref="339352646"/>
+											<reference key="NSTextColor" ref="274191033"/>
+										</object>
+									</object>
+									<object class="NSTextField" id="132542257">
+										<reference key="NSNextResponder" ref="439327882"/>
+										<int key="NSvFlags">268</int>
+										<string key="NSFrame">{{17, 50}, {106, 17}}</string>
+										<reference key="NSSuperview" ref="439327882"/>
+										<reference key="NSNextKeyView" ref="678202428"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSTextFieldCell" key="NSCell" id="1695119">
+											<int key="NSCellFlags">68288064</int>
+											<int key="NSCellFlags2">71304192</int>
+											<string key="NSContents">Details font:</string>
+											<reference key="NSSupport" ref="599111291"/>
+											<reference key="NSControlView" ref="132542257"/>
+											<reference key="NSBackgroundColor" ref="339352646"/>
+											<reference key="NSTextColor" ref="274191033"/>
+										</object>
+									</object>
+								</array>
+								<string key="NSFrameSize">{422, 87}</string>
+							</object>
+						</dictionary>
+						<object class="NSMutableData" key="BWSTHWindowSizesByIdentifier">
+							<bytes key="NS.bytes">BAtzdHJlYW10eXBlZIHoA4QBQISEhAxOU0RpY3Rpb25hcnkAhIQITlNPYmplY3QAhYQBaQKShISECE5T
+U3RyaW5nAZSEASskMEQ1OTUwRDEtRDRBOC00NEM2LTlEQkMtMjUxQ0ZFRjg1MkUyhpKEhIQHTlNWYWx1
+ZQCUhAEqhIQLe0NHU2l6ZT1kZH2agb4BgaIAhpKElpcWQldUb29sYmFyU2hvd0ZvbnRzSXRlbYaShJiZ
+mZqBpgGBpQCGhg</bytes>
+						</object>
+						<string key="BWSTHSelectedIdentifier">0D5950D1-D4A8-44C6-9DBC-251CFEF852E2</string>
+						<string key="BWSTHOldWindowTitle">Window</string>
+						<string key="BWSTHInitialIBWindowSize">{480, 348}</string>
+						<bool key="BWSTHIsPreferencesToolbar">YES</bool>
+					</object>
+					<bool key="BWSTIsPreferencesToolbar">YES</bool>
+					<dictionary key="BWSTEnabledByIdentifier"/>
+				</object>
+				<string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
+				<reference key="NSWindowView" ref="455994853"/>
+				<string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
+				<string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
+			</object>
+			<object class="NSUserDefaultsController" id="977013255">
+				<bool key="NSSharedInstance">YES</bool>
+			</object>
+		</array>
+		<object class="IBObjectContainer" key="IBDocument.Objects">
+			<array class="NSMutableArray" key="connectionRecords">
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">terminate:</string>
+						<reference key="source" ref="37863316"/>
+						<reference key="destination" ref="526625829"/>
+					</object>
+					<int key="connectionID">139</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">hideOtherApplications:</string>
+						<reference key="source" ref="37863316"/>
+						<reference key="destination" ref="693945174"/>
+					</object>
+					<int key="connectionID">146</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">hide:</string>
+						<reference key="source" ref="37863316"/>
+						<reference key="destination" ref="422290158"/>
+					</object>
+					<int key="connectionID">152</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">unhideAllApplications:</string>
+						<reference key="source" ref="37863316"/>
+						<reference key="destination" ref="67252353"/>
+					</object>
+					<int key="connectionID">153</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">cut:</string>
+						<reference key="source" ref="279913758"/>
+						<reference key="destination" ref="73613290"/>
+					</object>
+					<int key="connectionID">175</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">paste:</string>
+						<reference key="source" ref="279913758"/>
+						<reference key="destination" ref="335015660"/>
+					</object>
+					<int key="connectionID">176</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">selectAll:</string>
+						<reference key="source" ref="279913758"/>
+						<reference key="destination" ref="232124595"/>
+					</object>
+					<int key="connectionID">179</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">copy:</string>
+						<reference key="source" ref="279913758"/>
+						<reference key="destination" ref="918382228"/>
+					</object>
+					<int key="connectionID">181</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">updatesView</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="754336264"/>
+					</object>
+					<int key="connectionID">210</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">chooseProfileView</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="585072836"/>
+					</object>
+					<int key="connectionID">211</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">mainWindow</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="355605687"/>
+					</object>
+					<int key="connectionID">216</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">tableView</string>
+						<reference key="source" ref="820844840"/>
+						<reference key="destination" ref="446416594"/>
+					</object>
+					<int key="connectionID">218</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">dataSource</string>
+						<reference key="source" ref="446416594"/>
+						<reference key="destination" ref="820844840"/>
+					</object>
+					<int key="connectionID">219</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">profileController</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="820844840"/>
+					</object>
+					<int key="connectionID">221</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">endPasswordWindow:</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="727137783"/>
+					</object>
+					<int key="connectionID">240</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">passwordWindow</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="621468052"/>
+					</object>
+					<int key="connectionID">241</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">passwordText</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="340638115"/>
+					</object>
+					<int key="connectionID">242</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">endPasswordWindow:</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="366243254"/>
+					</object>
+					<int key="connectionID">243</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">ignorePath:</string>
+						<reference key="source" ref="279913758"/>
+						<reference key="destination" ref="299441153"/>
+					</object>
+					<int key="connectionID">258</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">ignoreExt:</string>
+						<reference key="source" ref="279913758"/>
+						<reference key="destination" ref="188392331"/>
+					</object>
+					<int key="connectionID">259</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">ignoreName:</string>
+						<reference key="source" ref="279913758"/>
+						<reference key="destination" ref="78895812"/>
+					</object>
+					<int key="connectionID">260</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">copyLR:</string>
+						<reference key="source" ref="279913758"/>
+						<reference key="destination" ref="938287255"/>
+					</object>
+					<int key="connectionID">270</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">copyRL:</string>
+						<reference key="source" ref="279913758"/>
+						<reference key="destination" ref="473554979"/>
+					</object>
+					<int key="connectionID">271</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">selectConflicts:</string>
+						<reference key="source" ref="279913758"/>
+						<reference key="destination" ref="833907567"/>
+					</object>
+					<int key="connectionID">273</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">revert:</string>
+						<reference key="source" ref="279913758"/>
+						<reference key="destination" ref="907786872"/>
+					</object>
+					<int key="connectionID">274</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">forceNewer:</string>
+						<reference key="source" ref="279913758"/>
+						<reference key="destination" ref="273929861"/>
+					</object>
+					<int key="connectionID">282</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">forceOlder:</string>
+						<reference key="source" ref="279913758"/>
+						<reference key="destination" ref="502496676"/>
+					</object>
+					<int key="connectionID">283</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">leaveAlone:</string>
+						<reference key="source" ref="279913758"/>
+						<reference key="destination" ref="170126817"/>
+					</object>
+					<int key="connectionID">285</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">profileNameText</string>
+						<reference key="source" ref="919673534"/>
+						<reference key="destination" ref="459036983"/>
+					</object>
+					<int key="connectionID">332</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">preferencesController</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="919673534"/>
+					</object>
+					<int key="connectionID">350</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">preferencesView</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="131437498"/>
+					</object>
+					<int key="connectionID">358</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">firstRootText</string>
+						<reference key="source" ref="919673534"/>
+						<reference key="destination" ref="535928276"/>
+					</object>
+					<int key="connectionID">373</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">secondRootUser</string>
+						<reference key="source" ref="919673534"/>
+						<reference key="destination" ref="896768358"/>
+					</object>
+					<int key="connectionID">374</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">secondRootHost</string>
+						<reference key="source" ref="919673534"/>
+						<reference key="destination" ref="1048028362"/>
+					</object>
+					<int key="connectionID">375</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">secondRootText</string>
+						<reference key="source" ref="919673534"/>
+						<reference key="destination" ref="282586762"/>
+					</object>
+					<int key="connectionID">376</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">remoteButtonCell</string>
+						<reference key="source" ref="919673534"/>
+						<reference key="destination" ref="845367793"/>
+					</object>
+					<int key="connectionID">377</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">localButtonCell</string>
+						<reference key="source" ref="919673534"/>
+						<reference key="destination" ref="520995262"/>
+					</object>
+					<int key="connectionID">378</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">nextKeyView</string>
+						<reference key="source" ref="459036983"/>
+						<reference key="destination" ref="535928276"/>
+					</object>
+					<int key="connectionID">379</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">nextKeyView</string>
+						<reference key="source" ref="535928276"/>
+						<reference key="destination" ref="588956057"/>
+					</object>
+					<int key="connectionID">380</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">nextKeyView</string>
+						<reference key="source" ref="588956057"/>
+						<reference key="destination" ref="896768358"/>
+					</object>
+					<int key="connectionID">381</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">nextKeyView</string>
+						<reference key="source" ref="896768358"/>
+						<reference key="destination" ref="1048028362"/>
+					</object>
+					<int key="connectionID">382</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">nextKeyView</string>
+						<reference key="source" ref="1048028362"/>
+						<reference key="destination" ref="282586762"/>
+					</object>
+					<int key="connectionID">383</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">remoteClick:</string>
+						<reference key="source" ref="919673534"/>
+						<reference key="destination" ref="845367793"/>
+					</object>
+					<int key="connectionID">386</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">localClick:</string>
+						<reference key="source" ref="919673534"/>
+						<reference key="destination" ref="520995262"/>
+					</object>
+					<int key="connectionID">387</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">passwordCancelButton</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="366243254"/>
+					</object>
+					<int key="connectionID">395</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">delegate</string>
+						<reference key="source" ref="340638115"/>
+						<reference key="destination" ref="626222747"/>
+					</object>
+					<int key="connectionID">396</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">myController</string>
+						<reference key="source" ref="446416594"/>
+						<reference key="destination" ref="626222747"/>
+					</object>
+					<int key="connectionID">400</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">aboutWindow</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="329232122"/>
+					</object>
+					<int key="connectionID">412</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">versionText</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="844769937"/>
+					</object>
+					<int key="connectionID">413</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">onlineHelp:</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="411336073"/>
+					</object>
+					<int key="connectionID">416</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">syncButton:</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="513780384"/>
+					</object>
+					<int key="connectionID">421</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">ConnectingView</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="976206435"/>
+					</object>
+					<int key="connectionID">425</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">restartButton:</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="396820968"/>
+					</object>
+					<int key="connectionID">431</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">passwordPrompt</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="23444779"/>
+					</object>
+					<int key="connectionID">436</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">notificationController</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="185584375"/>
+					</object>
+					<int key="connectionID">438</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">raiseAboutWindow:</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="551642701"/>
+					</object>
+					<int key="connectionID">462</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">diffWindow</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="923445797"/>
+					</object>
+					<int key="connectionID">479</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">diffView</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="755012754"/>
+					</object>
+					<int key="connectionID">480</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">merge:</string>
+						<reference key="source" ref="279913758"/>
+						<reference key="destination" ref="879528549"/>
+					</object>
+					<int key="connectionID">482</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">showDiff:</string>
+						<reference key="source" ref="279913758"/>
+						<reference key="destination" ref="973931859"/>
+					</object>
+					<int key="connectionID">483</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">rescan:</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="990697150"/>
+					</object>
+					<int key="connectionID">485</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">progressBar</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="85700482"/>
+					</object>
+					<int key="connectionID">487</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">cltoolPref</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="1066528945"/>
+					</object>
+					<int key="connectionID">497</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">cltoolWindow</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="1047544150"/>
+					</object>
+					<int key="connectionID">500</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">cltoolNoButton:</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="67591844"/>
+					</object>
+					<int key="connectionID">503</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">cltoolYesButton:</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="159106305"/>
+					</object>
+					<int key="connectionID">505</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">initialFirstResponder</string>
+						<reference key="source" ref="1047544150"/>
+						<reference key="destination" ref="159106305"/>
+					</object>
+					<int key="connectionID">506</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">raiseCltoolWindow:</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="251970986"/>
+					</object>
+					<int key="connectionID">507</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">tableModeSelector</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="384288444"/>
+					</object>
+					<int key="connectionID">516</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">tableModeChanged:</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="384288444"/>
+					</object>
+					<int key="connectionID">517</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">delegate</string>
+						<reference key="source" ref="878192733"/>
+						<reference key="destination" ref="626222747"/>
+					</object>
+					<int key="connectionID">571</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">showPreferences:</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="837410352"/>
+					</object>
+					<int key="connectionID">572</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">connectingAnimation</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="899688332"/>
+					</object>
+					<int key="connectionID">578</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">statusText</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="845737300"/>
+					</object>
+					<int key="connectionID">585</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">delegate</string>
+						<reference key="source" ref="809169243"/>
+						<reference key="destination" ref="626222747"/>
+					</object>
+					<int key="connectionID">605</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">dataSource</string>
+						<reference key="source" ref="809169243"/>
+						<reference key="destination" ref="626222747"/>
+					</object>
+					<int key="connectionID">606</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">detailsTextView</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="173308938"/>
+					</object>
+					<int key="connectionID">609</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">tableView</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="809169243"/>
+					</object>
+					<int key="connectionID">610</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBBindingConnection" key="connection">
+						<string key="label">value: values.openProfileAtStartup</string>
+						<reference key="source" ref="790851745"/>
+						<reference key="destination" ref="977013255"/>
+						<object class="NSNibBindingConnector" key="connector">
+							<reference key="NSSource" ref="790851745"/>
+							<reference key="NSDestination" ref="977013255"/>
+							<string key="NSLabel">value: values.openProfileAtStartup</string>
+							<string key="NSBinding">value</string>
+							<string key="NSKeyPath">values.openProfileAtStartup</string>
+							<int key="NSNibBindingConnectorVersion">2</int>
+						</object>
+					</object>
+					<int key="connectionID">655</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBBindingConnection" key="connection">
+						<string key="label">value: values.deleteLogOnExit</string>
+						<reference key="source" ref="395929092"/>
+						<reference key="destination" ref="977013255"/>
+						<object class="NSNibBindingConnector" key="connector">
+							<reference key="NSSource" ref="395929092"/>
+							<reference key="NSDestination" ref="977013255"/>
+							<string key="NSLabel">value: values.deleteLogOnExit</string>
+							<string key="NSBinding">value</string>
+							<string key="NSKeyPath">values.deleteLogOnExit</string>
+							<int key="NSNibBindingConnectorVersion">2</int>
+						</object>
+					</object>
+					<int key="connectionID">656</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBBindingConnection" key="connection">
+						<string key="label">value: values.profileToOpen</string>
+						<reference key="source" ref="438021718"/>
+						<reference key="destination" ref="977013255"/>
+						<object class="NSNibBindingConnector" key="connector">
+							<reference key="NSSource" ref="438021718"/>
+							<reference key="NSDestination" ref="977013255"/>
+							<string key="NSLabel">value: values.profileToOpen</string>
+							<string key="NSBinding">value</string>
+							<string key="NSKeyPath">values.profileToOpen</string>
+							<int key="NSNibBindingConnectorVersion">2</int>
+						</object>
+					</object>
+					<int key="connectionID">658</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">preferencesWindow</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="140516394"/>
+					</object>
+					<int key="connectionID">659</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">detailsFontLabel</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="678202428"/>
+					</object>
+					<int key="connectionID">661</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">diffFontLabel</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="28911990"/>
+					</object>
+					<int key="connectionID">662</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">profileBox</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="438021718"/>
+					</object>
+					<int key="connectionID">664</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">checkOpenProfile</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="790851745"/>
+					</object>
+					<int key="connectionID">665</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">checkOpenProfileChanged:</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="790851745"/>
+					</object>
+					<int key="connectionID">670</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">chooseFont:</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="1065369439"/>
+					</object>
+					<int key="connectionID">672</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBActionConnection" key="connection">
+						<string key="label">chooseFont:</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="364632432"/>
+					</object>
+					<int key="connectionID">673</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">chooseDetailsFont</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="1065369439"/>
+					</object>
+					<int key="connectionID">676</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">chooseDiffFont</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="364632432"/>
+					</object>
+					<int key="connectionID">677</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBOutletConnection" key="connection">
+						<string key="label">splitView</string>
+						<reference key="source" ref="626222747"/>
+						<reference key="destination" ref="398078791"/>
+					</object>
+					<int key="connectionID">684</int>
+				</object>
+			</array>
+			<object class="IBMutableOrderedSet" key="objectRecords">
+				<array key="orderedObjects">
+					<object class="IBObjectRecord">
+						<int key="objectID">0</int>
+						<array key="object" id="0"/>
+						<reference key="children" ref="892182555"/>
+						<nil key="parent"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-2</int>
+						<reference key="object" ref="37863316"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">File's Owner</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-1</int>
+						<reference key="object" ref="279913758"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">First Responder</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-3</int>
+						<reference key="object" ref="878192733"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">Application</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">21</int>
+						<reference key="object" ref="355605687"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="232668648"/>
+						</array>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">Window</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">2</int>
+						<reference key="object" ref="232668648"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="384288444"/>
+						</array>
+						<reference key="parent" ref="355605687"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">515</int>
+						<reference key="object" ref="384288444"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="673426767"/>
+						</array>
+						<reference key="parent" ref="232668648"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">29</int>
+						<reference key="object" ref="395658688"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="639283572"/>
+							<reference ref="425916962"/>
+							<reference ref="972866920"/>
+							<reference ref="827672906"/>
+							<reference ref="504811774"/>
+						</array>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">MainMenu</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">56</int>
+						<reference key="object" ref="639283572"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="77554793"/>
+						</array>
+						<reference key="parent" ref="395658688"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">57</int>
+						<reference key="object" ref="77554793"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="837410352"/>
+							<reference ref="422290158"/>
+							<reference ref="526625829"/>
+							<reference ref="227484062"/>
+							<reference ref="693945174"/>
+							<reference ref="264975518"/>
+							<reference ref="67252353"/>
+							<reference ref="671453401"/>
+							<reference ref="551642701"/>
+							<reference ref="251970986"/>
+						</array>
+						<reference key="parent" ref="639283572"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">129</int>
+						<reference key="object" ref="837410352"/>
+						<reference key="parent" ref="77554793"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">134</int>
+						<reference key="object" ref="422290158"/>
+						<reference key="parent" ref="77554793"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">136</int>
+						<reference key="object" ref="526625829"/>
+						<reference key="parent" ref="77554793"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">144</int>
+						<reference key="object" ref="227484062"/>
+						<reference key="parent" ref="77554793"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">145</int>
+						<reference key="object" ref="693945174"/>
+						<reference key="parent" ref="77554793"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">149</int>
+						<reference key="object" ref="264975518"/>
+						<reference key="parent" ref="77554793"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">150</int>
+						<reference key="object" ref="67252353"/>
+						<reference key="parent" ref="77554793"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">196</int>
+						<reference key="object" ref="671453401"/>
+						<reference key="parent" ref="77554793"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">414</int>
+						<reference key="object" ref="551642701"/>
+						<reference key="parent" ref="77554793"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">428</int>
+						<reference key="object" ref="251970986"/>
+						<reference key="parent" ref="77554793"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">103</int>
+						<reference key="object" ref="425916962"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="75568110"/>
+						</array>
+						<reference key="parent" ref="395658688"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">106</int>
+						<reference key="object" ref="75568110"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="411336073"/>
+						</array>
+						<reference key="parent" ref="425916962"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">111</int>
+						<reference key="object" ref="411336073"/>
+						<reference key="parent" ref="75568110"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">163</int>
+						<reference key="object" ref="972866920"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="1003509484"/>
+						</array>
+						<reference key="parent" ref="395658688"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">169</int>
+						<reference key="object" ref="1003509484"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="918382228"/>
+							<reference ref="73613290"/>
+							<reference ref="335015660"/>
+							<reference ref="232124595"/>
+							<reference ref="833907567"/>
+						</array>
+						<reference key="parent" ref="972866920"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">157</int>
+						<reference key="object" ref="918382228"/>
+						<reference key="parent" ref="1003509484"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">160</int>
+						<reference key="object" ref="73613290"/>
+						<reference key="parent" ref="1003509484"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">171</int>
+						<reference key="object" ref="335015660"/>
+						<reference key="parent" ref="1003509484"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">172</int>
+						<reference key="object" ref="232124595"/>
+						<reference key="parent" ref="1003509484"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">269</int>
+						<reference key="object" ref="833907567"/>
+						<reference key="parent" ref="1003509484"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">253</int>
+						<reference key="object" ref="827672906"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="366294269"/>
+						</array>
+						<reference key="parent" ref="395658688"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">254</int>
+						<reference key="object" ref="366294269"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="299441153"/>
+							<reference ref="188392331"/>
+							<reference ref="78895812"/>
+						</array>
+						<reference key="parent" ref="827672906"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">255</int>
+						<reference key="object" ref="299441153"/>
+						<reference key="parent" ref="366294269"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">256</int>
+						<reference key="object" ref="188392331"/>
+						<reference key="parent" ref="366294269"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">257</int>
+						<reference key="object" ref="78895812"/>
+						<reference key="parent" ref="366294269"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">261</int>
+						<reference key="object" ref="504811774"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="982210092"/>
+						</array>
+						<reference key="parent" ref="395658688"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">262</int>
+						<reference key="object" ref="982210092"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="938287255"/>
+							<reference ref="473554979"/>
+							<reference ref="502496676"/>
+							<reference ref="907786872"/>
+							<reference ref="273929861"/>
+							<reference ref="170126817"/>
+							<reference ref="973931859"/>
+							<reference ref="501412924"/>
+							<reference ref="513780384"/>
+							<reference ref="396820968"/>
+							<reference ref="879528549"/>
+							<reference ref="990697150"/>
+						</array>
+						<reference key="parent" ref="504811774"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">263</int>
+						<reference key="object" ref="938287255"/>
+						<reference key="parent" ref="982210092"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">266</int>
+						<reference key="object" ref="473554979"/>
+						<reference key="parent" ref="982210092"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">267</int>
+						<reference key="object" ref="502496676"/>
+						<reference key="parent" ref="982210092"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">268</int>
+						<reference key="object" ref="907786872"/>
+						<reference key="parent" ref="982210092"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">281</int>
+						<reference key="object" ref="273929861"/>
+						<reference key="parent" ref="982210092"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">284</int>
+						<reference key="object" ref="170126817"/>
+						<reference key="parent" ref="982210092"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">417</int>
+						<reference key="object" ref="973931859"/>
+						<reference key="parent" ref="982210092"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">419</int>
+						<reference key="object" ref="501412924"/>
+						<reference key="parent" ref="982210092"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">420</int>
+						<reference key="object" ref="513780384"/>
+						<reference key="parent" ref="982210092"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">430</int>
+						<reference key="object" ref="396820968"/>
+						<reference key="parent" ref="982210092"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">481</int>
+						<reference key="object" ref="879528549"/>
+						<reference key="parent" ref="982210092"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">484</int>
+						<reference key="object" ref="990697150"/>
+						<reference key="parent" ref="982210092"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">197</int>
+						<reference key="object" ref="585072836"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="568004388"/>
+							<reference ref="965369806"/>
+							<reference ref="335527590"/>
+						</array>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">chooseProfileView</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">199</int>
+						<reference key="object" ref="568004388"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="767469197"/>
+						</array>
+						<reference key="parent" ref="585072836"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">201</int>
+						<reference key="object" ref="965369806"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="841579218"/>
+						</array>
+						<reference key="parent" ref="585072836"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">203</int>
+						<reference key="object" ref="335527590"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="446416594"/>
+							<reference ref="852809690"/>
+							<reference ref="370050818"/>
+							<reference ref="1286469"/>
+						</array>
+						<reference key="parent" ref="585072836"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">205</int>
+						<reference key="object" ref="446416594"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="347342635"/>
+						</array>
+						<reference key="parent" ref="335527590"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">202</int>
+						<reference key="object" ref="347342635"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="214722634"/>
+						</array>
+						<reference key="parent" ref="446416594"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">198</int>
+						<reference key="object" ref="754336264"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="398078791"/>
+							<reference ref="85700482"/>
+							<reference ref="845737300"/>
+						</array>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">updatesView</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">209</int>
+						<reference key="object" ref="626222747"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">MyController</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">217</int>
+						<reference key="object" ref="820844840"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">ProfileController</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">234</int>
+						<reference key="object" ref="621468052"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="813757358"/>
+						</array>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">PasswordWindow</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">235</int>
+						<reference key="object" ref="813757358"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="340638115"/>
+							<reference ref="727137783"/>
+							<reference ref="366243254"/>
+							<reference ref="23444779"/>
+						</array>
+						<reference key="parent" ref="621468052"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">236</int>
+						<reference key="object" ref="340638115"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="835745293"/>
+						</array>
+						<reference key="parent" ref="813757358"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">237</int>
+						<reference key="object" ref="727137783"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="80389260"/>
+						</array>
+						<reference key="parent" ref="813757358"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">238</int>
+						<reference key="object" ref="366243254"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="512512774"/>
+						</array>
+						<reference key="parent" ref="813757358"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">239</int>
+						<reference key="object" ref="23444779"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="79825548"/>
+						</array>
+						<reference key="parent" ref="813757358"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">307</int>
+						<reference key="object" ref="131437498"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="777780043"/>
+							<reference ref="223842171"/>
+							<reference ref="45078194"/>
+							<reference ref="459036983"/>
+						</array>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">PreferencesView</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">321</int>
+						<reference key="object" ref="777780043"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="538828701"/>
+							<reference ref="535928276"/>
+						</array>
+						<reference key="parent" ref="131437498"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">323</int>
+						<reference key="object" ref="223842171"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="588956057"/>
+							<reference ref="349912474"/>
+							<reference ref="896768358"/>
+							<reference ref="993405512"/>
+							<reference ref="1048028362"/>
+							<reference ref="982227363"/>
+							<reference ref="282586762"/>
+						</array>
+						<reference key="parent" ref="131437498"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">329</int>
+						<reference key="object" ref="45078194"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="972568817"/>
+						</array>
+						<reference key="parent" ref="131437498"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">330</int>
+						<reference key="object" ref="459036983"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="316961684"/>
+						</array>
+						<reference key="parent" ref="131437498"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">331</int>
+						<reference key="object" ref="919673534"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">PreferencesController</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">402</int>
+						<reference key="object" ref="329232122"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="614370347"/>
+						</array>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">AboutWindow</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">401</int>
+						<reference key="object" ref="614370347"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="659712406"/>
+							<reference ref="267764307"/>
+							<reference ref="753251315"/>
+							<reference ref="1025952662"/>
+							<reference ref="844769937"/>
+						</array>
+						<reference key="parent" ref="329232122"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">406</int>
+						<reference key="object" ref="659712406"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="538108566"/>
+						</array>
+						<reference key="parent" ref="614370347"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">407</int>
+						<reference key="object" ref="267764307"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="742877646"/>
+						</array>
+						<reference key="parent" ref="614370347"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">409</int>
+						<reference key="object" ref="753251315"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="652374412"/>
+						</array>
+						<reference key="parent" ref="614370347"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">410</int>
+						<reference key="object" ref="1025952662"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="292039647"/>
+						</array>
+						<reference key="parent" ref="614370347"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">411</int>
+						<reference key="object" ref="844769937"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="173945597"/>
+						</array>
+						<reference key="parent" ref="614370347"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">437</int>
+						<reference key="object" ref="185584375"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">NotificationController</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">475</int>
+						<reference key="object" ref="923445797"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="441291314"/>
+						</array>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">DiffWindow</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">476</int>
+						<reference key="object" ref="441291314"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="531171583"/>
+						</array>
+						<reference key="parent" ref="923445797"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">477</int>
+						<reference key="object" ref="531171583"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="755012754"/>
+							<reference ref="336081770"/>
+							<reference ref="645744673"/>
+						</array>
+						<reference key="parent" ref="441291314"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">478</int>
+						<reference key="object" ref="755012754"/>
+						<reference key="parent" ref="531171583"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">488</int>
+						<reference key="object" ref="1047544150"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="18501583"/>
+						</array>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">CltoolWindow</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">489</int>
+						<reference key="object" ref="18501583"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="159106305"/>
+							<reference ref="565406362"/>
+							<reference ref="1066528945"/>
+							<reference ref="67591844"/>
+							<reference ref="847992124"/>
+						</array>
+						<reference key="parent" ref="1047544150"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">491</int>
+						<reference key="object" ref="159106305"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="519522710"/>
+						</array>
+						<reference key="parent" ref="18501583"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">493</int>
+						<reference key="object" ref="565406362"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="438918118"/>
+						</array>
+						<reference key="parent" ref="18501583"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">494</int>
+						<reference key="object" ref="1066528945"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="13750519"/>
+						</array>
+						<reference key="parent" ref="18501583"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">495</int>
+						<reference key="object" ref="67591844"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="1020934634"/>
+						</array>
+						<reference key="parent" ref="18501583"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">496</int>
+						<reference key="object" ref="847992124"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="132645490"/>
+						</array>
+						<reference key="parent" ref="18501583"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">527</int>
+						<reference key="object" ref="673426767"/>
+						<reference key="parent" ref="384288444"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">528</int>
+						<reference key="object" ref="767469197"/>
+						<reference key="parent" ref="568004388"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">529</int>
+						<reference key="object" ref="841579218"/>
+						<reference key="parent" ref="965369806"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">531</int>
+						<reference key="object" ref="835745293"/>
+						<reference key="parent" ref="340638115"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">532</int>
+						<reference key="object" ref="80389260"/>
+						<reference key="parent" ref="727137783"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">533</int>
+						<reference key="object" ref="512512774"/>
+						<reference key="parent" ref="366243254"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">534</int>
+						<reference key="object" ref="79825548"/>
+						<reference key="parent" ref="23444779"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">543</int>
+						<reference key="object" ref="972568817"/>
+						<reference key="parent" ref="45078194"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">544</int>
+						<reference key="object" ref="316961684"/>
+						<reference key="parent" ref="459036983"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">545</int>
+						<reference key="object" ref="538108566"/>
+						<reference key="parent" ref="659712406"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">546</int>
+						<reference key="object" ref="742877646"/>
+						<reference key="parent" ref="267764307"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">547</int>
+						<reference key="object" ref="652374412"/>
+						<reference key="parent" ref="753251315"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">548</int>
+						<reference key="object" ref="292039647"/>
+						<reference key="parent" ref="1025952662"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">549</int>
+						<reference key="object" ref="173945597"/>
+						<reference key="parent" ref="844769937"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">551</int>
+						<reference key="object" ref="519522710"/>
+						<reference key="parent" ref="159106305"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">552</int>
+						<reference key="object" ref="438918118"/>
+						<reference key="parent" ref="565406362"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">553</int>
+						<reference key="object" ref="13750519"/>
+						<reference key="parent" ref="1066528945"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">554</int>
+						<reference key="object" ref="1020934634"/>
+						<reference key="parent" ref="67591844"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">555</int>
+						<reference key="object" ref="132645490"/>
+						<reference key="parent" ref="847992124"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">557</int>
+						<reference key="object" ref="214722634"/>
+						<reference key="parent" ref="347342635"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">561</int>
+						<reference key="object" ref="852809690"/>
+						<reference key="parent" ref="335527590"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">562</int>
+						<reference key="object" ref="370050818"/>
+						<reference key="parent" ref="335527590"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">563</int>
+						<reference key="object" ref="1286469"/>
+						<reference key="parent" ref="335527590"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">569</int>
+						<reference key="object" ref="336081770"/>
+						<reference key="parent" ref="531171583"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">570</int>
+						<reference key="object" ref="645744673"/>
+						<reference key="parent" ref="531171583"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">362</int>
+						<reference key="object" ref="538828701"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="855328737"/>
+						</array>
+						<reference key="parent" ref="777780043"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">535</int>
+						<reference key="object" ref="855328737"/>
+						<reference key="parent" ref="538828701"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">363</int>
+						<reference key="object" ref="535928276"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="294533446"/>
+						</array>
+						<reference key="parent" ref="777780043"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">536</int>
+						<reference key="object" ref="294533446"/>
+						<reference key="parent" ref="535928276"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">364</int>
+						<reference key="object" ref="588956057"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="347365126"/>
+							<reference ref="520995262"/>
+							<reference ref="845367793"/>
+						</array>
+						<reference key="parent" ref="223842171"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">556</int>
+						<reference key="object" ref="347365126"/>
+						<reference key="parent" ref="588956057"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">366</int>
+						<reference key="object" ref="520995262"/>
+						<reference key="parent" ref="588956057"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">365</int>
+						<reference key="object" ref="845367793"/>
+						<reference key="parent" ref="588956057"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">367</int>
+						<reference key="object" ref="349912474"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="952393256"/>
+						</array>
+						<reference key="parent" ref="223842171"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">537</int>
+						<reference key="object" ref="952393256"/>
+						<reference key="parent" ref="349912474"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">368</int>
+						<reference key="object" ref="896768358"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="1053210155"/>
+						</array>
+						<reference key="parent" ref="223842171"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">538</int>
+						<reference key="object" ref="1053210155"/>
+						<reference key="parent" ref="896768358"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">369</int>
+						<reference key="object" ref="993405512"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="2123321"/>
+						</array>
+						<reference key="parent" ref="223842171"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">539</int>
+						<reference key="object" ref="2123321"/>
+						<reference key="parent" ref="993405512"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">370</int>
+						<reference key="object" ref="1048028362"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="372536919"/>
+						</array>
+						<reference key="parent" ref="223842171"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">540</int>
+						<reference key="object" ref="372536919"/>
+						<reference key="parent" ref="1048028362"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">371</int>
+						<reference key="object" ref="982227363"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="923729414"/>
+						</array>
+						<reference key="parent" ref="223842171"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">541</int>
+						<reference key="object" ref="923729414"/>
+						<reference key="parent" ref="982227363"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">372</int>
+						<reference key="object" ref="282586762"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="208523218"/>
+						</array>
+						<reference key="parent" ref="223842171"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">542</int>
+						<reference key="object" ref="208523218"/>
+						<reference key="parent" ref="282586762"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">586</int>
+						<reference key="object" ref="398078791"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="700068909"/>
+							<reference ref="319719388"/>
+						</array>
+						<reference key="parent" ref="754336264"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">589</int>
+						<reference key="object" ref="700068909"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="173308938"/>
+						</array>
+						<reference key="parent" ref="398078791"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">607</int>
+						<reference key="object" ref="173308938"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="900780132"/>
+						</array>
+						<reference key="parent" ref="700068909"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">608</int>
+						<reference key="object" ref="900780132"/>
+						<reference key="parent" ref="173308938"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">486</int>
+						<reference key="object" ref="85700482"/>
+						<reference key="parent" ref="754336264"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">590</int>
+						<reference key="object" ref="319719388"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="809169243"/>
+							<reference ref="626547980"/>
+							<reference ref="280329492"/>
+							<reference ref="285438200"/>
+						</array>
+						<reference key="parent" ref="398078791"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">594</int>
+						<reference key="object" ref="809169243"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="517689164"/>
+							<reference ref="36867386"/>
+							<reference ref="831965848"/>
+							<reference ref="1030582640"/>
+							<reference ref="174176934"/>
+						</array>
+						<reference key="parent" ref="319719388"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">599</int>
+						<reference key="object" ref="517689164"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="129611902"/>
+						</array>
+						<reference key="parent" ref="809169243"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">600</int>
+						<reference key="object" ref="129611902"/>
+						<reference key="parent" ref="517689164"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">598</int>
+						<reference key="object" ref="36867386"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="233842594"/>
+						</array>
+						<reference key="parent" ref="809169243"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">601</int>
+						<reference key="object" ref="233842594"/>
+						<reference key="parent" ref="36867386"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">597</int>
+						<reference key="object" ref="831965848"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="168643022"/>
+						</array>
+						<reference key="parent" ref="809169243"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">602</int>
+						<reference key="object" ref="168643022"/>
+						<reference key="parent" ref="831965848"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">596</int>
+						<reference key="object" ref="1030582640"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="1026449157"/>
+						</array>
+						<reference key="parent" ref="809169243"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">603</int>
+						<reference key="object" ref="1026449157"/>
+						<reference key="parent" ref="1030582640"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">595</int>
+						<reference key="object" ref="174176934"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="802031427"/>
+						</array>
+						<reference key="parent" ref="809169243"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">604</int>
+						<reference key="object" ref="802031427"/>
+						<reference key="parent" ref="174176934"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">593</int>
+						<reference key="object" ref="626547980"/>
+						<reference key="parent" ref="319719388"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">592</int>
+						<reference key="object" ref="280329492"/>
+						<reference key="parent" ref="319719388"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">591</int>
+						<reference key="object" ref="285438200"/>
+						<reference key="parent" ref="319719388"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">583</int>
+						<reference key="object" ref="845737300"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="145074830"/>
+						</array>
+						<reference key="parent" ref="754336264"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">584</int>
+						<reference key="object" ref="145074830"/>
+						<reference key="parent" ref="845737300"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">618</int>
+						<reference key="object" ref="140516394"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="455994853"/>
+							<reference ref="139583560"/>
+							<reference ref="689094163"/>
+							<reference ref="439327882"/>
+						</array>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">PreferencesWindow</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">619</int>
+						<reference key="object" ref="455994853"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="790851745"/>
+							<reference ref="395929092"/>
+							<reference ref="438021718"/>
+						</array>
+						<reference key="parent" ref="140516394"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">423</int>
+						<reference key="object" ref="976206435"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="899688332"/>
+							<reference ref="14416367"/>
+						</array>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">ConnectingView</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">576</int>
+						<reference key="object" ref="899688332"/>
+						<reference key="parent" ref="976206435"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">620</int>
+						<reference key="object" ref="139583560"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="451724743"/>
+							<reference ref="28889810"/>
+							<reference ref="675189501"/>
+							<reference ref="711955272"/>
+							<reference ref="501620190"/>
+						</array>
+						<reference key="parent" ref="140516394"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">621</int>
+						<reference key="object" ref="689094163"/>
+						<reference key="parent" ref="140516394"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">622</int>
+						<reference key="object" ref="451724743"/>
+						<reference key="parent" ref="139583560"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">624</int>
+						<reference key="object" ref="28889810"/>
+						<reference key="parent" ref="139583560"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">626</int>
+						<reference key="object" ref="675189501"/>
+						<reference key="parent" ref="139583560"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">627</int>
+						<reference key="object" ref="711955272"/>
+						<reference key="parent" ref="139583560"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">628</int>
+						<reference key="object" ref="501620190"/>
+						<reference key="parent" ref="139583560"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">653</int>
+						<reference key="object" ref="977013255"/>
+						<reference key="parent" ref="0"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">678</int>
+						<reference key="object" ref="439327882"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="678202428"/>
+							<reference ref="1065369439"/>
+							<reference ref="28911990"/>
+							<reference ref="364632432"/>
+							<reference ref="760006057"/>
+							<reference ref="132542257"/>
+						</array>
+						<reference key="parent" ref="140516394"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">636</int>
+						<reference key="object" ref="678202428"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="751646106"/>
+						</array>
+						<reference key="parent" ref="439327882"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">639</int>
+						<reference key="object" ref="751646106"/>
+						<reference key="parent" ref="678202428"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">637</int>
+						<reference key="object" ref="1065369439"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="84059826"/>
+						</array>
+						<reference key="parent" ref="439327882"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">638</int>
+						<reference key="object" ref="84059826"/>
+						<reference key="parent" ref="1065369439"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">640</int>
+						<reference key="object" ref="28911990"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="400249441"/>
+						</array>
+						<reference key="parent" ref="439327882"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">643</int>
+						<reference key="object" ref="400249441"/>
+						<reference key="parent" ref="28911990"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">641</int>
+						<reference key="object" ref="364632432"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="129627026"/>
+						</array>
+						<reference key="parent" ref="439327882"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">642</int>
+						<reference key="object" ref="129627026"/>
+						<reference key="parent" ref="364632432"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">644</int>
+						<reference key="object" ref="760006057"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="112946638"/>
+						</array>
+						<reference key="parent" ref="439327882"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">645</int>
+						<reference key="object" ref="112946638"/>
+						<reference key="parent" ref="760006057"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">646</int>
+						<reference key="object" ref="132542257"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="1695119"/>
+						</array>
+						<reference key="parent" ref="439327882"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">647</int>
+						<reference key="object" ref="1695119"/>
+						<reference key="parent" ref="132542257"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">629</int>
+						<reference key="object" ref="790851745"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="1018218091"/>
+						</array>
+						<reference key="parent" ref="455994853"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">634</int>
+						<reference key="object" ref="1018218091"/>
+						<reference key="parent" ref="790851745"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">630</int>
+						<reference key="object" ref="395929092"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="761573047"/>
+						</array>
+						<reference key="parent" ref="455994853"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">633</int>
+						<reference key="object" ref="761573047"/>
+						<reference key="parent" ref="395929092"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">631</int>
+						<reference key="object" ref="438021718"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="556997395"/>
+						</array>
+						<reference key="parent" ref="455994853"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">632</int>
+						<reference key="object" ref="556997395"/>
+						<reference key="parent" ref="438021718"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">681</int>
+						<reference key="object" ref="14416367"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="894337796"/>
+						</array>
+						<reference key="parent" ref="976206435"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">682</int>
+						<reference key="object" ref="894337796"/>
+						<array class="NSMutableArray" key="children">
+							<reference ref="687143868"/>
+						</array>
+						<reference key="parent" ref="14416367"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">683</int>
+						<reference key="object" ref="687143868"/>
+						<reference key="parent" ref="894337796"/>
+					</object>
+				</array>
+			</object>
+			<dictionary class="NSMutableDictionary" key="flattenedProperties">
+				<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="-3.ImportedFromIB2"/>
+				<string key="103.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="103.ImportedFromIB2"/>
+				<string key="106.IBEditorWindowLastContentRect">{{582, 1091}, {202, 23}}</string>
+				<string key="106.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="106.ImportedFromIB2"/>
+				<string key="111.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="111.ImportedFromIB2"/>
+				<string key="129.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="129.ImportedFromIB2"/>
+				<string key="134.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="134.ImportedFromIB2"/>
+				<string key="136.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="136.ImportedFromIB2"/>
+				<string key="144.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="144.ImportedFromIB2"/>
+				<string key="145.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="145.ImportedFromIB2"/>
+				<string key="149.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="149.ImportedFromIB2"/>
+				<string key="150.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="150.ImportedFromIB2"/>
+				<string key="157.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="157.ImportedFromIB2"/>
+				<string key="160.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="160.ImportedFromIB2"/>
+				<string key="163.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="163.ImportedFromIB2"/>
+				<string key="169.IBEditorWindowLastContentRect">{{407, 1011}, {179, 103}}</string>
+				<string key="169.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="169.ImportedFromIB2"/>
+				<string key="171.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="171.ImportedFromIB2"/>
+				<string key="172.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="172.ImportedFromIB2"/>
+				<string key="196.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="196.ImportedFromIB2"/>
+				<string key="197.IBEditorWindowLastContentRect">{{345, 795}, {363, 281}}</string>
+				<string key="197.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="197.ImportedFromIB2"/>
+				<string key="198.IBEditorWindowLastContentRect">{{357, 361}, {730, 546}}</string>
+				<string key="198.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="198.ImportedFromIB2"/>
+				<string key="199.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="199.ImportedFromIB2"/>
+				<string key="2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="2.ImportedFromIB2"/>
+				<string key="201.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="201.ImportedFromIB2"/>
+				<string key="202.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="202.ImportedFromIB2"/>
+				<string key="203.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="203.ImportedFromIB2"/>
+				<string key="205.CustomClassName">ProfileTableView</string>
+				<string key="205.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="205.ImportedFromIB2"/>
+				<boolean value="YES" key="209.ImportedFromIB2"/>
+				<string key="21.IBEditorWindowLastContentRect">{{717, 719}, {480, 360}}</string>
+				<string key="21.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="21.IBWindowTemplateEditedContentRect">{{717, 719}, {480, 360}}</string>
+				<boolean value="YES" key="21.ImportedFromIB2"/>
+				<boolean value="YES" key="21.windowTemplate.hasMinSize"/>
+				<string key="21.windowTemplate.minSize">{213, 107}</string>
+				<boolean value="YES" key="217.ImportedFromIB2"/>
+				<string key="234.IBEditorWindowLastContentRect">{{345, 994}, {227, 128}}</string>
+				<string key="234.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="234.IBWindowTemplateEditedContentRect">{{345, 994}, {227, 128}}</string>
+				<boolean value="YES" key="234.ImportedFromIB2"/>
+				<boolean value="YES" key="234.windowTemplate.hasMinSize"/>
+				<string key="234.windowTemplate.minSize">{213, 107}</string>
+				<string key="235.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="235.ImportedFromIB2"/>
+				<string key="236.CustomClassName">NSSecureTextField</string>
+				<string key="236.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="236.ImportedFromIB2"/>
+				<string key="237.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="237.ImportedFromIB2"/>
+				<string key="238.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="238.ImportedFromIB2"/>
+				<string key="239.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="239.ImportedFromIB2"/>
+				<string key="253.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="253.ImportedFromIB2"/>
+				<string key="254.IBEditorWindowLastContentRect">{{520, 1051}, {191, 63}}</string>
+				<string key="254.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="254.ImportedFromIB2"/>
+				<string key="255.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="255.ImportedFromIB2"/>
+				<string key="256.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="256.ImportedFromIB2"/>
+				<string key="257.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="257.ImportedFromIB2"/>
+				<string key="261.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="261.ImportedFromIB2"/>
+				<string key="262.IBEditorWindowLastContentRect">{{451, 881}, {323, 233}}</string>
+				<string key="262.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="262.ImportedFromIB2"/>
+				<string key="263.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="263.ImportedFromIB2"/>
+				<string key="266.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="266.ImportedFromIB2"/>
+				<string key="267.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="267.ImportedFromIB2"/>
+				<string key="268.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="268.ImportedFromIB2"/>
+				<string key="269.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="269.ImportedFromIB2"/>
+				<string key="281.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="281.ImportedFromIB2"/>
+				<string key="284.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="284.ImportedFromIB2"/>
+				<string key="29.IBEditorWindowLastContentRect">{{326, 1114}, {317, 20}}</string>
+				<string key="29.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="29.ImportedFromIB2"/>
+				<string key="307.IBEditorWindowLastContentRect">{{345, 803}, {534, 250}}</string>
+				<string key="307.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="307.ImportedFromIB2"/>
+				<string key="321.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="321.ImportedFromIB2"/>
+				<string key="323.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="323.ImportedFromIB2"/>
+				<string key="329.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="329.ImportedFromIB2"/>
+				<string key="330.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="330.ImportedFromIB2"/>
+				<boolean value="YES" key="331.ImportedFromIB2"/>
+				<string key="362.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="362.ImportedFromIB2"/>
+				<string key="363.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="363.ImportedFromIB2"/>
+				<string key="364.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="364.ImportedFromIB2"/>
+				<string key="365.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="365.ImportedFromIB2"/>
+				<string key="366.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="366.ImportedFromIB2"/>
+				<string key="367.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="367.ImportedFromIB2"/>
+				<string key="368.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="368.ImportedFromIB2"/>
+				<string key="369.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="369.ImportedFromIB2"/>
+				<string key="370.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="370.ImportedFromIB2"/>
+				<string key="371.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="371.ImportedFromIB2"/>
+				<string key="372.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="372.ImportedFromIB2"/>
+				<string key="401.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="401.ImportedFromIB2"/>
+				<string key="402.IBEditorWindowLastContentRect">{{345, 879}, {262, 266}}</string>
+				<string key="402.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="402.IBWindowTemplateEditedContentRect">{{345, 879}, {262, 266}}</string>
+				<boolean value="YES" key="402.ImportedFromIB2"/>
+				<boolean value="YES" key="402.windowTemplate.hasMinSize"/>
+				<string key="402.windowTemplate.minSize">{213, 107}</string>
+				<string key="406.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="406.ImportedFromIB2"/>
+				<string key="407.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="407.ImportedFromIB2"/>
+				<string key="409.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="409.ImportedFromIB2"/>
+				<string key="410.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="410.ImportedFromIB2"/>
+				<string key="411.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="411.ImportedFromIB2"/>
+				<string key="414.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="414.ImportedFromIB2"/>
+				<string key="417.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="417.ImportedFromIB2"/>
+				<string key="419.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="419.ImportedFromIB2"/>
+				<string key="420.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="420.ImportedFromIB2"/>
+				<string key="423.IBEditorWindowLastContentRect">{{443, 288}, {871, 577}}</string>
+				<string key="423.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="423.ImportedFromIB2"/>
+				<string key="428.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="428.ImportedFromIB2"/>
+				<string key="430.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="430.ImportedFromIB2"/>
+				<boolean value="YES" key="437.ImportedFromIB2"/>
+				<string key="475.IBEditorWindowLastContentRect">{{345, 792}, {505, 342}}</string>
+				<string key="475.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="475.IBWindowTemplateEditedContentRect">{{345, 792}, {505, 342}}</string>
+				<boolean value="YES" key="475.ImportedFromIB2"/>
+				<boolean value="YES" key="475.windowTemplate.hasMinSize"/>
+				<string key="475.windowTemplate.minSize">{213, 107}</string>
+				<string key="476.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="476.ImportedFromIB2"/>
+				<string key="477.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="477.ImportedFromIB2"/>
+				<string key="478.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="478.ImportedFromIB2"/>
+				<string key="481.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="481.ImportedFromIB2"/>
+				<string key="484.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="484.ImportedFromIB2"/>
+				<string key="486.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="486.ImportedFromIB2"/>
+				<string key="488.IBEditorWindowLastContentRect">{{345, 916}, {400, 229}}</string>
+				<string key="488.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="488.IBWindowTemplateEditedContentRect">{{345, 916}, {400, 229}}</string>
+				<boolean value="YES" key="488.ImportedFromIB2"/>
+				<boolean value="YES" key="488.windowTemplate.hasMinSize"/>
+				<string key="488.windowTemplate.minSize">{213, 107}</string>
+				<string key="489.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="489.ImportedFromIB2"/>
+				<string key="491.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="491.ImportedFromIB2"/>
+				<string key="493.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="493.ImportedFromIB2"/>
+				<string key="494.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="494.ImportedFromIB2"/>
+				<string key="495.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="495.ImportedFromIB2"/>
+				<string key="496.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="496.ImportedFromIB2"/>
+				<string key="515.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="515.ImportedFromIB2"/>
+				<string key="527.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="528.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="529.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="531.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="532.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="533.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="534.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="535.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="536.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="537.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="538.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="539.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="540.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="541.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="542.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="543.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="544.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="545.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="546.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="547.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="548.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="549.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="551.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="552.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="553.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="554.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="555.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="556.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="557.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="557.IBShouldRemoveOnLegacySave"/>
+				<string key="56.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="56.ImportedFromIB2"/>
+				<string key="561.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="561.IBShouldRemoveOnLegacySave"/>
+				<string key="562.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="562.IBShouldRemoveOnLegacySave"/>
+				<string key="563.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="563.IBShouldRemoveOnLegacySave"/>
+				<string key="569.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="569.IBShouldRemoveOnLegacySave"/>
+				<string key="57.IBEditorWindowLastContentRect">{{338, 941}, {266, 173}}</string>
+				<string key="57.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="57.ImportedFromIB2"/>
+				<string key="570.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="570.IBShouldRemoveOnLegacySave"/>
+				<string key="576.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="583.IBPluginDependency">com.brandonwalkin.BWToolkit</string>
+				<string key="584.IBPluginDependency">com.brandonwalkin.BWToolkit</string>
+				<string key="586.IBPluginDependency">com.brandonwalkin.BWToolkit</string>
+				<string key="589.IBPluginDependency">com.brandonwalkin.BWToolkit</string>
+				<string key="590.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="590.ImportedFromIB2"/>
+				<string key="591.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="591.IBShouldRemoveOnLegacySave"/>
+				<string key="592.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="592.IBShouldRemoveOnLegacySave"/>
+				<string key="593.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="593.IBShouldRemoveOnLegacySave"/>
+				<string key="594.CustomClassName">ReconTableView</string>
+				<string key="594.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="594.ImportedFromIB2"/>
+				<string key="595.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="595.ImportedFromIB2"/>
+				<string key="596.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="596.ImportedFromIB2"/>
+				<string key="597.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="597.ImportedFromIB2"/>
+				<string key="598.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="598.ImportedFromIB2"/>
+				<string key="599.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="599.ImportedFromIB2"/>
+				<string key="600.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="600.ImportedFromIB2"/>
+				<string key="601.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="601.ImportedFromIB2"/>
+				<string key="602.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="602.IBShouldRemoveOnLegacySave"/>
+				<string key="603.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="603.IBShouldRemoveOnLegacySave"/>
+				<string key="604.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<boolean value="YES" key="604.IBShouldRemoveOnLegacySave"/>
+				<string key="607.IBPluginDependency">com.brandonwalkin.BWToolkit</string>
+				<string key="608.IBPluginDependency">com.brandonwalkin.BWToolkit</string>
+				<string key="618.IBEditorWindowLastContentRect">{{446, 645}, {446, 84}}</string>
+				<string key="618.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="618.IBWindowTemplateEditedContentRect">{{446, 645}, {446, 84}}</string>
+				<boolean value="NO" key="618.NSWindowTemplate.visibleAtLaunch"/>
+				<string key="619.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="620.IBEditorWindowLastContentRect">{{466, 530}, {616, 0}}</string>
+				<string key="620.IBPluginDependency">com.brandonwalkin.BWToolkit</string>
+				<string key="622.IBPluginDependency">com.brandonwalkin.BWToolkit</string>
+				<string key="624.IBPluginDependency">com.brandonwalkin.BWToolkit</string>
+				<string key="626.IBPluginDependency">com.brandonwalkin.BWToolkit</string>
+				<string key="627.IBPluginDependency">com.brandonwalkin.BWToolkit</string>
+				<string key="628.IBPluginDependency">com.brandonwalkin.BWToolkit</string>
+				<string key="629.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="630.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="631.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="632.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="633.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="634.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="636.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="637.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="638.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="639.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="640.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="641.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="642.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="643.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="644.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="645.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="646.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="647.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="653.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="678.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+				<string key="681.IBPluginDependency">com.brandonwalkin.BWToolkit</string>
+				<string key="682.IBPluginDependency">com.brandonwalkin.BWToolkit</string>
+				<string key="683.IBPluginDependency">com.brandonwalkin.BWToolkit</string>
+			</dictionary>
+			<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
+			<nil key="activeLocalization"/>
+			<dictionary class="NSMutableDictionary" key="localizations"/>
+			<nil key="sourceID"/>
+			<int key="maxID">684</int>
+		</object>
+		<object class="IBClassDescriber" key="IBDocument.Classes">
+			<array class="NSMutableArray" key="referencedPartialClassDescriptions">
+				<object class="IBPartialClassDescription">
+					<string key="className">FirstResponder</string>
+					<string key="superclassName">NSObject</string>
+					<dictionary class="NSMutableDictionary" key="actions">
+						<string key="copyLR:">id</string>
+						<string key="copyRL:">id</string>
+						<string key="forceNewer:">id</string>
+						<string key="forceOlder:">id</string>
+						<string key="ignoreExt:">id</string>
+						<string key="ignoreName:">id</string>
+						<string key="ignorePath:">id</string>
+						<string key="leaveAlone:">id</string>
+						<string key="merge:">id</string>
+						<string key="revert:">id</string>
+						<string key="selectConflicts:">id</string>
+						<string key="showDiff:">id</string>
+					</dictionary>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBUserSource</string>
+						<string key="minorKey"/>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">MyController</string>
+					<string key="superclassName">NSObject</string>
+					<dictionary class="NSMutableDictionary" key="actions">
+						<string key="cancelProfileButton:">id</string>
+						<string key="checkOpenProfileChanged:">id</string>
+						<string key="chooseFont:">id</string>
+						<string key="cltoolNoButton:">id</string>
+						<string key="cltoolYesButton:">id</string>
+						<string key="createButton:">id</string>
+						<string key="endPasswordWindow:">id</string>
+						<string key="installCommandLineTool:">id</string>
+						<string key="onlineHelp:">id</string>
+						<string key="openButton:">id</string>
+						<string key="raiseAboutWindow:">id</string>
+						<string key="raiseCltoolWindow:">id</string>
+						<string key="raiseWindow:">NSWindow</string>
+						<string key="rescan:">id</string>
+						<string key="restartButton:">id</string>
+						<string key="saveProfileButton:">id</string>
+						<string key="showPreferences:">id</string>
+						<string key="syncButton:">id</string>
+						<string key="tableModeChanged:">id</string>
+					</dictionary>
+					<dictionary class="NSMutableDictionary" key="outlets">
+						<string key="ConnectingView">NSView</string>
+						<string key="aboutWindow">NSWindow</string>
+						<string key="checkOpenProfile">NSButton</string>
+						<string key="chooseDetailsFont">NSButton</string>
+						<string key="chooseDiffFont">NSButton</string>
+						<string key="chooseProfileView">NSView</string>
+						<string key="cltoolPref">NSButton</string>
+						<string key="cltoolWindow">NSWindow</string>
+						<string key="connectingAnimation">NSProgressIndicator</string>
+						<string key="detailsFontLabel">NSTextField</string>
+						<string key="detailsTextView">NSTextField</string>
+						<string key="diffFontLabel">NSTextField</string>
+						<string key="diffView">NSTextView</string>
+						<string key="diffWindow">NSWindow</string>
+						<string key="fontChangeTarget">id</string>
+						<string key="mainWindow">NSWindow</string>
+						<string key="notificationController">NotificationController</string>
+						<string key="passwordCancelButton">NSButton</string>
+						<string key="passwordPrompt">NSTextField</string>
+						<string key="passwordText">NSTextField</string>
+						<string key="passwordWindow">NSWindow</string>
+						<string key="preferencesController">PreferencesController</string>
+						<string key="preferencesView">NSView</string>
+						<string key="preferencesWindow">NSWindow</string>
+						<string key="profileBox">NSComboBox</string>
+						<string key="profileController">ProfileController</string>
+						<string key="progressBar">NSProgressIndicator</string>
+						<string key="splitView">NSSplitView</string>
+						<string key="statusText">NSTextField</string>
+						<string key="tableModeSelector">NSSegmentedControl</string>
+						<string key="tableView">ReconTableView</string>
+						<string key="updatesText">NSTextField</string>
+						<string key="updatesView">NSView</string>
+						<string key="versionText">NSTextField</string>
+					</dictionary>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">MyController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">MyController</string>
+					<string key="superclassName">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBUserSource</string>
+						<string key="minorKey"/>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSOutlineView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="716125380">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">ReconTableView.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSOutlineView</string>
+					<string key="superclassName">NSTableView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBUserSource</string>
+						<string key="minorKey"/>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSSegmentedControl</string>
+					<string key="superclassName">NSControl</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBUserSource</string>
+						<string key="minorKey"/>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NotificationController</string>
+					<string key="superclassName">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">NotificationController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NotificationController</string>
+					<string key="superclassName">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBUserSource</string>
+						<string key="minorKey"/>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">PreferencesController</string>
+					<string key="superclassName">NSObject</string>
+					<dictionary class="NSMutableDictionary" key="actions">
+						<string key="anyEnter:">id</string>
+						<string key="localClick:">id</string>
+						<string key="remoteClick:">id</string>
+					</dictionary>
+					<dictionary class="NSMutableDictionary" key="outlets">
+						<string key="firstRootText">NSTextField</string>
+						<string key="localButtonCell">NSButtonCell</string>
+						<string key="profileNameText">NSTextField</string>
+						<string key="remoteButtonCell">NSButtonCell</string>
+						<string key="secondRootHost">NSTextField</string>
+						<string key="secondRootText">NSTextField</string>
+						<string key="secondRootUser">NSTextField</string>
+					</dictionary>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">PreferencesController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">PreferencesController</string>
+					<string key="superclassName">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBUserSource</string>
+						<string key="minorKey"/>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">ProfileController</string>
+					<string key="superclassName">NSObject</string>
+					<object class="NSMutableDictionary" key="outlets">
+						<string key="NS.key.0">tableView</string>
+						<string key="NS.object.0">NSTableView</string>
+					</object>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">ProfileController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">ProfileController</string>
+					<string key="superclassName">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBUserSource</string>
+						<string key="minorKey"/>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">ProfileTableView</string>
+					<string key="superclassName">NSTableView</string>
+					<object class="NSMutableDictionary" key="outlets">
+						<string key="NS.key.0">myController</string>
+						<string key="NS.object.0">MyController</string>
+					</object>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">ProfileTableView.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">ProfileTableView</string>
+					<string key="superclassName">NSTableView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBUserSource</string>
+						<string key="minorKey"/>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">ReconTableView</string>
+					<string key="superclassName">NSOutlineView</string>
+					<dictionary class="NSMutableDictionary" key="actions">
+						<string key="copyLR:">id</string>
+						<string key="copyRL:">id</string>
+						<string key="forceNewer:">id</string>
+						<string key="forceOlder:">id</string>
+						<string key="ignoreExt:">id</string>
+						<string key="ignoreName:">id</string>
+						<string key="ignorePath:">id</string>
+						<string key="leaveAlone:">id</string>
+						<string key="merge:">id</string>
+						<string key="revert:">id</string>
+						<string key="selectConflicts:">id</string>
+						<string key="showDiff:">id</string>
+					</dictionary>
+					<reference key="sourceIdentifier" ref="716125380"/>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">ReconTableView</string>
+					<string key="superclassName">NSOutlineView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBUserSource</string>
+						<string key="minorKey"/>
+					</object>
+				</object>
+			</array>
+			<array class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
+				<object class="IBPartialClassDescription">
+					<string key="className">BWGradientBox</string>
+					<string key="superclassName">NSView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">BWToolkitFramework.framework/Headers/BWGradientBox.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">BWInsetTextField</string>
+					<string key="superclassName">NSTextField</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">BWToolkitFramework.framework/Headers/BWInsetTextField.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">BWSelectableToolbar</string>
+					<string key="superclassName">NSToolbar</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">BWToolkitFramework.framework/Headers/BWSelectableToolbar.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">BWSplitView</string>
+					<string key="superclassName">NSSplitView</string>
+					<object class="NSMutableDictionary" key="actions">
+						<string key="NS.key.0">toggleCollapse:</string>
+						<string key="NS.object.0">id</string>
+					</object>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">BWToolkitFramework.framework/Headers/BWSplitView.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">BWToolbarShowFontsItem</string>
+					<string key="superclassName">NSToolbarItem</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">BWToolkitFramework.framework/Headers/BWToolbarShowFontsItem.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSApplication</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">BWToolkitFramework.framework/Headers/NSApplication+BWAdditions.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">ExceptionHandling.framework/Headers/NSExceptionHandler.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Growl.framework/Headers/GrowlApplicationBridge.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">BWToolkitFramework.framework/Headers/NSView+BWAdditions.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSWindow</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">BWToolkitFramework.framework/Headers/NSWindow+BWAdditions.h</string>
+					</object>
+				</object>
+			</array>
+		</object>
+		<int key="IBDocument.localizationMode">0</int>
+		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
+			<integer value="1050" key="NS.object.0"/>
+		</object>
+		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
+			<integer value="1050" key="NS.object.0"/>
+		</object>
+		<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+		<string key="IBDocument.LastKnownRelativeProjectPath">../uimacnew.xcodeproj</string>
+		<int key="IBDocument.defaultPropertyAccessControl">3</int>
+	</data>
+</archive>

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/BWToolkitFramework
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/BWToolkitFramework
___________________________________________________________________
Added: svn:executable
   + *
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWAnchoredButton.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWAnchoredButton.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWAnchoredButton.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,21 @@
+//
+//  BWAnchoredButton.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWAnchoredButton : NSButton 
+{
+	BOOL isAtLeftEdgeOfBar;
+	BOOL isAtRightEdgeOfBar;
+	NSPoint topAndLeftInset;
+}
+
+ at property BOOL isAtLeftEdgeOfBar;
+ at property BOOL isAtRightEdgeOfBar;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWAnchoredButtonBar.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWAnchoredButtonBar.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWAnchoredButtonBar.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,27 @@
+//
+//  BWAnchoredButtonBar.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWAnchoredButtonBar : NSView 
+{
+	BOOL isResizable, isAtBottom, handleIsRightAligned;
+	int selectedIndex;
+	id splitViewDelegate;
+}
+
+ at property BOOL isResizable, isAtBottom, handleIsRightAligned;
+ at property int selectedIndex;
+
+// The mode of this bar with a resize handle makes use of some NSSplitView delegate methods. Use the splitViewDelegate for any custom delegate implementations
+// you'd like to provide.
+ at property (assign) id splitViewDelegate;
+
++ (BOOL)wasBorderedBar;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWAnchoredButtonCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWAnchoredButtonCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWAnchoredButtonCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWAnchoredButtonCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWAnchoredButtonCell : NSButtonCell 
+{
+	
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWAnchoredPopUpButton.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWAnchoredPopUpButton.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWAnchoredPopUpButton.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,21 @@
+//
+//  BWAnchoredPopUpButton.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWAnchoredPopUpButton : NSPopUpButton 
+{
+	BOOL isAtLeftEdgeOfBar;
+	BOOL isAtRightEdgeOfBar;
+	NSPoint topAndLeftInset;
+}
+
+ at property BOOL isAtLeftEdgeOfBar;
+ at property BOOL isAtRightEdgeOfBar;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWAnchoredPopUpButtonCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWAnchoredPopUpButtonCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWAnchoredPopUpButtonCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWAnchoredPopUpButtonCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWAnchoredPopUpButtonCell : NSPopUpButtonCell 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWGradientBox.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWGradientBox.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWGradientBox.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,24 @@
+//
+//  BWGradientBox.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWGradientBox : NSView 
+{
+	NSColor *fillStartingColor, *fillEndingColor, *fillColor;
+	NSColor *topBorderColor, *bottomBorderColor;
+	float topInsetAlpha, bottomInsetAlpha;
+	
+	BOOL hasTopBorder, hasBottomBorder, hasGradient;
+}
+
+ at property (nonatomic, retain) NSColor *fillStartingColor, *fillEndingColor, *fillColor, *topBorderColor, *bottomBorderColor;
+ at property float topInsetAlpha, bottomInsetAlpha;
+ at property BOOL hasTopBorder, hasBottomBorder, hasGradient;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWHyperlinkButton.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWHyperlinkButton.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWHyperlinkButton.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,18 @@
+//
+//  BWHyperlinkButton.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWHyperlinkButton : NSButton 
+{
+	NSString *urlString;
+}
+
+ at property (copy, nonatomic) NSString *urlString;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWHyperlinkButtonCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWHyperlinkButtonCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWHyperlinkButtonCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWHyperlinkButtonCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWHyperlinkButtonCell : NSButtonCell
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWInsetTextField.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWInsetTextField.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWInsetTextField.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWInsetTextField.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWInsetTextField : NSTextField 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWSelectableToolbar.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWSelectableToolbar.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWSelectableToolbar.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,36 @@
+//
+//  BWSelectableToolbar.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at class BWSelectableToolbarHelper;
+
+// Notification that gets sent when a toolbar item has been clicked. You can get the button that was clicked by getting the object
+// for the key @"BWClickedItem" in the supplied userInfo dictionary.
+extern NSString * const BWSelectableToolbarItemClickedNotification;
+
+ at interface BWSelectableToolbar : NSToolbar 
+{
+	BWSelectableToolbarHelper *helper;
+	NSMutableArray *itemIdentifiers;
+	NSMutableDictionary *itemsByIdentifier, *enabledByIdentifier;
+	BOOL inIB;
+	
+	// For the IB inspector
+	int selectedIndex;
+	BOOL isPreferencesToolbar;
+}
+
+// Call one of these methods to set the active tab. 
+- (void)setSelectedItemIdentifier:(NSString *)itemIdentifier; // Use if you want an action in the tabbed window to change the tab.
+- (void)setSelectedItemIdentifierWithoutAnimation:(NSString *)itemIdentifier; // Use if you want to show the window with a certain item selected.
+
+// Programmatically disable or enable a toolbar item. 
+- (void)setEnabled:(BOOL)flag forIdentifier:(NSString *)itemIdentifier;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWSheetController.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWSheetController.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWSheetController.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,31 @@
+//
+//  BWSheetController.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWSheetController : NSObject
+{
+	NSWindow *sheet;
+	NSWindow *parentWindow;
+	id delegate;
+}
+
+ at property (nonatomic, retain) IBOutlet NSWindow *sheet, *parentWindow;
+ at property (nonatomic, retain) IBOutlet id delegate;
+
+- (IBAction)openSheet:(id)sender;
+- (IBAction)closeSheet:(id)sender;
+- (IBAction)messageDelegateAndCloseSheet:(id)sender;
+
+// The optional delegate should implement the method:
+// - (BOOL)shouldCloseSheet:(id)sender
+// Return YES if you want the sheet to close after the button click, NO if it shouldn't close. The sender
+// object is the button that requested the close. This is helpful because in the event that there are multiple buttons
+// hooked up to the messageDelegateAndCloseSheet: method, you can distinguish which button called the method. 
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWSplitView.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWSplitView.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWSplitView.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,44 @@
+//
+//  BWSplitView.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com) and Fraser Kuyvenhoven.
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWSplitView : NSSplitView 
+{
+	NSColor *color;
+	BOOL colorIsEnabled, checkboxIsEnabled, dividerCanCollapse, collapsibleSubviewCollapsed;
+	id secondaryDelegate;
+	NSMutableDictionary *minValues, *maxValues, *minUnits, *maxUnits;
+	NSMutableDictionary *resizableSubviewPreferredProportion, *nonresizableSubviewPreferredSize;
+	NSArray *stateForLastPreferredCalculations;
+	int collapsiblePopupSelection;
+	float uncollapsedSize;
+	
+	// Collapse button
+	NSButton *toggleCollapseButton;
+	BOOL isAnimating;
+}
+
+ at property (retain) NSMutableDictionary *minValues, *maxValues, *minUnits, *maxUnits;
+ at property (retain) NSMutableDictionary *resizableSubviewPreferredProportion, *nonresizableSubviewPreferredSize;
+ at property (retain) NSArray *stateForLastPreferredCalculations;
+ at property (retain) NSButton *toggleCollapseButton;
+ at property BOOL collapsibleSubviewCollapsed;
+ at property int collapsiblePopupSelection;
+ at property BOOL dividerCanCollapse;
+
+// The split view divider color
+ at property (copy) NSColor *color;
+
+// Flag for whether a custom divider color is enabled. If not, the standard divider color is used.
+ at property BOOL colorIsEnabled;
+
+// Call this method to collapse or expand a subview configured as collapsible in the IB inspector.
+- (IBAction)toggleCollapse:(id)sender;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWStyledTextField.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWStyledTextField.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWStyledTextField.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,33 @@
+//
+//  BWStyledTextField.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWStyledTextField : NSTextField
+{
+	
+}
+
+- (BOOL)hasGradient;
+- (void)setHasGradient:(BOOL)flag;
+- (NSColor *)startingColor;
+- (void)setStartingColor:(NSColor *)color;
+- (NSColor *)endingColor;
+- (void)setEndingColor:(NSColor *)color;
+
+- (NSColor *)solidColor;
+- (void)setSolidColor:(NSColor *)color;
+
+- (BOOL)hasShadow;
+- (void)setHasShadow:(BOOL)flag;
+- (BOOL)shadowIsBelow;
+- (void)setShadowIsBelow:(BOOL)flag;
+- (NSColor *)shadowColor;
+- (void)setShadowColor:(NSColor *)color;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWStyledTextFieldCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWStyledTextFieldCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWStyledTextFieldCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,22 @@
+//
+//  BWStyledTextFieldCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWStyledTextFieldCell : NSTextFieldCell 
+{
+	BOOL shadowIsBelow, hasShadow, hasGradient;
+	NSColor *shadowColor, *startingColor, *endingColor, *solidColor;
+	
+	NSMutableDictionary *previousAttributes;
+}
+
+ at property BOOL shadowIsBelow, hasShadow, hasGradient;
+ at property (nonatomic, retain) NSColor *shadowColor, *startingColor, *endingColor, *solidColor;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTexturedSlider.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTexturedSlider.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTexturedSlider.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,25 @@
+//
+//  BWTexturedSlider.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTexturedSlider : NSSlider
+{
+	int trackHeight, indicatorIndex;
+	NSRect sliderCellRect;
+	NSButton *minButton, *maxButton;
+}
+
+ at property int indicatorIndex;
+ at property (retain) NSButton *minButton;
+ at property (retain) NSButton *maxButton;
+
+- (int)trackHeight;
+- (void)setTrackHeight:(int)newTrackHeight;
+
+ at end


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTexturedSlider.h
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTexturedSliderCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTexturedSliderCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTexturedSliderCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,19 @@
+//
+//  BWTexturedSliderCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTexturedSliderCell : NSSliderCell 
+{
+	BOOL isPressed;
+	int trackHeight;
+}
+
+ at property int trackHeight;
+
+ at end


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTexturedSliderCell.h
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTokenAttachmentCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTokenAttachmentCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTokenAttachmentCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,17 @@
+//
+//  BWTokenAttachmentCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+#import "NSTokenAttachmentCell.h"
+
+ at interface BWTokenAttachmentCell : NSTokenAttachmentCell 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTokenField.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTokenField.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTokenField.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTokenField.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTokenField : NSTokenField 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTokenFieldCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTokenFieldCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTokenFieldCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTokenFieldCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTokenFieldCell : NSTokenFieldCell 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWToolbarItem.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWToolbarItem.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWToolbarItem.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWToolbarItem.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWToolbarItem : NSToolbarItem 
+{
+	NSString *identifierString;
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWToolbarShowColorsItem.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWToolbarShowColorsItem.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWToolbarShowColorsItem.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWToolbarShowColorsItem.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWToolbarShowColorsItem : NSToolbarItem 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWToolbarShowFontsItem.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWToolbarShowFontsItem.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWToolbarShowFontsItem.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWToolbarShowFontsItem.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWToolbarShowFontsItem :  NSToolbarItem 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWToolkitFramework.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWToolkitFramework.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWToolkitFramework.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,47 @@
+//
+//  BWToolkitFramework.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+//  This is a convenience header for importing the BWToolkit framework into your classes. 
+
+#import "BWAnchoredButton.h"
+#import "BWAnchoredButtonBar.h"
+#import "BWAnchoredButtonCell.h"
+#import "BWAnchoredPopUpButton.h"
+#import "BWAnchoredPopUpButtonCell.h"
+#import "BWGradientBox.h"
+#import "BWHyperlinkButton.h"
+#import "BWHyperlinkButtonCell.h"
+#import "BWInsetTextField.h"
+#import "BWSelectableToolbar.h"
+#import "BWSheetController.h"
+#import "BWSplitView.h"
+#import "BWStyledTextField.h"
+#import "BWStyledTextFieldCell.h"
+#import "BWTexturedSlider.h"
+#import "BWTexturedSliderCell.h"
+#import "BWTokenAttachmentCell.h"
+#import "BWTokenField.h"
+#import "BWTokenFieldCell.h"
+#import "BWToolbarItem.h"
+#import "BWToolbarShowColorsItem.h"
+#import "BWToolbarShowFontsItem.h"
+#import "BWTransparentButton.h"
+#import "BWTransparentButtonCell.h"
+#import "BWTransparentCheckbox.h"
+#import "BWTransparentCheckboxCell.h"
+#import "BWTransparentPopUpButton.h"
+#import "BWTransparentPopUpButtonCell.h"
+#import "BWTransparentScroller.h"
+#import "BWTransparentScrollView.h"
+#import "BWTransparentSlider.h"
+#import "BWTransparentSliderCell.h"
+#import "BWTransparentTableView.h"
+#import "BWTransparentTableViewCell.h"
+#import "BWTransparentTextFieldCell.h"
+#import "BWUnanchoredButton.h"
+#import "BWUnanchoredButtonCell.h"

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentButton.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentButton.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentButton.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentButton.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentButton : NSButton 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentButtonCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentButtonCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentButtonCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,17 @@
+//
+//  BWTransparentButtonCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+#import "BWTransparentButton.h"
+
+ at interface BWTransparentButtonCell : NSButtonCell 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentCheckbox.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentCheckbox.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentCheckbox.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentCheckbox.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentCheckbox : NSButton 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentCheckboxCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentCheckboxCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentCheckboxCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,17 @@
+//
+//  BWTransparentCheckboxCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+#import "BWTransparentCheckbox.h"
+
+ at interface BWTransparentCheckboxCell : NSButtonCell 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentPopUpButton.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentPopUpButton.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentPopUpButton.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentPopUpButton.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentPopUpButton : NSPopUpButton 
+{
+	
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentPopUpButtonCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentPopUpButtonCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentPopUpButtonCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentPopUpButtonCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentPopUpButtonCell : NSPopUpButtonCell 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentScrollView.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentScrollView.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentScrollView.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentScrollView.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentScrollView : NSScrollView 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentScroller.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentScroller.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentScroller.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentScroller.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentScroller : NSScroller 
+{
+	BOOL isVertical;
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentSlider.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentSlider.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentSlider.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentSlider.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentSlider : NSSlider 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentSliderCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentSliderCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentSliderCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentSliderCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentSliderCell : NSSliderCell 
+{
+	BOOL isPressed;
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentTableView.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentTableView.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentTableView.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentTableView.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentTableView : NSTableView 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentTableViewCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentTableViewCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentTableViewCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentTableViewCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentTableViewCell : NSTextFieldCell 
+{
+	BOOL mIsEditingOrSelecting;
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentTextFieldCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentTextFieldCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWTransparentTextFieldCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentTextFieldCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentTextFieldCell : NSTextFieldCell 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWUnanchoredButton.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWUnanchoredButton.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWUnanchoredButton.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWUnanchoredButton.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWUnanchoredButton : NSButton 
+{
+	NSPoint topAndLeftInset;
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWUnanchoredButtonCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWUnanchoredButtonCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/BWUnanchoredButtonCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,17 @@
+//
+//  BWUnanchoredButtonCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+#import "BWAnchoredButtonCell.h"
+
+ at interface BWUnanchoredButtonCell : BWAnchoredButtonCell 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSApplication+BWAdditions.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSApplication+BWAdditions.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSApplication+BWAdditions.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,15 @@
+//
+//  NSApplication+BWAdditions.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface NSApplication (BWAdditions) 
+
++ (BOOL)isOnLeopard;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSColor+BWAdditions.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSColor+BWAdditions.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSColor+BWAdditions.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  NSColor+BWAdditions.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface NSColor (BWAdditions)
+
+//  Use this method to draw 1 px wide lines independent of scale factor. Handy for resolution independent drawing. Still needs some work - there are issues with drawing at the edges of views.
+- (void)drawPixelThickLineAtPosition:(int)posInPixels withInset:(int)insetInPixels inRect:(NSRect)aRect inView:(NSView *)view horizontal:(BOOL)isHorizontal flip:(BOOL)shouldFlip;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSImage+BWAdditions.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSImage+BWAdditions.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSImage+BWAdditions.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,19 @@
+//
+//  NSImage+BWAdditions.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface NSImage (BWAdditions)
+
+// Draw a solid color over an image - taking into account alpha. Useful for coloring template images.
+- (NSImage *)tintedImageWithColor:(NSColor *)tint;
+
+// Rotate an image 90 degrees clockwise or counterclockwise
+- (NSImage *)rotateImage90DegreesClockwise:(BOOL)clockwise;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSTokenAttachment.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSTokenAttachment.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSTokenAttachment.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,22 @@
+/*
+ *     Generated by class-dump 3.1.2.
+ *
+ *     class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2007 by Steve Nygard.
+ */
+
+#import <Cocoa/Cocoa.h>
+
+ at interface NSTokenAttachment : NSTextAttachment
+{
+    id _delegate;
+}
+
+- (id)initWithDelegate:(id)fp8;
+- (void)encodeWithCoder:(id)fp8;
+- (id)initWithCoder:(id)fp8;
+- (id)attachmentCell;
+- (id)delegate;
+- (void)setDelegate:(id)fp8;
+
+ at end
+

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSTokenAttachmentCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSTokenAttachmentCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSTokenAttachmentCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,52 @@
+/*
+ *     Generated by class-dump 3.1.2.
+ *
+ *     class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2007 by Steve Nygard.
+ */
+
+#import <Cocoa/Cocoa.h>
+
+ at interface NSTokenAttachmentCell : NSTextAttachmentCell
+{
+    id _representedObject;
+    id _textColor;
+    id _reserved;
+    struct {
+        unsigned int _selected:1;
+        unsigned int _edgeStyle:2;
+        unsigned int _reserved:29;
+    } _tacFlags;
+}
+
++ (void)initialize;
+- (id)initTextCell:(id)fp8;
+- (id)init;
+- (void)dealloc;
+- (id)representedObject;
+- (void)setRepresentedObject:(id)fp8;
+- (int)interiorBackgroundStyle;
+- (BOOL)_hasMenu;
+- (id)tokenForegroundColor;
+- (id)tokenBackgroundColor;
+- (id)textColor;
+- (void)setTextColor:(id)fp8;
+- (id)pullDownImage;
+- (id)menu;
+- (NSSize)cellSizeForBounds:(NSRect)fp8;
+- (NSSize)cellSize;
+- (NSRect)drawingRectForBounds:(NSRect)fp8;
+- (NSRect)titleRectForBounds:(NSRect)fp8;
+- (NSRect)cellFrameForTextContainer:(id)fp8 proposedLineFragment:(NSRect)fp12 glyphPosition:(NSPoint)fp28 characterIndex:(unsigned int)fp36;
+- (NSPoint)cellBaselineOffset;
+- (NSRect)pullDownRectForBounds:(NSRect)fp8;
+- (void)drawTokenWithFrame:(NSRect)fp8 inView:(id)fp24;
+- (void)drawInteriorWithFrame:(NSRect)fp8 inView:(id)fp24;
+- (void)drawWithFrame:(NSRect)fp8 inView:(id)fp24;
+- (void)drawWithFrame:(NSRect)fp8 inView:(id)fp24 characterIndex:(unsigned int)fp28 layoutManager:(id)fp32;
+- (void)encodeWithCoder:(id)fp8;
+- (id)initWithCoder:(id)fp8;
+- (BOOL)wantsToTrackMouseForEvent:(id)fp8 inRect:(NSRect)fp12 ofView:(id)fp28 atCharacterIndex:(unsigned int)fp32;
+- (BOOL)trackMouse:(id)fp8 inRect:(NSRect)fp12 ofView:(id)fp28 atCharacterIndex:(unsigned int)fp32 untilMouseUp:(BOOL)fp36;
+
+ at end
+

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSView+BWAdditions.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSView+BWAdditions.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSView+BWAdditions.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,15 @@
+//
+//  NSView+BWAdditions.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface NSView (BWAdditions)
+
+- (void)bringToFront;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSWindow+BWAdditions.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSWindow+BWAdditions.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Headers/NSWindow+BWAdditions.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  NSWindow+BWAdditions.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface NSWindow (BWAdditions)
+
+- (void)resizeToSize:(NSSize)newSize animate:(BOOL)animateFlag;
+- (BOOL)isTextured;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/ButtonBarPullDownArrow.pdf
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/ButtonBarPullDownArrow.pdf	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/ButtonBarPullDownArrow.pdf	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,179 @@
+%PDF-1.7
+%âãÏÓ
+1 0 obj
+<</Metadata 12 0 R/Pages 2 0 R/Type/Catalog>>
+endobj
+12 0 obj
+<</Subtype/XML/Length 6522/Type/Metadata>>stream
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.1-c036 46.276720, Mon Feb 19 2007 22:13:43        ">
+   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+      <rdf:Description rdf:about=""
+            xmlns:dc="http://purl.org/dc/elements/1.1/">
+         <dc:format>application/pdf</dc:format>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:xap="http://ns.adobe.com/xap/1.0/"
+            xmlns:xapGImg="http://ns.adobe.com/xap/1.0/g/img/">
+         <xap:CreatorTool> Adobe Photoshop CS3 Macintosh</xap:CreatorTool>
+         <xap:CreateDate>2008-06-14T20:29:08-04:00</xap:CreateDate>
+         <xap:ModifyDate>2008-06-14T20:29:31-04:00</xap:ModifyDate>
+         <xap:MetadataDate>2008-06-14T20:29:31-04:00</xap:MetadataDate>
+         <xap:Thumbnails>
+            <rdf:Alt>
+               <rdf:li rdf:parseType="Resource">
+                  <xapGImg:format>JPEG</xapGImg:format>
+                  <xapGImg:height>3</xapGImg:height>
+                  <xapGImg:width>5</xapGImg:width>
+                  <xapGImg:image>/9j/4AAQSkZJRgABAgAASABIAAD/7QAMQWRvYmVfQ00AAf/uAA5BZG9iZQBkgAAAAAH/2wCEAAwI&#xA;CAgJCAwJCQwRCwoLERUPDAwPFRgTExUTExgRDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM&#xA;DAwMDAwBDQsLDQ4NEA4OEBQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwRDAwMDAwMDAwMDAwMDAwM&#xA;DAwMDAwMDAwMDAwMDP/AABEIAAMABQMBIgACEQEDEQH/3QAEAAH/xAE/AAABBQEBAQEBAQAAAAAA&#xA;AAADAAECBAUGBwgJCgsBAAEFAQEBAQEBAAAAAAAAAAEAAgMEBQYHCAkKCxAAAQQBAwIEAgUHBggF&#xA;AwwzAQACEQMEIRIxBUFRYRMicYEyBhSRobFCIyQVUsFiMzRygtFDByWSU/Dh8WNzNRaisoMmRJNU&#xA;ZEXCo3Q2F9JV4mXys4TD03Xj80YnlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vY3R1dnd4eXp7fH&#xA;1+f3EQACAgECBAQDBAUGBwcGBTUBAAIRAyExEgRBUWFxIhMFMoGRFKGxQiPBUtHwMyRi4XKCkkNT&#xA;FWNzNPElBhaisoMHJjXC0kSTVKMXZEVVNnRl4vKzhMPTdePzRpSkhbSVxNTk9KW1xdXl9VZmdoaW&#xA;prbG1ub2JzdHV2d3h5ent8f/2gAMAwEAAhEDEQA/AMyv7J+2b4/YW79s0z/Sdm708jbz7Ps3qb/5&#xA;v9X+2/zv6r6KS89SSU//2Q==</xapGImg:image>
+               </rdf:li>
+            </rdf:Alt>
+         </xap:Thumbnails>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:xapMM="http://ns.adobe.com/xap/1.0/mm/"
+            xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#">
+         <xapMM:DocumentID>uuid:3233F5DEE23BDD1188A5F807AAD5B5AB</xapMM:DocumentID>
+         <xapMM:InstanceID>uuid:d364bcf4-ecbc-9348-b5a9-7f85a6b611f5</xapMM:InstanceID>
+         <xapMM:DerivedFrom rdf:parseType="Resource">
+            <stRef:instanceID>uuid:72448EAFE13BDD1188A5F807AAD5B5AB</stRef:instanceID>
+            <stRef:documentID>uuid:72448EAFE13BDD1188A5F807AAD5B5AB</stRef:documentID>
+         </xapMM:DerivedFrom>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:tiff="http://ns.adobe.com/tiff/1.0/">
+         <tiff:Orientation>1</tiff:Orientation>
+         <tiff:XResolution>720000/10000</tiff:XResolution>
+         <tiff:YResolution>720000/10000</tiff:YResolution>
+         <tiff:ResolutionUnit>2</tiff:ResolutionUnit>
+         <tiff:NativeDigest>256,257,258,259,262,274,277,284,530,531,282,283,296,301,318,319,529,532,306,270,271,272,305,315,33432;5F3E335AFF780C9D7CD7E1ADA05DBE38</tiff:NativeDigest>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:exif="http://ns.adobe.com/exif/1.0/">
+         <exif:PixelXDimension>5</exif:PixelXDimension>
+         <exif:PixelYDimension>3</exif:PixelYDimension>
+         <exif:ColorSpace>1</exif:ColorSpace>
+         <exif:NativeDigest>36864,40960,40961,37121,37122,40962,40963,37510,40964,36867,36868,33434,33437,34850,34852,34855,34856,37377,37378,37379,37380,37381,37382,37383,37384,37385,37386,37396,41483,41484,41486,41487,41488,41492,41493,41495,41728,41729,41730,41985,41986,41987,41988,41989,41990,41991,41992,41993,41994,41995,41996,42016,0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,22,23,24,25,26,27,28,30;DECD3C4701D62E29B6EB81157F585A9F</exif:NativeDigest>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/">
+         <photoshop:History/>
+         <photoshop:ColorMode>3</photoshop:ColorMode>
+         <photoshop:ICCProfile>sRGB IEC61966-2.1</photoshop:ICCProfile>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
+         <pdf:Producer>Adobe Photoshop for Macintosh</pdf:Producer>
+      </rdf:Description>
+   </rdf:RDF>
+</x:xmpmeta>
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                           
+<?xpacket end="w"?>
+endstream
+endobj
+2 0 obj
+<</Count 1/Type/Pages/Kids[5 0 R]>>
+endobj
+5 0 obj
+<</Parent 2 0 R/Contents 7 0 R/ArtBox[0.0 0.0 5.0 3.0]/MediaBox[0.0 0.0 5.0 3.0]/Resources 8 0 R/Type/Page>>
+endobj
+7 0 obj
+<</Length 132>>stream
+q
+q
+5 0 0 3 0 0 cm
+q
+0.5000026 -0.0002287 m
+0.0000771 1.0002303 l
+0.9999280 1.0002303 l
+0.5000026 -0.0002287 l
+h
+W
+n
+/Im0 Do
+Q
+
+Q
+Q
+
+endstream
+endobj
+8 0 obj
+<</XObject<</Im0 6 0 R>>/ColorSpace<</DefaultRGB 10 0 R>>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/ExtGState<</GS1<</op true>>>>>>
+endobj
+10 0 obj
+[/ICCBased 9 0 R]
+endobj
+9 0 obj
+<</Length 2575/Filter/FlateDecode/N 3>>stream
+H‰œ–yTSwÇoÉž•°Ãc
+[€°5,	‹ì ˆBHBK!aPªVÊX·Ñ=uº¸Žµ:X÷©KÔè£ãÐZ\;v^àõ´™N¿üÞçÜß½÷ý~÷Þw΀.MÑh«a+SAßè:ü
+½ó>Sº7åÁâT¥rc¥3ÕMQ]YmÔcµ:¹B…	:Ä¿9ð—Ïᝩ*UéUZ<"Ÿ2V·[«Ô4ÕZL£ýOMüa?Ñü\ã⎽¼"ÀºÈÈ?.+£¾n~ÏôY &à+`œ;ÂA4ˆI 
+dƒ|°(@¨zPZ@;è=`=؆Áv0vƒýà ƒàÏà<ø\·À$˜Áx
+^AD‚²‚ WÈò‡ÄP$¥@™P>T©!-d„Z PÔ
+C; ÝС£Ð	èt	ú
+š‚@ßA/a¦Ã<Øvƒ}a1'ÃÙðX
+×ÀMp'¼‚Gá}ðaø|¾OÂáY 4„8"BDŒH4¤+î
+î÷wšGä	x2^9¯‡÷{ÞoÆœchžkÞ`>bþ‰ù$á»ñeüJ~ÿ ÿ:ÿ¥…EŒ…ÊbÅ~‹ËÏ,m,£-U–Ý–,¯Y¾´Â¬â­*¬6X[ݱF­=­3¬ë­·YŸ±~dó	·QØtÛ´¹iÛzÚfÚ6Û~`{ÁvÖÎÞ.ÑNg·Åî”Ý#{¾}´}¹ý€ý§ö¸‘‡‡ÏþŽ™c1X%6„Æfm¥ŽFÇŽŽ¯œN9NNœî8SÅÎ¥ÎÎ'g\\R]Z\öºÜt¥¸Š]Ë\7»žu}æ&pËs[å6îv_`)	š{·ÝîQî5î£îW=ˆb
+­_zžAžež#ž½`¯`/×V¯KÞïPo­÷¨÷
+!]#¬îNùð}R|:|Æ}ûºøønð=ëûÚ/ȯÒoÌï–ˆ#JuˆŽ‰¾ó÷ôWøø_
+`$´	ø6Ð+P¸-ð¯AÜ Ô UA'ƒþ¬Þü Ä%¤8佐bž8]Ü+þ<”Úúqè‹°à0CØÁ°†Ã+Â÷„ß_ X Z0¶àn„S„<bGÄd$Yù~äd”c”<j4ê›hçheôÎè{11å1ûbÇúÅêc?Š}&	“,“Câãºã&â9ñ9ñÃñ_'8%¨ö&Ì$%6'—¤ÉÒ
+Ò2;™B¶[6“’´,ét2=9+y8ù›Ï}ʱT85)ucêí…®µÇÓ@š,mcڝtAzMúŸ2ˆé#Ëe¶džÍâfeíÉzš›Ý—}+Ç=ǘs2—™[˜»;÷Y^\^Þä"ßE˝ϷÎ×ä) äì,˜]¿xÓâé ®ÂëKK–œ[j½´ré'EÌ"yÑ¡bBq^ñžâäiòQùl‰¬ä½’…D±YñP­P>PE¨úU÷J#JûKï«#ÔÕÊ¢ÊËi$šaÍ·åÒòíåÏ*Ò*>¬ø±2¯ò@¹ª¸ê¨–£­Ðž®¶¯n¨¾¤óÒué&kÂj6ÕÌè“õ;k¡Ú%µG<ügê‚ÑݸÒ8UY7R÷¼>·þP»AÛp¡Ñ³qM㽦„¦ß5£ÍŠæ“-Ž-í-SËb–íh…ZKZO¶9·u¶M/O\¾«Ú^Ñþ—¿ŽþŽïWä­8Öi×¹¼óîÊÄ•{»Ìºô]7V…¯Ú¾]­Y=±&`Í–5¯»•Ý_ôøõöüЫèýb­híÐÚו®›èîÛ¶ž¸^»þú†¨
+»úÙýMýw7¦n<<€
+t|¿©hÓ¹ÁÀÁ훩››'‡þ
+¥ZþL˜¸™$™™üšhšÕ›B›¯œœ‰œ÷dÒž@ž®ŸŸ‹Ÿú i Ø¡G¡¶¢&¢–££v£æ¤V¤Ç¥8¥©¦¦‹¦ý§n§à¨R¨Ä©7©©ªª««u«é¬\¬Ð­D­¸®-®¡¯¯‹°+¾„¾ÿ¿z¿õÀpÀìÁgÁãÂ_ÂÛÃXÃÔÄQÄÎÅKÅÈÆFÆÃÇAÇ¿È=ȼÉ:ɹÊ8Ê·Ë6˶Ì5̵Í5͵Î6ζÏ7ϸÐ9кÑ<ѾÒ?ÒÁÓDÓÆÔIÔËÕNÕÑÖUÖØ×\×àØdØèÙlÙñÚvÚûÛ€ÜÜŠÝÝ–ÞÞ¢!
 ß)߯à6à½áDáÌâSâÛãcãëäsäüå„æ
+æ–çç©è2è¼éFéÐê[êåëpëûì†ííœî(î´ï@ïÌðXðåñrñÿòŒóó§ô4ôÂõPõÞömöû÷Šøø¨ù8ùÇúWúçûwüü˜ý)ýºþKþÜÿmÿÿ++0000000016 00000 n
+0000006676 00000 n
+0000000004 00001 f
+0000000000 00000 f
+0000006727 00000 n
+0000009859 00000 n
+0000006851 00000 n
+0000007032 00000 n
+0000007211 00000 n
+0000007177 00000 n
+0000010121 00000 n
+0000000077 00000 n
+trailer
+<</Size 13/Root 1 0 R/Info 11 0 R/ID[<B43EBA858A174E2EBD48C987E9650595><10B89CB6AA9C4EF8AF41B07220157CA1>]>>
+startxref
+10293
+%%EOF
Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/GradientSplitViewDimpleBitmap.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/GradientSplitViewDimpleBitmap.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/GradientSplitViewDimpleVector.pdf
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/GradientSplitViewDimpleVector.pdf	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/GradientSplitViewDimpleVector.pdf	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,180 @@
+%PDF-1.7
+%âãÏÓ
+1 0 obj
+<</Metadata 12 0 R/Pages 2 0 R/Type/Catalog>>
+endobj
+12 0 obj
+<</Subtype/XML/Length 6566/Type/Metadata>>stream
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.1-c036 46.276720, Mon Feb 19 2007 22:13:43        ">
+   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+      <rdf:Description rdf:about=""
+            xmlns:dc="http://purl.org/dc/elements/1.1/">
+         <dc:format>application/pdf</dc:format>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:xap="http://ns.adobe.com/xap/1.0/"
+            xmlns:xapGImg="http://ns.adobe.com/xap/1.0/g/img/">
+         <xap:CreatorTool> Adobe Photoshop CS3 Macintosh</xap:CreatorTool>
+         <xap:CreateDate>2008-02-16T21:30:46-05:00</xap:CreateDate>
+         <xap:ModifyDate>2008-02-16T21:30:59-05:00</xap:ModifyDate>
+         <xap:MetadataDate>2008-02-16T21:30:59-05:00</xap:MetadataDate>
+         <xap:Thumbnails>
+            <rdf:Alt>
+               <rdf:li rdf:parseType="Resource">
+                  <xapGImg:format>JPEG</xapGImg:format>
+                  <xapGImg:height>16</xapGImg:height>
+                  <xapGImg:width>16</xapGImg:width>
+                  <xapGImg:image>/9j/4AAQSkZJRgABAgAASABIAAD/7QAMQWRvYmVfQ00AAf/uAA5BZG9iZQBkgAAAAAH/2wCEAAwI&#xA;CAgJCAwJCQwRCwoLERUPDAwPFRgTExUTExgRDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM&#xA;DAwMDAwBDQsLDQ4NEA4OEBQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwRDAwMDAwMDAwMDAwMDAwM&#xA;DAwMDAwMDAwMDAwMDP/AABEIABAAEAMBIgACEQEDEQH/3QAEAAH/xAE/AAABBQEBAQEBAQAAAAAA&#xA;AAADAAECBAUGBwgJCgsBAAEFAQEBAQEBAAAAAAAAAAEAAgMEBQYHCAkKCxAAAQQBAwIEAgUHBggF&#xA;AwwzAQACEQMEIRIxBUFRYRMicYEyBhSRobFCIyQVUsFiMzRygtFDByWSU/Dh8WNzNRaisoMmRJNU&#xA;ZEXCo3Q2F9JV4mXys4TD03Xj80YnlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vY3R1dnd4eXp7fH&#xA;1+f3EQACAgECBAQDBAUGBwcGBTUBAAIRAyExEgRBUWFxIhMFMoGRFKGxQiPBUtHwMyRi4XKCkkNT&#xA;FWNzNPElBhaisoMHJjXC0kSTVKMXZEVVNnRl4vKzhMPTdePzRpSkhbSVxNTk9KW1xdXl9VZmdoaW&#xA;prbG1ub2JzdHV2d3h5ent8f/2gAMAwEAAhEDEQA/AOpzLsjqlznPeRjgkV1DQR+8795zksO7J6Xc&#xA;xzHk45IFlR1EfvN/dc1XLcN+FY5rmn0STseOI8ClVhvzbGta0+kCC954jwCSn//Z</xapGImg:image>
+               </rdf:li>
+            </rdf:Alt>
+         </xap:Thumbnails>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:xapMM="http://ns.adobe.com/xap/1.0/mm/"
+            xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#">
+         <xapMM:DocumentID>uuid:7750097D68DEDC11BB92BDC6FD4C7FBA</xapMM:DocumentID>
+         <xapMM:InstanceID>uuid:d55aa6fe-4f87-9045-bedc-eced5d1cc5dd</xapMM:InstanceID>
+         <xapMM:DerivedFrom rdf:parseType="Resource">
+            <stRef:instanceID>uuid:7650097D68DEDC11BB92BDC6FD4C7FBA</stRef:instanceID>
+            <stRef:documentID>uuid:7650097D68DEDC11BB92BDC6FD4C7FBA</stRef:documentID>
+         </xapMM:DerivedFrom>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:tiff="http://ns.adobe.com/tiff/1.0/">
+         <tiff:Orientation>1</tiff:Orientation>
+         <tiff:XResolution>720000/10000</tiff:XResolution>
+         <tiff:YResolution>720000/10000</tiff:YResolution>
+         <tiff:ResolutionUnit>2</tiff:ResolutionUnit>
+         <tiff:NativeDigest>256,257,258,259,262,274,277,284,530,531,282,283,296,301,318,319,529,532,306,270,271,272,305,315,33432;6484DE694EED10FCB1360A97BFC32F0A</tiff:NativeDigest>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:exif="http://ns.adobe.com/exif/1.0/">
+         <exif:PixelXDimension>16</exif:PixelXDimension>
+         <exif:PixelYDimension>16</exif:PixelYDimension>
+         <exif:ColorSpace>1</exif:ColorSpace>
+         <exif:NativeDigest>36864,40960,40961,37121,37122,40962,40963,37510,40964,36867,36868,33434,33437,34850,34852,34855,34856,37377,37378,37379,37380,37381,37382,37383,37384,37385,37386,37396,41483,41484,41486,41487,41488,41492,41493,41495,41728,41729,41730,41985,41986,41987,41988,41989,41990,41991,41992,41993,41994,41995,41996,42016,0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,22,23,24,25,26,27,28,30;26EC271C894309D0BBA2E3379EE65237</exif:NativeDigest>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/">
+         <photoshop:History/>
+         <photoshop:ColorMode>3</photoshop:ColorMode>
+         <photoshop:ICCProfile>sRGB IEC61966-2.1</photoshop:ICCProfile>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
+         <pdf:Producer>Adobe Photoshop for Macintosh</pdf:Producer>
+      </rdf:Description>
+   </rdf:RDF>
+</x:xmpmeta>
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                           
+<?xpacket end="w"?>
+endstream
+endobj
+2 0 obj
+<</Count 1/Type/Pages/Kids[5 0 R]>>
+endobj
+5 0 obj
+<</Parent 2 0 R/Contents 7 0 R/ArtBox[0.0 0.0 16.0 16.0]/MediaBox[0.0 0.0 16.0 16.0]/Resources 8 0 R/Type/Page>>
+endobj
+7 0 obj
+<</Length 321>>stream
+q
+q
+16 0 0 16 0 0 cm
+q
+0.4999998 1.0000093 m
+0.7761371 1.0000093 1.0000090 0.7761374 1.0000090 0.5000001 c
+1.0000090 0.2238628 0.7761371 -0.0000091 0.4999998 -0.0000091 c
+0.2238625 -0.0000091 -0.0000094 0.2238628 -0.0000094 0.5000001 c
+-0.0000094 0.7761374 0.2238625 1.0000093 0.4999998 1.0000093 c
+h
+W*
+n
+/Im0 Do
+Q
+
+Q
+Q
+
+endstream
+endobj
+8 0 obj
+<</XObject<</Im0 6 0 R>>/ColorSpace<</DefaultRGB 10 0 R>>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/ExtGState<</GS1<</op true>>>>>>
+endobj
+10 0 obj
+[/ICCBased 9 0 R]
+endobj
+9 0 obj
+<</Length 2575/Filter/FlateDecode/N 3>>stream
+H‰œ–yTSwÇoÉž•°Ãc
+[€°5,	‹ì ˆBHBK!aPªVÊX·Ñ=uº¸Žµ:X÷©KÔè£ãÐZ\;v^àõ´™N¿üÞçÜß½÷ý~÷Þw΀.MÑh«a+SAßè:ü
+½ó>Sº7åÁâT¥rc¥3ÕMQ]YmÔcµ:¹B…	:Ä¿9ð—Ïᝩ*UéUZ<"Ÿ2V·[«Ô4ÕZL£ýOMüa?Ñü\ã⎽¼"ÀºÈÈ?.+£¾n~ÏôY &à+`œ;ÂA4ˆI 
+dƒ|°(@¨zPZ@;è=`=؆Áv0vƒýà ƒàÏà<ø\·À$˜Áx
+^AD‚²‚ WÈò‡ÄP$¥@™P>T©!-d„Z PÔ
+C; ÝС£Ð	èt	ú
+š‚@ßA/a¦Ã<Øvƒ}a1'ÃÙðX
+×ÀMp'¼‚Gá}ðaø|¾OÂáY 4„8"BDŒH4¤+î
+î÷wšGä	x2^9¯‡÷{ÞoÆœchžkÞ`>bþ‰ù$á»ñeüJ~ÿ ÿ:ÿ¥…EŒ…ÊbÅ~‹ËÏ,m,£-U–Ý–,¯Y¾´Â¬â­*¬6X[ݱF­=­3¬ë­·YŸ±~dó	·QØtÛ´¹iÛzÚfÚ6Û~`{ÁvÖÎÞ.ÑNg·Åî”Ý#{¾}´}¹ý€ý§ö¸‘‡‡ÏþŽ™c1X%6„Æfm¥ŽFÇŽŽ¯œN9NNœî8SÅÎ¥ÎÎ'g\\R]Z\öºÜt¥¸Š]Ë\7»žu}æ&pËs[å6îv_`)	š{·ÝîQî5î£îW=ˆb
+­_zžAžež#ž½`¯`/×V¯KÞïPo­÷¨÷
+!]#¬îNùð}R|:|Æ}ûºøønð=ëûÚ/ȯÒoÌï–ˆ#JuˆŽ‰¾ó÷ôWøø_
+`$´	ø6Ð+P¸-ð¯AÜ Ô UA'ƒþ¬Þü Ä%¤8佐bž8]Ü+þ<”Úúqè‹°à0CØÁ°†Ã+Â÷„ß_ X Z0¶àn„S„<bGÄd$Yù~äd”c”<j4ê›hçheôÎè{11å1ûbÇúÅêc?Š}&	“,“Câãºã&â9ñ9ñÃñ_'8%¨ö&Ì$%6'—¤ÉÒ
+Ò2;™B¶[6“’´,ét2=9+y8ù›Ï}ʱT85)ucêí…®µÇÓ@š,mcڝtAzMúŸ2ˆé#Ëe¶džÍâfeíÉzš›Ý—}+Ç=ǘs2—™[˜»;÷Y^\^Þä"ßE˝ϷÎ×ä) äì,˜]¿xÓâé ®ÂëKK–œ[j½´ré'EÌ"yÑ¡bBq^ñžâäiòQùl‰¬ä½’…D±YñP­P>PE¨úU÷J#JûKï«#ÔÕÊ¢ÊËi$šaÍ·åÒòíåÏ*Ò*>¬ø±2¯ò@¹ª¸ê¨–£­Ðž®¶¯n¨¾¤óÒué&kÂj6ÕÌè“õ;k¡Ú%µG<ügê‚ÑݸÒ8UY7R÷¼>·þP»AÛp¡Ñ³qM㽦„¦ß5£ÍŠæ“-Ž-í-SËb–íh…ZKZO¶9·u¶M/O\¾«Ú^Ñþ—¿ŽþŽïWä­8Öi×¹¼óîÊÄ•{»Ìºô]7V…¯Ú¾]­Y=±&`Í–5¯»•Ý_ôøõöüЫèýb­híÐÚו®›èîÛ¶ž¸^»þú†¨
+»úÙýMýw7¦n<<€
+t|¿©hÓ¹ÁÀÁ훩››'‡þ
+¥ZþL˜¸™$™™üšhšÕ›B›¯œœ‰œ÷dÒž@ž®ŸŸ‹Ÿú i Ø¡G¡¶¢&¢–££v£æ¤V¤Ç¥8¥©¦¦‹¦ý§n§à¨R¨Ä©7©©ªª««u«é¬\¬Ð­D­¸®-®¡¯¯‹°+¾„¾ÿ¿z¿õÀpÀìÁgÁãÂ_ÂÛÃXÃÔÄQÄÎÅKÅÈÆFÆÃÇAÇ¿È=ȼÉ:ɹÊ8Ê·Ë6˶Ì5̵Í5͵Î6ζÏ7ϸÐ9кÑ<ѾÒ?ÒÁÓDÓÆÔIÔËÕNÕÑÖUÖØ×\×àØdØèÙlÙñÚvÚûÛ€ÜÜŠÝÝ–ÞÞ¢!
 ß)߯à6à½áDáÌâSâÛãcãëäsäüå„æ
+æ–çç©è2è¼éFéÐê[êåëpëûì†ííœî(î´ï@ïÌðXðåñrñÿòŒóó§ô4ôÂõPõÞömöû÷Šøø¨ù8ùÇúWúçûwüü˜ý)ýºþKþÜÿmÿÿ+rrruuuyyy~~~‚‚‚†††‰‰‰ŠŠŠŠŠŠ‰‰‰†††‚‚‚~~~yyyuuurrrwww|||‚‚‚ˆˆˆŽŽŽ“““–––˜˜˜˜˜˜–––“““ŽŽŽˆˆˆ‚‚‚|||www}}}„„„ŒŒŒ“““ššš   ¤¤¤¦¦¦¦¦¦¤¤¤   ššš“““ŒŒŒ„„„}}}„„„ŒŒŒ–––žžž¦¦¦«««¯¯¯±±±±±±¯¯¯«««¦¦¦žžž–––ŒŒŒ„„„‹‹‹–––   ©©©±±±···ººº»»»»»»ººº···±±±©©©   –––‹‹‹“““ŸŸŸªªª³³³ººº¿¿¿ÂÂÂÃÃÃÃÃÿ¿¿ººº³³³ªªªŸŸŸ“““ššš¦¦¦±±±ºººÁÁÁÆÆÆÈÈÈÈÈÈÈÈÈÈÈÈÅÅÅÁÁÁººº±±±¦¦¦šššŸŸŸ¬¬¬···ÀÀÀÆÆÆÊÊÊËËËÌÌÌÌÌÌËËËÊÊÊÆÆÆÀÀÀ···¬¬¬ŸŸŸ£££°°°»»»ÃÃÃÉÉÉÌÌÌÎÎÎÎÎÎÎÎÎÎÎÎÌÌÌÉÉÉÃÃúºº°°°¢¢¢¤¤¤±±±¼¼¼ÅÅÅËËËÎÎÎÐÐÐÐÐÐÐÐÐÐÐÐÎÎÎËËËÅÅż¼¼±±±¤¤¤¤¤¤±±±¼¼¼ÅÅÅÌÌÌÐÐÐÑÑÑÒÒÒÒÒÒÑÑÑÐÐÐÌÌÌÅÅż¼¼±±±¤¤¤¢¢¢®®®ºººÄÄÄËËËÐÐÐÒÒÒÒÒÒÒÒÒÒÒÒÐÐÐËËËÄÄĺºº®®®¡¡¡ªªª¶¶¶¿¿¿ÇÇÇÍÍÍÐÐÐÑÑÑÑÑÑÐÐÐÍÍÍÇÇÇ¿¿¿µµµªªª———£££®®®¸¸¸ÀÀÀÆÆÆÊÊÊÌÌÌÌÌÌÊÊÊÆÆÆÀÀÀ¸¸¸®®®£££———’’’œœœ¦¦¦¯¯¯¸¸¸¾¾¾ÂÂÂÄÄÄÄÄľ¾¾¸¸¸¯¯¯¦¦¦œœœ’’’ŒŒŒ”””¥¥¥­­­´´´¸¸¸»»»»»»¸¸¸´´´­­­¥¥¥”””ŒŒŒ
+endstream
+endobj
+11 0 obj
+<</CreationDate(D:20080216213046-05'00')/Creator( Adobe Photosh!
 op CS3 Macintosh)/Producer(Adobe Photoshop for Macintosh)/ModDate(D:20080216213059-05'00')>>
+endobj
+xref
+0 13
+0000000003 65535 f
+0000000016 00000 n
+0000006720 00000 n
+0000000004 00001 f
+0000000000 00000 f
+0000006771 00000 n
+0000010096 00000 n
+0000006899 00000 n
+0000007269 00000 n
+0000007448 00000 n
+0000007414 00000 n
+0000011086 00000 n
+0000000077 00000 n
+trailer
+<</Size 13/Root 1 0 R/Info 11 0 R/ID[<33529D86E9434463B40618B64FD0FF75><4866DB5336014798BED9528D03CDD3B2>]>>
+startxref
+11258
+%%EOF
Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/Info.plist
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/Info.plist	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/Info.plist	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,22 @@
+<?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.2</string>
+	<key>NSPrincipalClass</key>
+	<string>BWToolkit</string>
+</dict>
+</plist>

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/Library-SheetController.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/Library-SheetController.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/License.rtf
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/License.rtf	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/License.rtf	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf430
+{\fonttbl\f0\fnil\fcharset0 Verdana;}
+{\colortbl;\red255\green255\blue255;\red73\green73\blue73;}
+{\*\listtable{\list\listtemplateid1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid0\'02\'05.;}{\levelnumbers\'01;}}{\listname ;}\listid1}}
+{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}}
+\deftab720
+\pard\pardeftab720\sl400\sa280\ql\qnatural
+
+\f0\fs24 \cf2 Copyright (c) 2009, Brandon Walkin\uc0\u8232 All rights reserved.\
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\
+\pard\tx220\tx720\pardeftab720\li720\fi-720\sl400\sa20\ql\qnatural
+\ls1\ilvl0\cf2 {\listtext	\'95	}Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\
+{\listtext	\'95	}Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\
+{\listtext	\'95	}Neither the name of the Brandon Walkin nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\
+\pard\pardeftab720\sl400\sa280\ql\qnatural
+\cf2 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.}
\ No newline at end of file

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/Release Notes.rtf
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/Release Notes.rtf	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/Release Notes.rtf	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,319 @@
+{\rtf1\ansi\ansicpg1252\cocoartf1027\cocoasubrtf100
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset0 Monaco;}
+{\colortbl;\red255\green255\blue255;\red100\green56\blue32;\red196\green26\blue22;}
+{\*\listtable{\list\listtemplateid1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid1}
+{\list\listtemplateid2\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid101\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid2}
+{\list\listtemplateid3\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid201\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid3}
+{\list\listtemplateid4\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid301\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid4}
+{\list\listtemplateid5\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid401\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid5}
+{\list\listtemplateid6\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid501\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid6}
+{\list\listtemplateid7\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid601\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid602\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid603\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li2160\lin2160 }{\listname ;}\listid7}
+{\list\listtemplateid8\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid701\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid8}
+{\list\listtemplateid9\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid801\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid9}
+{\list\listtemplateid10\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid901\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid10}
+{\list\listtemplateid11\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1001\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid11}
+{\list\listtemplateid12\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1101\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid12}
+{\list\listtemplateid13\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1201\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid13}
+{\list\listtemplateid14\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1301\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid14}
+{\list\listtemplateid15\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1401\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid15}
+{\list\listtemplateid16\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1501\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid16}
+{\list\listtemplateid17\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1601\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid17}
+{\list\listtemplateid18\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1701\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid18}
+{\list\listtemplateid19\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1801\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid19}
+{\list\listtemplateid20\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1901\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid20}
+{\list\listtemplateid21\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid2001\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid21}}
+{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}{\listoverride\listid2\listoverridecount0\ls2}{\listoverride\listid3\listoverridecount0\ls3}{\listoverride\listid4\listoverridecount0\ls4}{\listoverride\listid5\listoverridecount0\ls5}{\listoverride\listid6\listoverridecount0\ls6}{\listoverride\listid7\listoverridecount0\ls7}{\listoverride\listid8\listoverridecount0\ls8}{\listoverride\listid9\listoverridecount0\ls9}{\listoverride\listid10\listoverridecount0\ls10}{\listoverride\listid11\listoverridecount0\ls11}{\listoverride\listid12\listoverridecount0\ls12}{\listoverride\listid13\listoverridecount0\ls13}{\listoverride\listid14\listoverridecount0\ls14}{\listoverride\listid15\listoverridecount0\ls15}{\listoverride\listid16\listoverridecount0\ls16}{\listoverride\listid17\listoverridecount0\ls17}{\listoverride\listid18\listoverridecount0\ls18}{\listoverride\listid19\listoverridecount0\ls19}{\listoverride\listid20\listoverridecount0\ls20}{\listoverride\listid21\l!
 istoverridecount0\ls21}}
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\f0\b\fs54 \cf0 BWToolkit
+\fs36 \
+
+\b0 Plugin for Interface Builder 3\
+
+\b \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs30 \cf0 Version 1.2.2\
+June 28, 2009\
+Brandon Walkin\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\fs32 \cf0 \
+\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b\fs36 \cf0 Installation
+\b0\fs28 \
+\
+Step 1. Double click the BWToolkit.ibplugin file to load the plugin into Interface Builder\
+\
+Note: Interface Builder will reference this file rather than copy it to another location. Keep the .ibplugin file in a location where it won't be deleted.\
+\
+Step 2. In the Xcode project you want to use the plugin in:\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls1\ilvl0\cf0 {\listtext	\'95	}Right click the Linked Frameworks folder and click Add -> Existing Frameworks. Select the BWToolkitFramework.framework directory.\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls2\ilvl0\cf0 {\listtext	\'95	}Right click your target and click Add -> New Build Phase -> New Copy Files Build Phase. For destination, select Frameworks, leave the path field blank, and close the window.\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls3\ilvl0\cf0 {\listtext	\'95	}Drag the BWToolkit framework from Linked Frameworks to the Copy Files build phase you just added.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+Note: You'll have to repeat step 2 for each project you want to use BWToolkit in.\
+\
+If you need to reference BWToolkit objects in your classes, you can import the main header like so:\
+\
+\pard\tx560\pardeftab560\ql\qnatural\pardirnatural
+
+\f1\fs24 \cf2 \CocoaLigature0 #import \cf3 <BWToolkitFramework/BWToolkitFramework.h>
+\f0\fs28 \cf0 \CocoaLigature1 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\fs32 \cf0 \
+\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b\fs36 \cf0 License\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs28 \cf0 \
+All source code is provided under the three clause BSD license. Attribution is appreciated but by no means required.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\fs32 \cf0 \
+\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b\fs36 \cf0 Contributing\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs28 \cf0 \
+Please email any patches to me at bwalkin at gmail.com.
+\b\fs36 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs32 \cf0 \
+\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b\fs36 \cf0 Compatibility\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs28 \cf0 \
+BWToolkit has been tested to work in IB 3.1.2 (677) and IB 3.2 (732). 
+\b\fs36 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs32 \cf0 \
+\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b\fs36 \cf0 History\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs28 \cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 1.2.2 - June 28, 2009\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls4\ilvl0
+\b0 \cf0 {\listtext	\'95	}Project now builds on Leopard and Snow Leopard without any modifications necessary (thanks Kevin Hiscott)\
+{\listtext	\'95	}The "couldn't strip" warning on Leopard has been fixed\
+{\listtext	\'95	}The ibtool error when using the Styled Text Field on Leopard has been fixed
+\b \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+1.2.1 - June 18, 2009\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls5\ilvl0
+\b0 \cf0 {\listtext	\'95	}The gradient box, hyperlink button, and styled text field header files have been made public so they can be accessed from your classes.
+\b \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+1.2 - June 18, 2009\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls6\ilvl0
+\b0 \cf0 {\listtext	\'95	}New Gradient Box with customizable border and inset lines\
+{\listtext	\'95	}New Hyperlink Button that allows you to link text or images to URLs\
+{\listtext	\'95	}New Styled Text Field that allows you to apply a gradient and a shadow to your text\
+{\listtext	\'95	}Added support for Snow Leopard\
+{\listtext	\'95	}The Anchored Button Bar can now live in the right-most split view pane. Just drag the bar in there and the resize handle will move over to the left side. \
+{\listtext	\'95	}Rewrote Transparent Button and Transparent Pop-Up Button to support image alignment, text justification & truncation, and other standard cell functionality. A similar rewrite will be coming to the Anchored Button & Pop-Up Button soon.\
+{\listtext	\'95	}Fixed an issue where some cells could "take over" other objects in your interface\
+{\listtext	\'95	}Fixed an issue where some images in an Anchored Button & Pop-Up Button would draw upside-down\
+{\listtext	\'95	}Sheet controller ivars can now be accessed and modified from outside the class\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\cf0 	\'95	Fixed an issue where bottom bars would output warnings to the console\
+	\'95	Fixed some memory leaks
+\b \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+1.1 - Feb 23, 2009\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls7\ilvl0
+\b0 \cf0 {\listtext	\'95	}New BWSplitView with:\
+\pard\tx940\tx1440\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li1440\fi-1440\ql\qnatural\pardirnatural
+\ls7\ilvl1\cf0 {\listtext	\uc0\u8259 	}Customizable min and max sizes for subviews\
+{\listtext	\uc0\u8259 	}Ability to specify which subviews should and shouldn't resize through a control in the inspector (which just sets the subview's autoresizing mask)\
+{\listtext	\uc0\u8259 	}Collapsing functionality\
+\pard\tx1660\tx2160\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li2160\fi-2160\ql\qnatural\pardirnatural
+\ls7\ilvl2\cf0 {\listtext	-	}Double click divider to collapse\
+{\listtext	-	}Drag a divider past half of the subview's minimum width to collapse\
+{\listtext	-	}Animated collapse: hook a Toggle button up to the split view's toggleCollapse: action to collapse the subview configured as collapsible. The split view will synchronise its state with the button.\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls7\ilvl0\cf0 {\listtext	\'95	}Removed all split view size constraint functionality from the anchored button bar since BWSplitView handles that now\
+{\listtext	\'95	}Replaced the old colors and fonts icons with the new ones from iWork '09\
+{\listtext	\'95	}Textured slider: fixed bug where certain areas on the slider weren't clickable, zoom buttons now send an action, and fine tuned mouse scrolling behavior (courtesy of Chris Liscio)\
+{\listtext	\'95	}Selectable toolbar: fixed issue where a focus ring would stay visible on a tab change (courtesy of Duncan Wilcox)\
+{\listtext	\'95	}Can now customize the font on BWTokenField in IB\
+{\listtext	\'95	}Fixed various memory leaks\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 1.0.4 - Jan 20, 2009\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls8\ilvl0
+\b0 \cf0 {\listtext	\'95	}Added ability to programmatically disable toolbar items in the selectable toolbar\
+{\listtext	\'95	}Added a notification to the selectable toolbar that gets sent whenever a toolbar item has been clicked (see header for details)\
+{\listtext	\'95	}Added main header file for easy importing\
+{\listtext	\'95	}Fixed issue where the BWToolbarItem inspector wouldn't be updated with the item identifier
+\b \
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls9\ilvl0
+\b0 \cf0 {\listtext	\'95	}There's been an API change in BWSheetController. The delegate method now gets passed the button that initiated the sheet close. This is helpful because in the event that there are multiple buttons hooked up to the messageDelegateAndCloseSheet: method, you can distinguish which button called the method and behave accordingly.\
+{\listtext	\'95	}Fixed disabled appearance for BWAnchoredPopUpButton\
+{\listtext	\'95	}Fixed a bug where a sheet not using BWSheetController could be moved around by its bottom bar\
+{\listtext	\'95	}Fixed toolbar item memory leaks
+\b \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+1.0.3 - Dec 18, 2008\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls10\ilvl0
+\b0 \cf0 {\listtext	\'95	}64-bit support (courtesy of Rob Rix)\
+{\listtext	\'95	}Added disabled appearance and scroll wheel support to BWTexturedSlider\
+{\listtext	\'95	}The selectable toolbar panes are now keyboard accessible\
+{\listtext	\'95	}Anchored button bar now lets you provide your own delegate implementations for the split view (see the header for details)\
+{\listtext	\'95	}Nearly all the headers have been made public\
+{\listtext	\'95	}Fixed memory leaks\
+{\listtext	\'95	}Minor bug fixes\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 \
+1.0.2 - Nov 19, 2008
+\b0 \
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls11\ilvl0\cf0 {\listtext	\'95	}Added a toolbar item with a customizable item identifier\
+{\listtext	\'95	}New methods in the BWSelectableToolbar header for programmatically setting the selected toolbar item\
+{\listtext	\'95	}Reduced the file size of the framework by 40%\
+{\listtext	\'95	}Made the headers for BWSelectableToolbar and BWSplitView public\
+{\listtext	\'95	}Fixed a serious bug where IB would crash whenever a window that contained a selectable toolbar had certain properties modified (like whether it had a unified toolbar or could resize)\
+{\listtext	\'95	}Fixed bug where if a window in IB with a bottom bar was closed and then opened, its bottom bar would disappear\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 \
+1.0.1 - Nov 14, 2008
+\b0 \
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls12\ilvl0\cf0 {\listtext	\'95	}Added Garbage Collection compatibility. Will now compile in GC supported and GC required apps.\
+{\listtext	\'95	}Minor bug fix\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 \
+1.0 - Nov 13, 2008
+\b0 \
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls13\ilvl0\cf0 {\listtext	\'95
+\fs32 	}
+\fs28 Initial Release
+\fs32 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b\fs36 \cf0 Known Issues\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs28 \cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 General\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls14\ilvl0
+\b0 \cf0 {\listtext	\'95	}When you build your project, you may get a warning that says "Could not find object file...". It's harmless and you can ignore it. A fix is being worked on for a future release.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 Selectable Toolbar\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls15\ilvl0
+\b0 \cf0 {\listtext	\'95	}If your IB version is greater than 3.1.1 (672): Simulating is not supported for any document that has a selectable toolbar in it. The toolbar will not be able to save correctly and will be unusable. You will have to quit Interface Builder and restore to a previous version of the nib. Version control is highly recommended. You 
+\b must
+\b0  back up your document on a consistent basis if you want to use this toolbar.\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls16\ilvl0\cf0 {\listtext	\'95	}Interface Builder currently has a bug where a toolbar won't remember any changes to its configuration since an item was added to it. If you take a standard toolbar, rearrange some items in it or remove a few items, it will not remember that configuration when you save the document. To work around this problem, remove an item from the toolbar and add it back before you save the document.\
+{\listtext	\'95	}Undo is not yet supported for active tab switching.\
+{\listtext	\'95	}If you want your window with a selectable toolbar to have a bottom bar, drag the bottom bar item to the window like you would normally, but repeat this for each tab in the window.\
+{\listtext	\'95	}When you re-order the items in the toolbar you'll have to reselect the toolbar for the "Active Tab" pop-up menu to reflect the new order.\
+{\listtext	\'95	}Make sure, in the outline view, not to double click an item in one of the views in the window that is not nested in the window's current content view. Doing so will cause IB to crash. Instead, switch to the tab with the item, then double click it.\
+{\listtext	\'95	}Use no more than one selectable toolbar per NIB/XIB. And no more than one document with a selectable toolbar should be open in IB at any particular time.\
+{\listtext	\'95	}Removing the separator, space, or flexible space from the toolbar's allowed items will remove all items from the toolbar.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 Split View\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls17\ilvl0
+\b0 \cf0 {\listtext	\'95	}Split view attributes are not yet saved through the autosave name.\
+{\listtext	\'95	}The toggle action can't uncollapse a subview that's been collapsed manually by dragging the divider.\
+{\listtext	\'95	}For collapsing using the toggle action, there should only be 1 resizable subview in the split view other than the collapsible view (which can be either resizable or non-resizable).\
+{\listtext	\'95	}Undo isn't fully supported.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 Bottom Bars\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls18\ilvl0
+\b0 \cf0 {\listtext	\'95	}When using the drag handles to resize certain controls positioned on a bottom bar, the window will take the click and will move while the control stays stationary. As a workaround, try holding the Control key while resizing the control. If that fails, resize it in the inspector.\
+{\listtext	\'95	}Bottom bars must be added to the window's content view rather than any subview.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 Anchored Button Bar\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls19\ilvl0
+\b0 \cf0 {\listtext	\'95	}The inspector doesn't update when an undo action is called on a mode change. Just select the mode you want to use in the inspector.\
+{\listtext	\'95	}The bar should have a slightly shorter height in the third mode.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 Anchored Pop Up Button\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls20\ilvl0
+\b0 \cf0 {\listtext	\'95	}Only the Pull Down type is available at the moment.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 Transparent Scroll View
+\b0 \
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls21\ilvl0\cf0 {\listtext	\'95	}Horizontal scrolling is not yet supported.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\fs32 \cf0 \
+\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b\fs36 \cf0 Acknowledgements\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs28 \cf0 \
+Thanks to Fraser Kuyvenhoven, Ali Lalani, Brent Gulanowski, and Jonathan Hess for giving me some assistance with this project.\
+}
\ No newline at end of file

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderPhotoLarge.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderPhotoLarge.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderPhotoSmall.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderPhotoSmall.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderSpeakerLoud.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderSpeakerLoud.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderSpeakerQuiet.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderSpeakerQuiet.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderThumbN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderThumbN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderThumbP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderThumbP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderTrackFill.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderTrackFill.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderTrackLeft.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderTrackLeft.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderTrackRight.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TexturedSliderTrackRight.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/ToolbarItemColors.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/ToolbarItemColors.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/ToolbarItemFonts.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/ToolbarItemFonts.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentButtonFillN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentButtonFillN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentButtonFillP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentButtonFillP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentButtonLeftN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentButtonLeftN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentButtonLeftP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentButtonLeftP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentButtonRightN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentButtonRightN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentButtonRightP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentButtonRightP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentCheckboxOffN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentCheckboxOffN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentCheckboxOffP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentCheckboxOffP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentCheckboxOnN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentCheckboxOnN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentCheckboxOnP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentCheckboxOnP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentPopUpFillN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentPopUpFillN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentPopUpFillP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentPopUpFillP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentPopUpLeftN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentPopUpLeftN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentPopUpLeftP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentPopUpLeftP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentPopUpPullDownRightN.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentPopUpPullDownRightN.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentPopUpPullDownRightP.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentPopUpPullDownRightP.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentPopUpRightN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentPopUpRightN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentPopUpRightP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentPopUpRightP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerKnobBottom.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerKnobBottom.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerKnobHorizontalFill.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerKnobHorizontalFill.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerKnobLeft.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerKnobLeft.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerKnobRight.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerKnobRight.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerKnobTop.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerKnobTop.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerKnobVerticalFill.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerKnobVerticalFill.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerSlotBottom.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerSlotBottom.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerSlotHorizontalFill.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerSlotHorizontalFill.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerSlotLeft.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerSlotLeft.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerSlotRight.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerSlotRight.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerSlotTop.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerSlotTop.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerSlotVerticalFill.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentScrollerSlotVerticalFill.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentSliderThumbN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentSliderThumbN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentSliderThumbP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentSliderThumbP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentSliderTrackFill.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentSliderTrackFill.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentSliderTrackLeft.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentSliderTrackLeft.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentSliderTrackRight.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentSliderTrackRight.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentSliderTriangleThumbN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentSliderTriangleThumbN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentSliderTriangleThumbP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Resources/TransparentSliderTriangleThumbP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/BWToolkitFramework
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/BWToolkitFramework
___________________________________________________________________
Added: svn:executable
   + *
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWAnchoredButton.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWAnchoredButton.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWAnchoredButton.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,21 @@
+//
+//  BWAnchoredButton.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWAnchoredButton : NSButton 
+{
+	BOOL isAtLeftEdgeOfBar;
+	BOOL isAtRightEdgeOfBar;
+	NSPoint topAndLeftInset;
+}
+
+ at property BOOL isAtLeftEdgeOfBar;
+ at property BOOL isAtRightEdgeOfBar;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWAnchoredButtonBar.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWAnchoredButtonBar.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWAnchoredButtonBar.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,27 @@
+//
+//  BWAnchoredButtonBar.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWAnchoredButtonBar : NSView 
+{
+	BOOL isResizable, isAtBottom, handleIsRightAligned;
+	int selectedIndex;
+	id splitViewDelegate;
+}
+
+ at property BOOL isResizable, isAtBottom, handleIsRightAligned;
+ at property int selectedIndex;
+
+// The mode of this bar with a resize handle makes use of some NSSplitView delegate methods. Use the splitViewDelegate for any custom delegate implementations
+// you'd like to provide.
+ at property (assign) id splitViewDelegate;
+
++ (BOOL)wasBorderedBar;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWAnchoredButtonCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWAnchoredButtonCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWAnchoredButtonCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWAnchoredButtonCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWAnchoredButtonCell : NSButtonCell 
+{
+	
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWAnchoredPopUpButton.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWAnchoredPopUpButton.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWAnchoredPopUpButton.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,21 @@
+//
+//  BWAnchoredPopUpButton.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWAnchoredPopUpButton : NSPopUpButton 
+{
+	BOOL isAtLeftEdgeOfBar;
+	BOOL isAtRightEdgeOfBar;
+	NSPoint topAndLeftInset;
+}
+
+ at property BOOL isAtLeftEdgeOfBar;
+ at property BOOL isAtRightEdgeOfBar;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWAnchoredPopUpButtonCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWAnchoredPopUpButtonCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWAnchoredPopUpButtonCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWAnchoredPopUpButtonCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWAnchoredPopUpButtonCell : NSPopUpButtonCell 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWGradientBox.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWGradientBox.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWGradientBox.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,24 @@
+//
+//  BWGradientBox.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWGradientBox : NSView 
+{
+	NSColor *fillStartingColor, *fillEndingColor, *fillColor;
+	NSColor *topBorderColor, *bottomBorderColor;
+	float topInsetAlpha, bottomInsetAlpha;
+	
+	BOOL hasTopBorder, hasBottomBorder, hasGradient;
+}
+
+ at property (nonatomic, retain) NSColor *fillStartingColor, *fillEndingColor, *fillColor, *topBorderColor, *bottomBorderColor;
+ at property float topInsetAlpha, bottomInsetAlpha;
+ at property BOOL hasTopBorder, hasBottomBorder, hasGradient;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWHyperlinkButton.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWHyperlinkButton.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWHyperlinkButton.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,18 @@
+//
+//  BWHyperlinkButton.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWHyperlinkButton : NSButton 
+{
+	NSString *urlString;
+}
+
+ at property (copy, nonatomic) NSString *urlString;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWHyperlinkButtonCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWHyperlinkButtonCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWHyperlinkButtonCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWHyperlinkButtonCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWHyperlinkButtonCell : NSButtonCell
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWInsetTextField.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWInsetTextField.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWInsetTextField.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWInsetTextField.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWInsetTextField : NSTextField 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWSelectableToolbar.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWSelectableToolbar.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWSelectableToolbar.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,36 @@
+//
+//  BWSelectableToolbar.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at class BWSelectableToolbarHelper;
+
+// Notification that gets sent when a toolbar item has been clicked. You can get the button that was clicked by getting the object
+// for the key @"BWClickedItem" in the supplied userInfo dictionary.
+extern NSString * const BWSelectableToolbarItemClickedNotification;
+
+ at interface BWSelectableToolbar : NSToolbar 
+{
+	BWSelectableToolbarHelper *helper;
+	NSMutableArray *itemIdentifiers;
+	NSMutableDictionary *itemsByIdentifier, *enabledByIdentifier;
+	BOOL inIB;
+	
+	// For the IB inspector
+	int selectedIndex;
+	BOOL isPreferencesToolbar;
+}
+
+// Call one of these methods to set the active tab. 
+- (void)setSelectedItemIdentifier:(NSString *)itemIdentifier; // Use if you want an action in the tabbed window to change the tab.
+- (void)setSelectedItemIdentifierWithoutAnimation:(NSString *)itemIdentifier; // Use if you want to show the window with a certain item selected.
+
+// Programmatically disable or enable a toolbar item. 
+- (void)setEnabled:(BOOL)flag forIdentifier:(NSString *)itemIdentifier;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWSheetController.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWSheetController.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWSheetController.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,31 @@
+//
+//  BWSheetController.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWSheetController : NSObject
+{
+	NSWindow *sheet;
+	NSWindow *parentWindow;
+	id delegate;
+}
+
+ at property (nonatomic, retain) IBOutlet NSWindow *sheet, *parentWindow;
+ at property (nonatomic, retain) IBOutlet id delegate;
+
+- (IBAction)openSheet:(id)sender;
+- (IBAction)closeSheet:(id)sender;
+- (IBAction)messageDelegateAndCloseSheet:(id)sender;
+
+// The optional delegate should implement the method:
+// - (BOOL)shouldCloseSheet:(id)sender
+// Return YES if you want the sheet to close after the button click, NO if it shouldn't close. The sender
+// object is the button that requested the close. This is helpful because in the event that there are multiple buttons
+// hooked up to the messageDelegateAndCloseSheet: method, you can distinguish which button called the method. 
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWSplitView.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWSplitView.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWSplitView.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,44 @@
+//
+//  BWSplitView.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com) and Fraser Kuyvenhoven.
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWSplitView : NSSplitView 
+{
+	NSColor *color;
+	BOOL colorIsEnabled, checkboxIsEnabled, dividerCanCollapse, collapsibleSubviewCollapsed;
+	id secondaryDelegate;
+	NSMutableDictionary *minValues, *maxValues, *minUnits, *maxUnits;
+	NSMutableDictionary *resizableSubviewPreferredProportion, *nonresizableSubviewPreferredSize;
+	NSArray *stateForLastPreferredCalculations;
+	int collapsiblePopupSelection;
+	float uncollapsedSize;
+	
+	// Collapse button
+	NSButton *toggleCollapseButton;
+	BOOL isAnimating;
+}
+
+ at property (retain) NSMutableDictionary *minValues, *maxValues, *minUnits, *maxUnits;
+ at property (retain) NSMutableDictionary *resizableSubviewPreferredProportion, *nonresizableSubviewPreferredSize;
+ at property (retain) NSArray *stateForLastPreferredCalculations;
+ at property (retain) NSButton *toggleCollapseButton;
+ at property BOOL collapsibleSubviewCollapsed;
+ at property int collapsiblePopupSelection;
+ at property BOOL dividerCanCollapse;
+
+// The split view divider color
+ at property (copy) NSColor *color;
+
+// Flag for whether a custom divider color is enabled. If not, the standard divider color is used.
+ at property BOOL colorIsEnabled;
+
+// Call this method to collapse or expand a subview configured as collapsible in the IB inspector.
+- (IBAction)toggleCollapse:(id)sender;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWStyledTextField.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWStyledTextField.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWStyledTextField.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,33 @@
+//
+//  BWStyledTextField.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWStyledTextField : NSTextField
+{
+	
+}
+
+- (BOOL)hasGradient;
+- (void)setHasGradient:(BOOL)flag;
+- (NSColor *)startingColor;
+- (void)setStartingColor:(NSColor *)color;
+- (NSColor *)endingColor;
+- (void)setEndingColor:(NSColor *)color;
+
+- (NSColor *)solidColor;
+- (void)setSolidColor:(NSColor *)color;
+
+- (BOOL)hasShadow;
+- (void)setHasShadow:(BOOL)flag;
+- (BOOL)shadowIsBelow;
+- (void)setShadowIsBelow:(BOOL)flag;
+- (NSColor *)shadowColor;
+- (void)setShadowColor:(NSColor *)color;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWStyledTextFieldCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWStyledTextFieldCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWStyledTextFieldCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,22 @@
+//
+//  BWStyledTextFieldCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWStyledTextFieldCell : NSTextFieldCell 
+{
+	BOOL shadowIsBelow, hasShadow, hasGradient;
+	NSColor *shadowColor, *startingColor, *endingColor, *solidColor;
+	
+	NSMutableDictionary *previousAttributes;
+}
+
+ at property BOOL shadowIsBelow, hasShadow, hasGradient;
+ at property (nonatomic, retain) NSColor *shadowColor, *startingColor, *endingColor, *solidColor;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTexturedSlider.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTexturedSlider.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTexturedSlider.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,25 @@
+//
+//  BWTexturedSlider.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTexturedSlider : NSSlider
+{
+	int trackHeight, indicatorIndex;
+	NSRect sliderCellRect;
+	NSButton *minButton, *maxButton;
+}
+
+ at property int indicatorIndex;
+ at property (retain) NSButton *minButton;
+ at property (retain) NSButton *maxButton;
+
+- (int)trackHeight;
+- (void)setTrackHeight:(int)newTrackHeight;
+
+ at end


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTexturedSlider.h
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTexturedSliderCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTexturedSliderCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTexturedSliderCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,19 @@
+//
+//  BWTexturedSliderCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTexturedSliderCell : NSSliderCell 
+{
+	BOOL isPressed;
+	int trackHeight;
+}
+
+ at property int trackHeight;
+
+ at end


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTexturedSliderCell.h
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTokenAttachmentCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTokenAttachmentCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTokenAttachmentCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,17 @@
+//
+//  BWTokenAttachmentCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+#import "NSTokenAttachmentCell.h"
+
+ at interface BWTokenAttachmentCell : NSTokenAttachmentCell 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTokenField.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTokenField.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTokenField.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTokenField.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTokenField : NSTokenField 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTokenFieldCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTokenFieldCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTokenFieldCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTokenFieldCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTokenFieldCell : NSTokenFieldCell 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWToolbarItem.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWToolbarItem.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWToolbarItem.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWToolbarItem.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWToolbarItem : NSToolbarItem 
+{
+	NSString *identifierString;
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWToolbarShowColorsItem.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWToolbarShowColorsItem.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWToolbarShowColorsItem.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWToolbarShowColorsItem.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWToolbarShowColorsItem : NSToolbarItem 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWToolbarShowFontsItem.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWToolbarShowFontsItem.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWToolbarShowFontsItem.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWToolbarShowFontsItem.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWToolbarShowFontsItem :  NSToolbarItem 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWToolkitFramework.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWToolkitFramework.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWToolkitFramework.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,47 @@
+//
+//  BWToolkitFramework.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+//  This is a convenience header for importing the BWToolkit framework into your classes. 
+
+#import "BWAnchoredButton.h"
+#import "BWAnchoredButtonBar.h"
+#import "BWAnchoredButtonCell.h"
+#import "BWAnchoredPopUpButton.h"
+#import "BWAnchoredPopUpButtonCell.h"
+#import "BWGradientBox.h"
+#import "BWHyperlinkButton.h"
+#import "BWHyperlinkButtonCell.h"
+#import "BWInsetTextField.h"
+#import "BWSelectableToolbar.h"
+#import "BWSheetController.h"
+#import "BWSplitView.h"
+#import "BWStyledTextField.h"
+#import "BWStyledTextFieldCell.h"
+#import "BWTexturedSlider.h"
+#import "BWTexturedSliderCell.h"
+#import "BWTokenAttachmentCell.h"
+#import "BWTokenField.h"
+#import "BWTokenFieldCell.h"
+#import "BWToolbarItem.h"
+#import "BWToolbarShowColorsItem.h"
+#import "BWToolbarShowFontsItem.h"
+#import "BWTransparentButton.h"
+#import "BWTransparentButtonCell.h"
+#import "BWTransparentCheckbox.h"
+#import "BWTransparentCheckboxCell.h"
+#import "BWTransparentPopUpButton.h"
+#import "BWTransparentPopUpButtonCell.h"
+#import "BWTransparentScroller.h"
+#import "BWTransparentScrollView.h"
+#import "BWTransparentSlider.h"
+#import "BWTransparentSliderCell.h"
+#import "BWTransparentTableView.h"
+#import "BWTransparentTableViewCell.h"
+#import "BWTransparentTextFieldCell.h"
+#import "BWUnanchoredButton.h"
+#import "BWUnanchoredButtonCell.h"

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentButton.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentButton.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentButton.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentButton.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentButton : NSButton 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentButtonCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentButtonCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentButtonCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,17 @@
+//
+//  BWTransparentButtonCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+#import "BWTransparentButton.h"
+
+ at interface BWTransparentButtonCell : NSButtonCell 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentCheckbox.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentCheckbox.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentCheckbox.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentCheckbox.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentCheckbox : NSButton 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentCheckboxCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentCheckboxCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentCheckboxCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,17 @@
+//
+//  BWTransparentCheckboxCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+#import "BWTransparentCheckbox.h"
+
+ at interface BWTransparentCheckboxCell : NSButtonCell 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentPopUpButton.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentPopUpButton.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentPopUpButton.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentPopUpButton.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentPopUpButton : NSPopUpButton 
+{
+	
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentPopUpButtonCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentPopUpButtonCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentPopUpButtonCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentPopUpButtonCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentPopUpButtonCell : NSPopUpButtonCell 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentScrollView.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentScrollView.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentScrollView.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentScrollView.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentScrollView : NSScrollView 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentScroller.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentScroller.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentScroller.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentScroller.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentScroller : NSScroller 
+{
+	BOOL isVertical;
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentSlider.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentSlider.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentSlider.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentSlider.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentSlider : NSSlider 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentSliderCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentSliderCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentSliderCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentSliderCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentSliderCell : NSSliderCell 
+{
+	BOOL isPressed;
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentTableView.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentTableView.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentTableView.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentTableView.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentTableView : NSTableView 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentTableViewCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentTableViewCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentTableViewCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentTableViewCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentTableViewCell : NSTextFieldCell 
+{
+	BOOL mIsEditingOrSelecting;
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentTextFieldCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentTextFieldCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWTransparentTextFieldCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentTextFieldCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentTextFieldCell : NSTextFieldCell 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWUnanchoredButton.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWUnanchoredButton.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWUnanchoredButton.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWUnanchoredButton.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWUnanchoredButton : NSButton 
+{
+	NSPoint topAndLeftInset;
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWUnanchoredButtonCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWUnanchoredButtonCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/BWUnanchoredButtonCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,17 @@
+//
+//  BWUnanchoredButtonCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+#import "BWAnchoredButtonCell.h"
+
+ at interface BWUnanchoredButtonCell : BWAnchoredButtonCell 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSApplication+BWAdditions.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSApplication+BWAdditions.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSApplication+BWAdditions.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,15 @@
+//
+//  NSApplication+BWAdditions.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface NSApplication (BWAdditions) 
+
++ (BOOL)isOnLeopard;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSColor+BWAdditions.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSColor+BWAdditions.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSColor+BWAdditions.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  NSColor+BWAdditions.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface NSColor (BWAdditions)
+
+//  Use this method to draw 1 px wide lines independent of scale factor. Handy for resolution independent drawing. Still needs some work - there are issues with drawing at the edges of views.
+- (void)drawPixelThickLineAtPosition:(int)posInPixels withInset:(int)insetInPixels inRect:(NSRect)aRect inView:(NSView *)view horizontal:(BOOL)isHorizontal flip:(BOOL)shouldFlip;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSImage+BWAdditions.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSImage+BWAdditions.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSImage+BWAdditions.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,19 @@
+//
+//  NSImage+BWAdditions.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface NSImage (BWAdditions)
+
+// Draw a solid color over an image - taking into account alpha. Useful for coloring template images.
+- (NSImage *)tintedImageWithColor:(NSColor *)tint;
+
+// Rotate an image 90 degrees clockwise or counterclockwise
+- (NSImage *)rotateImage90DegreesClockwise:(BOOL)clockwise;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSTokenAttachment.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSTokenAttachment.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSTokenAttachment.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,22 @@
+/*
+ *     Generated by class-dump 3.1.2.
+ *
+ *     class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2007 by Steve Nygard.
+ */
+
+#import <Cocoa/Cocoa.h>
+
+ at interface NSTokenAttachment : NSTextAttachment
+{
+    id _delegate;
+}
+
+- (id)initWithDelegate:(id)fp8;
+- (void)encodeWithCoder:(id)fp8;
+- (id)initWithCoder:(id)fp8;
+- (id)attachmentCell;
+- (id)delegate;
+- (void)setDelegate:(id)fp8;
+
+ at end
+

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSTokenAttachmentCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSTokenAttachmentCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSTokenAttachmentCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,52 @@
+/*
+ *     Generated by class-dump 3.1.2.
+ *
+ *     class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2007 by Steve Nygard.
+ */
+
+#import <Cocoa/Cocoa.h>
+
+ at interface NSTokenAttachmentCell : NSTextAttachmentCell
+{
+    id _representedObject;
+    id _textColor;
+    id _reserved;
+    struct {
+        unsigned int _selected:1;
+        unsigned int _edgeStyle:2;
+        unsigned int _reserved:29;
+    } _tacFlags;
+}
+
++ (void)initialize;
+- (id)initTextCell:(id)fp8;
+- (id)init;
+- (void)dealloc;
+- (id)representedObject;
+- (void)setRepresentedObject:(id)fp8;
+- (int)interiorBackgroundStyle;
+- (BOOL)_hasMenu;
+- (id)tokenForegroundColor;
+- (id)tokenBackgroundColor;
+- (id)textColor;
+- (void)setTextColor:(id)fp8;
+- (id)pullDownImage;
+- (id)menu;
+- (NSSize)cellSizeForBounds:(NSRect)fp8;
+- (NSSize)cellSize;
+- (NSRect)drawingRectForBounds:(NSRect)fp8;
+- (NSRect)titleRectForBounds:(NSRect)fp8;
+- (NSRect)cellFrameForTextContainer:(id)fp8 proposedLineFragment:(NSRect)fp12 glyphPosition:(NSPoint)fp28 characterIndex:(unsigned int)fp36;
+- (NSPoint)cellBaselineOffset;
+- (NSRect)pullDownRectForBounds:(NSRect)fp8;
+- (void)drawTokenWithFrame:(NSRect)fp8 inView:(id)fp24;
+- (void)drawInteriorWithFrame:(NSRect)fp8 inView:(id)fp24;
+- (void)drawWithFrame:(NSRect)fp8 inView:(id)fp24;
+- (void)drawWithFrame:(NSRect)fp8 inView:(id)fp24 characterIndex:(unsigned int)fp28 layoutManager:(id)fp32;
+- (void)encodeWithCoder:(id)fp8;
+- (id)initWithCoder:(id)fp8;
+- (BOOL)wantsToTrackMouseForEvent:(id)fp8 inRect:(NSRect)fp12 ofView:(id)fp28 atCharacterIndex:(unsigned int)fp32;
+- (BOOL)trackMouse:(id)fp8 inRect:(NSRect)fp12 ofView:(id)fp28 atCharacterIndex:(unsigned int)fp32 untilMouseUp:(BOOL)fp36;
+
+ at end
+

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSView+BWAdditions.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSView+BWAdditions.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSView+BWAdditions.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,15 @@
+//
+//  NSView+BWAdditions.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface NSView (BWAdditions)
+
+- (void)bringToFront;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSWindow+BWAdditions.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSWindow+BWAdditions.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Headers/NSWindow+BWAdditions.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  NSWindow+BWAdditions.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface NSWindow (BWAdditions)
+
+- (void)resizeToSize:(NSSize)newSize animate:(BOOL)animateFlag;
+- (BOOL)isTextured;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/ButtonBarPullDownArrow.pdf
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/ButtonBarPullDownArrow.pdf	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/ButtonBarPullDownArrow.pdf	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,179 @@
+%PDF-1.7
+%âãÏÓ
+1 0 obj
+<</Metadata 12 0 R/Pages 2 0 R/Type/Catalog>>
+endobj
+12 0 obj
+<</Subtype/XML/Length 6522/Type/Metadata>>stream
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.1-c036 46.276720, Mon Feb 19 2007 22:13:43        ">
+   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+      <rdf:Description rdf:about=""
+            xmlns:dc="http://purl.org/dc/elements/1.1/">
+         <dc:format>application/pdf</dc:format>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:xap="http://ns.adobe.com/xap/1.0/"
+            xmlns:xapGImg="http://ns.adobe.com/xap/1.0/g/img/">
+         <xap:CreatorTool> Adobe Photoshop CS3 Macintosh</xap:CreatorTool>
+         <xap:CreateDate>2008-06-14T20:29:08-04:00</xap:CreateDate>
+         <xap:ModifyDate>2008-06-14T20:29:31-04:00</xap:ModifyDate>
+         <xap:MetadataDate>2008-06-14T20:29:31-04:00</xap:MetadataDate>
+         <xap:Thumbnails>
+            <rdf:Alt>
+               <rdf:li rdf:parseType="Resource">
+                  <xapGImg:format>JPEG</xapGImg:format>
+                  <xapGImg:height>3</xapGImg:height>
+                  <xapGImg:width>5</xapGImg:width>
+                  <xapGImg:image>/9j/4AAQSkZJRgABAgAASABIAAD/7QAMQWRvYmVfQ00AAf/uAA5BZG9iZQBkgAAAAAH/2wCEAAwI&#xA;CAgJCAwJCQwRCwoLERUPDAwPFRgTExUTExgRDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM&#xA;DAwMDAwBDQsLDQ4NEA4OEBQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwRDAwMDAwMDAwMDAwMDAwM&#xA;DAwMDAwMDAwMDAwMDP/AABEIAAMABQMBIgACEQEDEQH/3QAEAAH/xAE/AAABBQEBAQEBAQAAAAAA&#xA;AAADAAECBAUGBwgJCgsBAAEFAQEBAQEBAAAAAAAAAAEAAgMEBQYHCAkKCxAAAQQBAwIEAgUHBggF&#xA;AwwzAQACEQMEIRIxBUFRYRMicYEyBhSRobFCIyQVUsFiMzRygtFDByWSU/Dh8WNzNRaisoMmRJNU&#xA;ZEXCo3Q2F9JV4mXys4TD03Xj80YnlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vY3R1dnd4eXp7fH&#xA;1+f3EQACAgECBAQDBAUGBwcGBTUBAAIRAyExEgRBUWFxIhMFMoGRFKGxQiPBUtHwMyRi4XKCkkNT&#xA;FWNzNPElBhaisoMHJjXC0kSTVKMXZEVVNnRl4vKzhMPTdePzRpSkhbSVxNTk9KW1xdXl9VZmdoaW&#xA;prbG1ub2JzdHV2d3h5ent8f/2gAMAwEAAhEDEQA/AMyv7J+2b4/YW79s0z/Sdm708jbz7Ps3qb/5&#xA;v9X+2/zv6r6KS89SSU//2Q==</xapGImg:image>
+               </rdf:li>
+            </rdf:Alt>
+         </xap:Thumbnails>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:xapMM="http://ns.adobe.com/xap/1.0/mm/"
+            xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#">
+         <xapMM:DocumentID>uuid:3233F5DEE23BDD1188A5F807AAD5B5AB</xapMM:DocumentID>
+         <xapMM:InstanceID>uuid:d364bcf4-ecbc-9348-b5a9-7f85a6b611f5</xapMM:InstanceID>
+         <xapMM:DerivedFrom rdf:parseType="Resource">
+            <stRef:instanceID>uuid:72448EAFE13BDD1188A5F807AAD5B5AB</stRef:instanceID>
+            <stRef:documentID>uuid:72448EAFE13BDD1188A5F807AAD5B5AB</stRef:documentID>
+         </xapMM:DerivedFrom>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:tiff="http://ns.adobe.com/tiff/1.0/">
+         <tiff:Orientation>1</tiff:Orientation>
+         <tiff:XResolution>720000/10000</tiff:XResolution>
+         <tiff:YResolution>720000/10000</tiff:YResolution>
+         <tiff:ResolutionUnit>2</tiff:ResolutionUnit>
+         <tiff:NativeDigest>256,257,258,259,262,274,277,284,530,531,282,283,296,301,318,319,529,532,306,270,271,272,305,315,33432;5F3E335AFF780C9D7CD7E1ADA05DBE38</tiff:NativeDigest>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:exif="http://ns.adobe.com/exif/1.0/">
+         <exif:PixelXDimension>5</exif:PixelXDimension>
+         <exif:PixelYDimension>3</exif:PixelYDimension>
+         <exif:ColorSpace>1</exif:ColorSpace>
+         <exif:NativeDigest>36864,40960,40961,37121,37122,40962,40963,37510,40964,36867,36868,33434,33437,34850,34852,34855,34856,37377,37378,37379,37380,37381,37382,37383,37384,37385,37386,37396,41483,41484,41486,41487,41488,41492,41493,41495,41728,41729,41730,41985,41986,41987,41988,41989,41990,41991,41992,41993,41994,41995,41996,42016,0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,22,23,24,25,26,27,28,30;DECD3C4701D62E29B6EB81157F585A9F</exif:NativeDigest>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/">
+         <photoshop:History/>
+         <photoshop:ColorMode>3</photoshop:ColorMode>
+         <photoshop:ICCProfile>sRGB IEC61966-2.1</photoshop:ICCProfile>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
+         <pdf:Producer>Adobe Photoshop for Macintosh</pdf:Producer>
+      </rdf:Description>
+   </rdf:RDF>
+</x:xmpmeta>
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                           
+<?xpacket end="w"?>
+endstream
+endobj
+2 0 obj
+<</Count 1/Type/Pages/Kids[5 0 R]>>
+endobj
+5 0 obj
+<</Parent 2 0 R/Contents 7 0 R/ArtBox[0.0 0.0 5.0 3.0]/MediaBox[0.0 0.0 5.0 3.0]/Resources 8 0 R/Type/Page>>
+endobj
+7 0 obj
+<</Length 132>>stream
+q
+q
+5 0 0 3 0 0 cm
+q
+0.5000026 -0.0002287 m
+0.0000771 1.0002303 l
+0.9999280 1.0002303 l
+0.5000026 -0.0002287 l
+h
+W
+n
+/Im0 Do
+Q
+
+Q
+Q
+
+endstream
+endobj
+8 0 obj
+<</XObject<</Im0 6 0 R>>/ColorSpace<</DefaultRGB 10 0 R>>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/ExtGState<</GS1<</op true>>>>>>
+endobj
+10 0 obj
+[/ICCBased 9 0 R]
+endobj
+9 0 obj
+<</Length 2575/Filter/FlateDecode/N 3>>stream
+H‰œ–yTSwÇoÉž•°Ãc
+[€°5,	‹ì ˆBHBK!aPªVÊX·Ñ=uº¸Žµ:X÷©KÔè£ãÐZ\;v^àõ´™N¿üÞçÜß½÷ý~÷Þw΀.MÑh«a+SAßè:ü
+½ó>Sº7åÁâT¥rc¥3ÕMQ]YmÔcµ:¹B…	:Ä¿9ð—Ïᝩ*UéUZ<"Ÿ2V·[«Ô4ÕZL£ýOMüa?Ñü\ã⎽¼"ÀºÈÈ?.+£¾n~ÏôY &à+`œ;ÂA4ˆI 
+dƒ|°(@¨zPZ@;è=`=؆Áv0vƒýà ƒàÏà<ø\·À$˜Áx
+^AD‚²‚ WÈò‡ÄP$¥@™P>T©!-d„Z PÔ
+C; ÝС£Ð	èt	ú
+š‚@ßA/a¦Ã<Øvƒ}a1'ÃÙðX
+×ÀMp'¼‚Gá}ðaø|¾OÂáY 4„8"BDŒH4¤+î
+î÷wšGä	x2^9¯‡÷{ÞoÆœchžkÞ`>bþ‰ù$á»ñeüJ~ÿ ÿ:ÿ¥…EŒ…ÊbÅ~‹ËÏ,m,£-U–Ý–,¯Y¾´Â¬â­*¬6X[ݱF­=­3¬ë­·YŸ±~dó	·QØtÛ´¹iÛzÚfÚ6Û~`{ÁvÖÎÞ.ÑNg·Åî”Ý#{¾}´}¹ý€ý§ö¸‘‡‡ÏþŽ™c1X%6„Æfm¥ŽFÇŽŽ¯œN9NNœî8SÅÎ¥ÎÎ'g\\R]Z\öºÜt¥¸Š]Ë\7»žu}æ&pËs[å6îv_`)	š{·ÝîQî5î£îW=ˆb
+­_zžAžež#ž½`¯`/×V¯KÞïPo­÷¨÷
+!]#¬îNùð}R|:|Æ}ûºøønð=ëûÚ/ȯÒoÌï–ˆ#JuˆŽ‰¾ó÷ôWøø_
+`$´	ø6Ð+P¸-ð¯AÜ Ô UA'ƒþ¬Þü Ä%¤8佐bž8]Ü+þ<”Úúqè‹°à0CØÁ°†Ã+Â÷„ß_ X Z0¶àn„S„<bGÄd$Yù~äd”c”<j4ê›hçheôÎè{11å1ûbÇúÅêc?Š}&	“,“Câãºã&â9ñ9ñÃñ_'8%¨ö&Ì$%6'—¤ÉÒ
+Ò2;™B¶[6“’´,ét2=9+y8ù›Ï}ʱT85)ucêí…®µÇÓ@š,mcڝtAzMúŸ2ˆé#Ëe¶džÍâfeíÉzš›Ý—}+Ç=ǘs2—™[˜»;÷Y^\^Þä"ßE˝ϷÎ×ä) äì,˜]¿xÓâé ®ÂëKK–œ[j½´ré'EÌ"yÑ¡bBq^ñžâäiòQùl‰¬ä½’…D±YñP­P>PE¨úU÷J#JûKï«#ÔÕÊ¢ÊËi$šaÍ·åÒòíåÏ*Ò*>¬ø±2¯ò@¹ª¸ê¨–£­Ðž®¶¯n¨¾¤óÒué&kÂj6ÕÌè“õ;k¡Ú%µG<ügê‚ÑݸÒ8UY7R÷¼>·þP»AÛp¡Ñ³qM㽦„¦ß5£ÍŠæ“-Ž-í-SËb–íh…ZKZO¶9·u¶M/O\¾«Ú^Ñþ—¿ŽþŽïWä­8Öi×¹¼óîÊÄ•{»Ìºô]7V…¯Ú¾]­Y=±&`Í–5¯»•Ý_ôøõöüЫèýb­híÐÚו®›èîÛ¶ž¸^»þú†¨
+»úÙýMýw7¦n<<€
+t|¿©hÓ¹ÁÀÁ훩››'‡þ
+¥ZþL˜¸™$™™üšhšÕ›B›¯œœ‰œ÷dÒž@ž®ŸŸ‹Ÿú i Ø¡G¡¶¢&¢–££v£æ¤V¤Ç¥8¥©¦¦‹¦ý§n§à¨R¨Ä©7©©ªª««u«é¬\¬Ð­D­¸®-®¡¯¯‹°+¾„¾ÿ¿z¿õÀpÀìÁgÁãÂ_ÂÛÃXÃÔÄQÄÎÅKÅÈÆFÆÃÇAÇ¿È=ȼÉ:ɹÊ8Ê·Ë6˶Ì5̵Í5͵Î6ζÏ7ϸÐ9кÑ<ѾÒ?ÒÁÓDÓÆÔIÔËÕNÕÑÖUÖØ×\×àØdØèÙlÙñÚvÚûÛ€ÜÜŠÝÝ–ÞÞ¢!
 ß)߯à6à½áDáÌâSâÛãcãëäsäüå„æ
+æ–çç©è2è¼éFéÐê[êåëpëûì†ííœî(î´ï@ïÌðXðåñrñÿòŒóó§ô4ôÂõPõÞömöû÷Šøø¨ù8ùÇúWúçûwüü˜ý)ýºþKþÜÿmÿÿ++0000000016 00000 n
+0000006676 00000 n
+0000000004 00001 f
+0000000000 00000 f
+0000006727 00000 n
+0000009859 00000 n
+0000006851 00000 n
+0000007032 00000 n
+0000007211 00000 n
+0000007177 00000 n
+0000010121 00000 n
+0000000077 00000 n
+trailer
+<</Size 13/Root 1 0 R/Info 11 0 R/ID[<B43EBA858A174E2EBD48C987E9650595><10B89CB6AA9C4EF8AF41B07220157CA1>]>>
+startxref
+10293
+%%EOF
Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/GradientSplitViewDimpleBitmap.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/GradientSplitViewDimpleBitmap.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/GradientSplitViewDimpleVector.pdf
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/GradientSplitViewDimpleVector.pdf	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/GradientSplitViewDimpleVector.pdf	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,180 @@
+%PDF-1.7
+%âãÏÓ
+1 0 obj
+<</Metadata 12 0 R/Pages 2 0 R/Type/Catalog>>
+endobj
+12 0 obj
+<</Subtype/XML/Length 6566/Type/Metadata>>stream
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.1-c036 46.276720, Mon Feb 19 2007 22:13:43        ">
+   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+      <rdf:Description rdf:about=""
+            xmlns:dc="http://purl.org/dc/elements/1.1/">
+         <dc:format>application/pdf</dc:format>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:xap="http://ns.adobe.com/xap/1.0/"
+            xmlns:xapGImg="http://ns.adobe.com/xap/1.0/g/img/">
+         <xap:CreatorTool> Adobe Photoshop CS3 Macintosh</xap:CreatorTool>
+         <xap:CreateDate>2008-02-16T21:30:46-05:00</xap:CreateDate>
+         <xap:ModifyDate>2008-02-16T21:30:59-05:00</xap:ModifyDate>
+         <xap:MetadataDate>2008-02-16T21:30:59-05:00</xap:MetadataDate>
+         <xap:Thumbnails>
+            <rdf:Alt>
+               <rdf:li rdf:parseType="Resource">
+                  <xapGImg:format>JPEG</xapGImg:format>
+                  <xapGImg:height>16</xapGImg:height>
+                  <xapGImg:width>16</xapGImg:width>
+                  <xapGImg:image>/9j/4AAQSkZJRgABAgAASABIAAD/7QAMQWRvYmVfQ00AAf/uAA5BZG9iZQBkgAAAAAH/2wCEAAwI&#xA;CAgJCAwJCQwRCwoLERUPDAwPFRgTExUTExgRDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM&#xA;DAwMDAwBDQsLDQ4NEA4OEBQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwRDAwMDAwMDAwMDAwMDAwM&#xA;DAwMDAwMDAwMDAwMDP/AABEIABAAEAMBIgACEQEDEQH/3QAEAAH/xAE/AAABBQEBAQEBAQAAAAAA&#xA;AAADAAECBAUGBwgJCgsBAAEFAQEBAQEBAAAAAAAAAAEAAgMEBQYHCAkKCxAAAQQBAwIEAgUHBggF&#xA;AwwzAQACEQMEIRIxBUFRYRMicYEyBhSRobFCIyQVUsFiMzRygtFDByWSU/Dh8WNzNRaisoMmRJNU&#xA;ZEXCo3Q2F9JV4mXys4TD03Xj80YnlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vY3R1dnd4eXp7fH&#xA;1+f3EQACAgECBAQDBAUGBwcGBTUBAAIRAyExEgRBUWFxIhMFMoGRFKGxQiPBUtHwMyRi4XKCkkNT&#xA;FWNzNPElBhaisoMHJjXC0kSTVKMXZEVVNnRl4vKzhMPTdePzRpSkhbSVxNTk9KW1xdXl9VZmdoaW&#xA;prbG1ub2JzdHV2d3h5ent8f/2gAMAwEAAhEDEQA/AOpzLsjqlznPeRjgkV1DQR+8795zksO7J6Xc&#xA;xzHk45IFlR1EfvN/dc1XLcN+FY5rmn0STseOI8ClVhvzbGta0+kCC954jwCSn//Z</xapGImg:image>
+               </rdf:li>
+            </rdf:Alt>
+         </xap:Thumbnails>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:xapMM="http://ns.adobe.com/xap/1.0/mm/"
+            xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#">
+         <xapMM:DocumentID>uuid:7750097D68DEDC11BB92BDC6FD4C7FBA</xapMM:DocumentID>
+         <xapMM:InstanceID>uuid:d55aa6fe-4f87-9045-bedc-eced5d1cc5dd</xapMM:InstanceID>
+         <xapMM:DerivedFrom rdf:parseType="Resource">
+            <stRef:instanceID>uuid:7650097D68DEDC11BB92BDC6FD4C7FBA</stRef:instanceID>
+            <stRef:documentID>uuid:7650097D68DEDC11BB92BDC6FD4C7FBA</stRef:documentID>
+         </xapMM:DerivedFrom>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:tiff="http://ns.adobe.com/tiff/1.0/">
+         <tiff:Orientation>1</tiff:Orientation>
+         <tiff:XResolution>720000/10000</tiff:XResolution>
+         <tiff:YResolution>720000/10000</tiff:YResolution>
+         <tiff:ResolutionUnit>2</tiff:ResolutionUnit>
+         <tiff:NativeDigest>256,257,258,259,262,274,277,284,530,531,282,283,296,301,318,319,529,532,306,270,271,272,305,315,33432;6484DE694EED10FCB1360A97BFC32F0A</tiff:NativeDigest>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:exif="http://ns.adobe.com/exif/1.0/">
+         <exif:PixelXDimension>16</exif:PixelXDimension>
+         <exif:PixelYDimension>16</exif:PixelYDimension>
+         <exif:ColorSpace>1</exif:ColorSpace>
+         <exif:NativeDigest>36864,40960,40961,37121,37122,40962,40963,37510,40964,36867,36868,33434,33437,34850,34852,34855,34856,37377,37378,37379,37380,37381,37382,37383,37384,37385,37386,37396,41483,41484,41486,41487,41488,41492,41493,41495,41728,41729,41730,41985,41986,41987,41988,41989,41990,41991,41992,41993,41994,41995,41996,42016,0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,22,23,24,25,26,27,28,30;26EC271C894309D0BBA2E3379EE65237</exif:NativeDigest>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/">
+         <photoshop:History/>
+         <photoshop:ColorMode>3</photoshop:ColorMode>
+         <photoshop:ICCProfile>sRGB IEC61966-2.1</photoshop:ICCProfile>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
+         <pdf:Producer>Adobe Photoshop for Macintosh</pdf:Producer>
+      </rdf:Description>
+   </rdf:RDF>
+</x:xmpmeta>
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                           
+<?xpacket end="w"?>
+endstream
+endobj
+2 0 obj
+<</Count 1/Type/Pages/Kids[5 0 R]>>
+endobj
+5 0 obj
+<</Parent 2 0 R/Contents 7 0 R/ArtBox[0.0 0.0 16.0 16.0]/MediaBox[0.0 0.0 16.0 16.0]/Resources 8 0 R/Type/Page>>
+endobj
+7 0 obj
+<</Length 321>>stream
+q
+q
+16 0 0 16 0 0 cm
+q
+0.4999998 1.0000093 m
+0.7761371 1.0000093 1.0000090 0.7761374 1.0000090 0.5000001 c
+1.0000090 0.2238628 0.7761371 -0.0000091 0.4999998 -0.0000091 c
+0.2238625 -0.0000091 -0.0000094 0.2238628 -0.0000094 0.5000001 c
+-0.0000094 0.7761374 0.2238625 1.0000093 0.4999998 1.0000093 c
+h
+W*
+n
+/Im0 Do
+Q
+
+Q
+Q
+
+endstream
+endobj
+8 0 obj
+<</XObject<</Im0 6 0 R>>/ColorSpace<</DefaultRGB 10 0 R>>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/ExtGState<</GS1<</op true>>>>>>
+endobj
+10 0 obj
+[/ICCBased 9 0 R]
+endobj
+9 0 obj
+<</Length 2575/Filter/FlateDecode/N 3>>stream
+H‰œ–yTSwÇoÉž•°Ãc
+[€°5,	‹ì ˆBHBK!aPªVÊX·Ñ=uº¸Žµ:X÷©KÔè£ãÐZ\;v^àõ´™N¿üÞçÜß½÷ý~÷Þw΀.MÑh«a+SAßè:ü
+½ó>Sº7åÁâT¥rc¥3ÕMQ]YmÔcµ:¹B…	:Ä¿9ð—Ïᝩ*UéUZ<"Ÿ2V·[«Ô4ÕZL£ýOMüa?Ñü\ã⎽¼"ÀºÈÈ?.+£¾n~ÏôY &à+`œ;ÂA4ˆI 
+dƒ|°(@¨zPZ@;è=`=؆Áv0vƒýà ƒàÏà<ø\·À$˜Áx
+^AD‚²‚ WÈò‡ÄP$¥@™P>T©!-d„Z PÔ
+C; ÝС£Ð	èt	ú
+š‚@ßA/a¦Ã<Øvƒ}a1'ÃÙðX
+×ÀMp'¼‚Gá}ðaø|¾OÂáY 4„8"BDŒH4¤+î
+î÷wšGä	x2^9¯‡÷{ÞoÆœchžkÞ`>bþ‰ù$á»ñeüJ~ÿ ÿ:ÿ¥…EŒ…ÊbÅ~‹ËÏ,m,£-U–Ý–,¯Y¾´Â¬â­*¬6X[ݱF­=­3¬ë­·YŸ±~dó	·QØtÛ´¹iÛzÚfÚ6Û~`{ÁvÖÎÞ.ÑNg·Åî”Ý#{¾}´}¹ý€ý§ö¸‘‡‡ÏþŽ™c1X%6„Æfm¥ŽFÇŽŽ¯œN9NNœî8SÅÎ¥ÎÎ'g\\R]Z\öºÜt¥¸Š]Ë\7»žu}æ&pËs[å6îv_`)	š{·ÝîQî5î£îW=ˆb
+­_zžAžež#ž½`¯`/×V¯KÞïPo­÷¨÷
+!]#¬îNùð}R|:|Æ}ûºøønð=ëûÚ/ȯÒoÌï–ˆ#JuˆŽ‰¾ó÷ôWøø_
+`$´	ø6Ð+P¸-ð¯AÜ Ô UA'ƒþ¬Þü Ä%¤8佐bž8]Ü+þ<”Úúqè‹°à0CØÁ°†Ã+Â÷„ß_ X Z0¶àn„S„<bGÄd$Yù~äd”c”<j4ê›hçheôÎè{11å1ûbÇúÅêc?Š}&	“,“Câãºã&â9ñ9ñÃñ_'8%¨ö&Ì$%6'—¤ÉÒ
+Ò2;™B¶[6“’´,ét2=9+y8ù›Ï}ʱT85)ucêí…®µÇÓ@š,mcڝtAzMúŸ2ˆé#Ëe¶džÍâfeíÉzš›Ý—}+Ç=ǘs2—™[˜»;÷Y^\^Þä"ßE˝ϷÎ×ä) äì,˜]¿xÓâé ®ÂëKK–œ[j½´ré'EÌ"yÑ¡bBq^ñžâäiòQùl‰¬ä½’…D±YñP­P>PE¨úU÷J#JûKï«#ÔÕÊ¢ÊËi$šaÍ·åÒòíåÏ*Ò*>¬ø±2¯ò@¹ª¸ê¨–£­Ðž®¶¯n¨¾¤óÒué&kÂj6ÕÌè“õ;k¡Ú%µG<ügê‚ÑݸÒ8UY7R÷¼>·þP»AÛp¡Ñ³qM㽦„¦ß5£ÍŠæ“-Ž-í-SËb–íh…ZKZO¶9·u¶M/O\¾«Ú^Ñþ—¿ŽþŽïWä­8Öi×¹¼óîÊÄ•{»Ìºô]7V…¯Ú¾]­Y=±&`Í–5¯»•Ý_ôøõöüЫèýb­híÐÚו®›èîÛ¶ž¸^»þú†¨
+»úÙýMýw7¦n<<€
+t|¿©hÓ¹ÁÀÁ훩››'‡þ
+¥ZþL˜¸™$™™üšhšÕ›B›¯œœ‰œ÷dÒž@ž®ŸŸ‹Ÿú i Ø¡G¡¶¢&¢–££v£æ¤V¤Ç¥8¥©¦¦‹¦ý§n§à¨R¨Ä©7©©ªª««u«é¬\¬Ð­D­¸®-®¡¯¯‹°+¾„¾ÿ¿z¿õÀpÀìÁgÁãÂ_ÂÛÃXÃÔÄQÄÎÅKÅÈÆFÆÃÇAÇ¿È=ȼÉ:ɹÊ8Ê·Ë6˶Ì5̵Í5͵Î6ζÏ7ϸÐ9кÑ<ѾÒ?ÒÁÓDÓÆÔIÔËÕNÕÑÖUÖØ×\×àØdØèÙlÙñÚvÚûÛ€ÜÜŠÝÝ–ÞÞ¢!
 ß)߯à6à½áDáÌâSâÛãcãëäsäüå„æ
+æ–çç©è2è¼éFéÐê[êåëpëûì†ííœî(î´ï@ïÌðXðåñrñÿòŒóó§ô4ôÂõPõÞömöû÷Šøø¨ù8ùÇúWúçûwüü˜ý)ýºþKþÜÿmÿÿ+rrruuuyyy~~~‚‚‚†††‰‰‰ŠŠŠŠŠŠ‰‰‰†††‚‚‚~~~yyyuuurrrwww|||‚‚‚ˆˆˆŽŽŽ“““–––˜˜˜˜˜˜–––“““ŽŽŽˆˆˆ‚‚‚|||www}}}„„„ŒŒŒ“““ššš   ¤¤¤¦¦¦¦¦¦¤¤¤   ššš“““ŒŒŒ„„„}}}„„„ŒŒŒ–––žžž¦¦¦«««¯¯¯±±±±±±¯¯¯«««¦¦¦žžž–––ŒŒŒ„„„‹‹‹–––   ©©©±±±···ººº»»»»»»ººº···±±±©©©   –––‹‹‹“““ŸŸŸªªª³³³ººº¿¿¿ÂÂÂÃÃÃÃÃÿ¿¿ººº³³³ªªªŸŸŸ“““ššš¦¦¦±±±ºººÁÁÁÆÆÆÈÈÈÈÈÈÈÈÈÈÈÈÅÅÅÁÁÁººº±±±¦¦¦šššŸŸŸ¬¬¬···ÀÀÀÆÆÆÊÊÊËËËÌÌÌÌÌÌËËËÊÊÊÆÆÆÀÀÀ···¬¬¬ŸŸŸ£££°°°»»»ÃÃÃÉÉÉÌÌÌÎÎÎÎÎÎÎÎÎÎÎÎÌÌÌÉÉÉÃÃúºº°°°¢¢¢¤¤¤±±±¼¼¼ÅÅÅËËËÎÎÎÐÐÐÐÐÐÐÐÐÐÐÐÎÎÎËËËÅÅż¼¼±±±¤¤¤¤¤¤±±±¼¼¼ÅÅÅÌÌÌÐÐÐÑÑÑÒÒÒÒÒÒÑÑÑÐÐÐÌÌÌÅÅż¼¼±±±¤¤¤¢¢¢®®®ºººÄÄÄËËËÐÐÐÒÒÒÒÒÒÒÒÒÒÒÒÐÐÐËËËÄÄĺºº®®®¡¡¡ªªª¶¶¶¿¿¿ÇÇÇÍÍÍÐÐÐÑÑÑÑÑÑÐÐÐÍÍÍÇÇÇ¿¿¿µµµªªª———£££®®®¸¸¸ÀÀÀÆÆÆÊÊÊÌÌÌÌÌÌÊÊÊÆÆÆÀÀÀ¸¸¸®®®£££———’’’œœœ¦¦¦¯¯¯¸¸¸¾¾¾ÂÂÂÄÄÄÄÄľ¾¾¸¸¸¯¯¯¦¦¦œœœ’’’ŒŒŒ”””¥¥¥­­­´´´¸¸¸»»»»»»¸¸¸´´´­­­¥¥¥”””ŒŒŒ
+endstream
+endobj
+11 0 obj
+<</CreationDate(D:20080216213046-05'00')/Creator( Adobe Photosh!
 op CS3 Macintosh)/Producer(Adobe Photoshop for Macintosh)/ModDate(D:20080216213059-05'00')>>
+endobj
+xref
+0 13
+0000000003 65535 f
+0000000016 00000 n
+0000006720 00000 n
+0000000004 00001 f
+0000000000 00000 f
+0000006771 00000 n
+0000010096 00000 n
+0000006899 00000 n
+0000007269 00000 n
+0000007448 00000 n
+0000007414 00000 n
+0000011086 00000 n
+0000000077 00000 n
+trailer
+<</Size 13/Root 1 0 R/Info 11 0 R/ID[<33529D86E9434463B40618B64FD0FF75><4866DB5336014798BED9528D03CDD3B2>]>>
+startxref
+11258
+%%EOF
Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/Info.plist
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/Info.plist	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/Info.plist	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,22 @@
+<?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.2</string>
+	<key>NSPrincipalClass</key>
+	<string>BWToolkit</string>
+</dict>
+</plist>

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/Library-SheetController.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/Library-SheetController.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/License.rtf
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/License.rtf	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/License.rtf	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf430
+{\fonttbl\f0\fnil\fcharset0 Verdana;}
+{\colortbl;\red255\green255\blue255;\red73\green73\blue73;}
+{\*\listtable{\list\listtemplateid1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid0\'02\'05.;}{\levelnumbers\'01;}}{\listname ;}\listid1}}
+{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}}
+\deftab720
+\pard\pardeftab720\sl400\sa280\ql\qnatural
+
+\f0\fs24 \cf2 Copyright (c) 2009, Brandon Walkin\uc0\u8232 All rights reserved.\
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\
+\pard\tx220\tx720\pardeftab720\li720\fi-720\sl400\sa20\ql\qnatural
+\ls1\ilvl0\cf2 {\listtext	\'95	}Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\
+{\listtext	\'95	}Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\
+{\listtext	\'95	}Neither the name of the Brandon Walkin nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\
+\pard\pardeftab720\sl400\sa280\ql\qnatural
+\cf2 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.}
\ No newline at end of file

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/Release Notes.rtf
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/Release Notes.rtf	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/Release Notes.rtf	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,319 @@
+{\rtf1\ansi\ansicpg1252\cocoartf1027\cocoasubrtf100
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset0 Monaco;}
+{\colortbl;\red255\green255\blue255;\red100\green56\blue32;\red196\green26\blue22;}
+{\*\listtable{\list\listtemplateid1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid1}
+{\list\listtemplateid2\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid101\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid2}
+{\list\listtemplateid3\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid201\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid3}
+{\list\listtemplateid4\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid301\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid4}
+{\list\listtemplateid5\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid401\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid5}
+{\list\listtemplateid6\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid501\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid6}
+{\list\listtemplateid7\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid601\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid602\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid603\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li2160\lin2160 }{\listname ;}\listid7}
+{\list\listtemplateid8\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid701\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid8}
+{\list\listtemplateid9\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid801\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid9}
+{\list\listtemplateid10\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid901\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid10}
+{\list\listtemplateid11\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1001\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid11}
+{\list\listtemplateid12\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1101\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid12}
+{\list\listtemplateid13\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1201\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid13}
+{\list\listtemplateid14\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1301\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid14}
+{\list\listtemplateid15\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1401\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid15}
+{\list\listtemplateid16\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1501\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid16}
+{\list\listtemplateid17\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1601\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid17}
+{\list\listtemplateid18\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1701\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid18}
+{\list\listtemplateid19\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1801\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid19}
+{\list\listtemplateid20\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1901\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid20}
+{\list\listtemplateid21\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid2001\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid21}}
+{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}{\listoverride\listid2\listoverridecount0\ls2}{\listoverride\listid3\listoverridecount0\ls3}{\listoverride\listid4\listoverridecount0\ls4}{\listoverride\listid5\listoverridecount0\ls5}{\listoverride\listid6\listoverridecount0\ls6}{\listoverride\listid7\listoverridecount0\ls7}{\listoverride\listid8\listoverridecount0\ls8}{\listoverride\listid9\listoverridecount0\ls9}{\listoverride\listid10\listoverridecount0\ls10}{\listoverride\listid11\listoverridecount0\ls11}{\listoverride\listid12\listoverridecount0\ls12}{\listoverride\listid13\listoverridecount0\ls13}{\listoverride\listid14\listoverridecount0\ls14}{\listoverride\listid15\listoverridecount0\ls15}{\listoverride\listid16\listoverridecount0\ls16}{\listoverride\listid17\listoverridecount0\ls17}{\listoverride\listid18\listoverridecount0\ls18}{\listoverride\listid19\listoverridecount0\ls19}{\listoverride\listid20\listoverridecount0\ls20}{\listoverride\listid21\l!
 istoverridecount0\ls21}}
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\f0\b\fs54 \cf0 BWToolkit
+\fs36 \
+
+\b0 Plugin for Interface Builder 3\
+
+\b \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs30 \cf0 Version 1.2.2\
+June 28, 2009\
+Brandon Walkin\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\fs32 \cf0 \
+\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b\fs36 \cf0 Installation
+\b0\fs28 \
+\
+Step 1. Double click the BWToolkit.ibplugin file to load the plugin into Interface Builder\
+\
+Note: Interface Builder will reference this file rather than copy it to another location. Keep the .ibplugin file in a location where it won't be deleted.\
+\
+Step 2. In the Xcode project you want to use the plugin in:\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls1\ilvl0\cf0 {\listtext	\'95	}Right click the Linked Frameworks folder and click Add -> Existing Frameworks. Select the BWToolkitFramework.framework directory.\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls2\ilvl0\cf0 {\listtext	\'95	}Right click your target and click Add -> New Build Phase -> New Copy Files Build Phase. For destination, select Frameworks, leave the path field blank, and close the window.\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls3\ilvl0\cf0 {\listtext	\'95	}Drag the BWToolkit framework from Linked Frameworks to the Copy Files build phase you just added.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+Note: You'll have to repeat step 2 for each project you want to use BWToolkit in.\
+\
+If you need to reference BWToolkit objects in your classes, you can import the main header like so:\
+\
+\pard\tx560\pardeftab560\ql\qnatural\pardirnatural
+
+\f1\fs24 \cf2 \CocoaLigature0 #import \cf3 <BWToolkitFramework/BWToolkitFramework.h>
+\f0\fs28 \cf0 \CocoaLigature1 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\fs32 \cf0 \
+\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b\fs36 \cf0 License\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs28 \cf0 \
+All source code is provided under the three clause BSD license. Attribution is appreciated but by no means required.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\fs32 \cf0 \
+\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b\fs36 \cf0 Contributing\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs28 \cf0 \
+Please email any patches to me at bwalkin at gmail.com.
+\b\fs36 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs32 \cf0 \
+\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b\fs36 \cf0 Compatibility\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs28 \cf0 \
+BWToolkit has been tested to work in IB 3.1.2 (677) and IB 3.2 (732). 
+\b\fs36 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs32 \cf0 \
+\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b\fs36 \cf0 History\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs28 \cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 1.2.2 - June 28, 2009\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls4\ilvl0
+\b0 \cf0 {\listtext	\'95	}Project now builds on Leopard and Snow Leopard without any modifications necessary (thanks Kevin Hiscott)\
+{\listtext	\'95	}The "couldn't strip" warning on Leopard has been fixed\
+{\listtext	\'95	}The ibtool error when using the Styled Text Field on Leopard has been fixed
+\b \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+1.2.1 - June 18, 2009\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls5\ilvl0
+\b0 \cf0 {\listtext	\'95	}The gradient box, hyperlink button, and styled text field header files have been made public so they can be accessed from your classes.
+\b \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+1.2 - June 18, 2009\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls6\ilvl0
+\b0 \cf0 {\listtext	\'95	}New Gradient Box with customizable border and inset lines\
+{\listtext	\'95	}New Hyperlink Button that allows you to link text or images to URLs\
+{\listtext	\'95	}New Styled Text Field that allows you to apply a gradient and a shadow to your text\
+{\listtext	\'95	}Added support for Snow Leopard\
+{\listtext	\'95	}The Anchored Button Bar can now live in the right-most split view pane. Just drag the bar in there and the resize handle will move over to the left side. \
+{\listtext	\'95	}Rewrote Transparent Button and Transparent Pop-Up Button to support image alignment, text justification & truncation, and other standard cell functionality. A similar rewrite will be coming to the Anchored Button & Pop-Up Button soon.\
+{\listtext	\'95	}Fixed an issue where some cells could "take over" other objects in your interface\
+{\listtext	\'95	}Fixed an issue where some images in an Anchored Button & Pop-Up Button would draw upside-down\
+{\listtext	\'95	}Sheet controller ivars can now be accessed and modified from outside the class\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\cf0 	\'95	Fixed an issue where bottom bars would output warnings to the console\
+	\'95	Fixed some memory leaks
+\b \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+1.1 - Feb 23, 2009\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls7\ilvl0
+\b0 \cf0 {\listtext	\'95	}New BWSplitView with:\
+\pard\tx940\tx1440\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li1440\fi-1440\ql\qnatural\pardirnatural
+\ls7\ilvl1\cf0 {\listtext	\uc0\u8259 	}Customizable min and max sizes for subviews\
+{\listtext	\uc0\u8259 	}Ability to specify which subviews should and shouldn't resize through a control in the inspector (which just sets the subview's autoresizing mask)\
+{\listtext	\uc0\u8259 	}Collapsing functionality\
+\pard\tx1660\tx2160\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li2160\fi-2160\ql\qnatural\pardirnatural
+\ls7\ilvl2\cf0 {\listtext	-	}Double click divider to collapse\
+{\listtext	-	}Drag a divider past half of the subview's minimum width to collapse\
+{\listtext	-	}Animated collapse: hook a Toggle button up to the split view's toggleCollapse: action to collapse the subview configured as collapsible. The split view will synchronise its state with the button.\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls7\ilvl0\cf0 {\listtext	\'95	}Removed all split view size constraint functionality from the anchored button bar since BWSplitView handles that now\
+{\listtext	\'95	}Replaced the old colors and fonts icons with the new ones from iWork '09\
+{\listtext	\'95	}Textured slider: fixed bug where certain areas on the slider weren't clickable, zoom buttons now send an action, and fine tuned mouse scrolling behavior (courtesy of Chris Liscio)\
+{\listtext	\'95	}Selectable toolbar: fixed issue where a focus ring would stay visible on a tab change (courtesy of Duncan Wilcox)\
+{\listtext	\'95	}Can now customize the font on BWTokenField in IB\
+{\listtext	\'95	}Fixed various memory leaks\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 1.0.4 - Jan 20, 2009\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls8\ilvl0
+\b0 \cf0 {\listtext	\'95	}Added ability to programmatically disable toolbar items in the selectable toolbar\
+{\listtext	\'95	}Added a notification to the selectable toolbar that gets sent whenever a toolbar item has been clicked (see header for details)\
+{\listtext	\'95	}Added main header file for easy importing\
+{\listtext	\'95	}Fixed issue where the BWToolbarItem inspector wouldn't be updated with the item identifier
+\b \
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls9\ilvl0
+\b0 \cf0 {\listtext	\'95	}There's been an API change in BWSheetController. The delegate method now gets passed the button that initiated the sheet close. This is helpful because in the event that there are multiple buttons hooked up to the messageDelegateAndCloseSheet: method, you can distinguish which button called the method and behave accordingly.\
+{\listtext	\'95	}Fixed disabled appearance for BWAnchoredPopUpButton\
+{\listtext	\'95	}Fixed a bug where a sheet not using BWSheetController could be moved around by its bottom bar\
+{\listtext	\'95	}Fixed toolbar item memory leaks
+\b \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+1.0.3 - Dec 18, 2008\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls10\ilvl0
+\b0 \cf0 {\listtext	\'95	}64-bit support (courtesy of Rob Rix)\
+{\listtext	\'95	}Added disabled appearance and scroll wheel support to BWTexturedSlider\
+{\listtext	\'95	}The selectable toolbar panes are now keyboard accessible\
+{\listtext	\'95	}Anchored button bar now lets you provide your own delegate implementations for the split view (see the header for details)\
+{\listtext	\'95	}Nearly all the headers have been made public\
+{\listtext	\'95	}Fixed memory leaks\
+{\listtext	\'95	}Minor bug fixes\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 \
+1.0.2 - Nov 19, 2008
+\b0 \
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls11\ilvl0\cf0 {\listtext	\'95	}Added a toolbar item with a customizable item identifier\
+{\listtext	\'95	}New methods in the BWSelectableToolbar header for programmatically setting the selected toolbar item\
+{\listtext	\'95	}Reduced the file size of the framework by 40%\
+{\listtext	\'95	}Made the headers for BWSelectableToolbar and BWSplitView public\
+{\listtext	\'95	}Fixed a serious bug where IB would crash whenever a window that contained a selectable toolbar had certain properties modified (like whether it had a unified toolbar or could resize)\
+{\listtext	\'95	}Fixed bug where if a window in IB with a bottom bar was closed and then opened, its bottom bar would disappear\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 \
+1.0.1 - Nov 14, 2008
+\b0 \
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls12\ilvl0\cf0 {\listtext	\'95	}Added Garbage Collection compatibility. Will now compile in GC supported and GC required apps.\
+{\listtext	\'95	}Minor bug fix\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 \
+1.0 - Nov 13, 2008
+\b0 \
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls13\ilvl0\cf0 {\listtext	\'95
+\fs32 	}
+\fs28 Initial Release
+\fs32 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b\fs36 \cf0 Known Issues\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs28 \cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 General\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls14\ilvl0
+\b0 \cf0 {\listtext	\'95	}When you build your project, you may get a warning that says "Could not find object file...". It's harmless and you can ignore it. A fix is being worked on for a future release.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 Selectable Toolbar\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls15\ilvl0
+\b0 \cf0 {\listtext	\'95	}If your IB version is greater than 3.1.1 (672): Simulating is not supported for any document that has a selectable toolbar in it. The toolbar will not be able to save correctly and will be unusable. You will have to quit Interface Builder and restore to a previous version of the nib. Version control is highly recommended. You 
+\b must
+\b0  back up your document on a consistent basis if you want to use this toolbar.\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls16\ilvl0\cf0 {\listtext	\'95	}Interface Builder currently has a bug where a toolbar won't remember any changes to its configuration since an item was added to it. If you take a standard toolbar, rearrange some items in it or remove a few items, it will not remember that configuration when you save the document. To work around this problem, remove an item from the toolbar and add it back before you save the document.\
+{\listtext	\'95	}Undo is not yet supported for active tab switching.\
+{\listtext	\'95	}If you want your window with a selectable toolbar to have a bottom bar, drag the bottom bar item to the window like you would normally, but repeat this for each tab in the window.\
+{\listtext	\'95	}When you re-order the items in the toolbar you'll have to reselect the toolbar for the "Active Tab" pop-up menu to reflect the new order.\
+{\listtext	\'95	}Make sure, in the outline view, not to double click an item in one of the views in the window that is not nested in the window's current content view. Doing so will cause IB to crash. Instead, switch to the tab with the item, then double click it.\
+{\listtext	\'95	}Use no more than one selectable toolbar per NIB/XIB. And no more than one document with a selectable toolbar should be open in IB at any particular time.\
+{\listtext	\'95	}Removing the separator, space, or flexible space from the toolbar's allowed items will remove all items from the toolbar.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 Split View\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls17\ilvl0
+\b0 \cf0 {\listtext	\'95	}Split view attributes are not yet saved through the autosave name.\
+{\listtext	\'95	}The toggle action can't uncollapse a subview that's been collapsed manually by dragging the divider.\
+{\listtext	\'95	}For collapsing using the toggle action, there should only be 1 resizable subview in the split view other than the collapsible view (which can be either resizable or non-resizable).\
+{\listtext	\'95	}Undo isn't fully supported.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 Bottom Bars\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls18\ilvl0
+\b0 \cf0 {\listtext	\'95	}When using the drag handles to resize certain controls positioned on a bottom bar, the window will take the click and will move while the control stays stationary. As a workaround, try holding the Control key while resizing the control. If that fails, resize it in the inspector.\
+{\listtext	\'95	}Bottom bars must be added to the window's content view rather than any subview.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 Anchored Button Bar\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls19\ilvl0
+\b0 \cf0 {\listtext	\'95	}The inspector doesn't update when an undo action is called on a mode change. Just select the mode you want to use in the inspector.\
+{\listtext	\'95	}The bar should have a slightly shorter height in the third mode.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 Anchored Pop Up Button\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls20\ilvl0
+\b0 \cf0 {\listtext	\'95	}Only the Pull Down type is available at the moment.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 Transparent Scroll View
+\b0 \
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls21\ilvl0\cf0 {\listtext	\'95	}Horizontal scrolling is not yet supported.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\fs32 \cf0 \
+\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b\fs36 \cf0 Acknowledgements\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs28 \cf0 \
+Thanks to Fraser Kuyvenhoven, Ali Lalani, Brent Gulanowski, and Jonathan Hess for giving me some assistance with this project.\
+}
\ No newline at end of file

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderPhotoLarge.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderPhotoLarge.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderPhotoSmall.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderPhotoSmall.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderSpeakerLoud.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderSpeakerLoud.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderSpeakerQuiet.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderSpeakerQuiet.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderThumbN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderThumbN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderThumbP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderThumbP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderTrackFill.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderTrackFill.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderTrackLeft.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderTrackLeft.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderTrackRight.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TexturedSliderTrackRight.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/ToolbarItemColors.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/ToolbarItemColors.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/ToolbarItemFonts.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/ToolbarItemFonts.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentButtonFillN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentButtonFillN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentButtonFillP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentButtonFillP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentButtonLeftN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentButtonLeftN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentButtonLeftP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentButtonLeftP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentButtonRightN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentButtonRightN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentButtonRightP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentButtonRightP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentCheckboxOffN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentCheckboxOffN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentCheckboxOffP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentCheckboxOffP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentCheckboxOnN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentCheckboxOnN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentCheckboxOnP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentCheckboxOnP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentPopUpFillN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentPopUpFillN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentPopUpFillP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentPopUpFillP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentPopUpLeftN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentPopUpLeftN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentPopUpLeftP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentPopUpLeftP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentPopUpPullDownRightN.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentPopUpPullDownRightN.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentPopUpPullDownRightP.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentPopUpPullDownRightP.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentPopUpRightN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentPopUpRightN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentPopUpRightP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentPopUpRightP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerKnobBottom.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerKnobBottom.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerKnobHorizontalFill.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerKnobHorizontalFill.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerKnobLeft.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerKnobLeft.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerKnobRight.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerKnobRight.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerKnobTop.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerKnobTop.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerKnobVerticalFill.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerKnobVerticalFill.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerSlotBottom.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerSlotBottom.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerSlotHorizontalFill.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerSlotHorizontalFill.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerSlotLeft.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerSlotLeft.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerSlotRight.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerSlotRight.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerSlotTop.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerSlotTop.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerSlotVerticalFill.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentScrollerSlotVerticalFill.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentSliderThumbN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentSliderThumbN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentSliderThumbP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentSliderThumbP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentSliderTrackFill.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentSliderTrackFill.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentSliderTrackLeft.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentSliderTrackLeft.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentSliderTrackRight.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentSliderTrackRight.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentSliderTriangleThumbN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentSliderTriangleThumbN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentSliderTriangleThumbP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/A/Resources/TransparentSliderTriangleThumbP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/BWToolkitFramework
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/BWToolkitFramework
___________________________________________________________________
Added: svn:executable
   + *
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWAnchoredButton.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWAnchoredButton.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWAnchoredButton.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,21 @@
+//
+//  BWAnchoredButton.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWAnchoredButton : NSButton 
+{
+	BOOL isAtLeftEdgeOfBar;
+	BOOL isAtRightEdgeOfBar;
+	NSPoint topAndLeftInset;
+}
+
+ at property BOOL isAtLeftEdgeOfBar;
+ at property BOOL isAtRightEdgeOfBar;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWAnchoredButtonBar.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWAnchoredButtonBar.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWAnchoredButtonBar.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,27 @@
+//
+//  BWAnchoredButtonBar.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWAnchoredButtonBar : NSView 
+{
+	BOOL isResizable, isAtBottom, handleIsRightAligned;
+	int selectedIndex;
+	id splitViewDelegate;
+}
+
+ at property BOOL isResizable, isAtBottom, handleIsRightAligned;
+ at property int selectedIndex;
+
+// The mode of this bar with a resize handle makes use of some NSSplitView delegate methods. Use the splitViewDelegate for any custom delegate implementations
+// you'd like to provide.
+ at property (assign) id splitViewDelegate;
+
++ (BOOL)wasBorderedBar;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWAnchoredButtonCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWAnchoredButtonCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWAnchoredButtonCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWAnchoredButtonCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWAnchoredButtonCell : NSButtonCell 
+{
+	
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWAnchoredPopUpButton.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWAnchoredPopUpButton.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWAnchoredPopUpButton.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,21 @@
+//
+//  BWAnchoredPopUpButton.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWAnchoredPopUpButton : NSPopUpButton 
+{
+	BOOL isAtLeftEdgeOfBar;
+	BOOL isAtRightEdgeOfBar;
+	NSPoint topAndLeftInset;
+}
+
+ at property BOOL isAtLeftEdgeOfBar;
+ at property BOOL isAtRightEdgeOfBar;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWAnchoredPopUpButtonCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWAnchoredPopUpButtonCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWAnchoredPopUpButtonCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWAnchoredPopUpButtonCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWAnchoredPopUpButtonCell : NSPopUpButtonCell 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWGradientBox.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWGradientBox.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWGradientBox.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,24 @@
+//
+//  BWGradientBox.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWGradientBox : NSView 
+{
+	NSColor *fillStartingColor, *fillEndingColor, *fillColor;
+	NSColor *topBorderColor, *bottomBorderColor;
+	float topInsetAlpha, bottomInsetAlpha;
+	
+	BOOL hasTopBorder, hasBottomBorder, hasGradient;
+}
+
+ at property (nonatomic, retain) NSColor *fillStartingColor, *fillEndingColor, *fillColor, *topBorderColor, *bottomBorderColor;
+ at property float topInsetAlpha, bottomInsetAlpha;
+ at property BOOL hasTopBorder, hasBottomBorder, hasGradient;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWHyperlinkButton.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWHyperlinkButton.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWHyperlinkButton.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,18 @@
+//
+//  BWHyperlinkButton.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWHyperlinkButton : NSButton 
+{
+	NSString *urlString;
+}
+
+ at property (copy, nonatomic) NSString *urlString;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWHyperlinkButtonCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWHyperlinkButtonCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWHyperlinkButtonCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWHyperlinkButtonCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWHyperlinkButtonCell : NSButtonCell
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWInsetTextField.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWInsetTextField.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWInsetTextField.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWInsetTextField.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWInsetTextField : NSTextField 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWSelectableToolbar.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWSelectableToolbar.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWSelectableToolbar.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,36 @@
+//
+//  BWSelectableToolbar.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at class BWSelectableToolbarHelper;
+
+// Notification that gets sent when a toolbar item has been clicked. You can get the button that was clicked by getting the object
+// for the key @"BWClickedItem" in the supplied userInfo dictionary.
+extern NSString * const BWSelectableToolbarItemClickedNotification;
+
+ at interface BWSelectableToolbar : NSToolbar 
+{
+	BWSelectableToolbarHelper *helper;
+	NSMutableArray *itemIdentifiers;
+	NSMutableDictionary *itemsByIdentifier, *enabledByIdentifier;
+	BOOL inIB;
+	
+	// For the IB inspector
+	int selectedIndex;
+	BOOL isPreferencesToolbar;
+}
+
+// Call one of these methods to set the active tab. 
+- (void)setSelectedItemIdentifier:(NSString *)itemIdentifier; // Use if you want an action in the tabbed window to change the tab.
+- (void)setSelectedItemIdentifierWithoutAnimation:(NSString *)itemIdentifier; // Use if you want to show the window with a certain item selected.
+
+// Programmatically disable or enable a toolbar item. 
+- (void)setEnabled:(BOOL)flag forIdentifier:(NSString *)itemIdentifier;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWSheetController.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWSheetController.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWSheetController.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,31 @@
+//
+//  BWSheetController.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWSheetController : NSObject
+{
+	NSWindow *sheet;
+	NSWindow *parentWindow;
+	id delegate;
+}
+
+ at property (nonatomic, retain) IBOutlet NSWindow *sheet, *parentWindow;
+ at property (nonatomic, retain) IBOutlet id delegate;
+
+- (IBAction)openSheet:(id)sender;
+- (IBAction)closeSheet:(id)sender;
+- (IBAction)messageDelegateAndCloseSheet:(id)sender;
+
+// The optional delegate should implement the method:
+// - (BOOL)shouldCloseSheet:(id)sender
+// Return YES if you want the sheet to close after the button click, NO if it shouldn't close. The sender
+// object is the button that requested the close. This is helpful because in the event that there are multiple buttons
+// hooked up to the messageDelegateAndCloseSheet: method, you can distinguish which button called the method. 
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWSplitView.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWSplitView.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWSplitView.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,44 @@
+//
+//  BWSplitView.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com) and Fraser Kuyvenhoven.
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWSplitView : NSSplitView 
+{
+	NSColor *color;
+	BOOL colorIsEnabled, checkboxIsEnabled, dividerCanCollapse, collapsibleSubviewCollapsed;
+	id secondaryDelegate;
+	NSMutableDictionary *minValues, *maxValues, *minUnits, *maxUnits;
+	NSMutableDictionary *resizableSubviewPreferredProportion, *nonresizableSubviewPreferredSize;
+	NSArray *stateForLastPreferredCalculations;
+	int collapsiblePopupSelection;
+	float uncollapsedSize;
+	
+	// Collapse button
+	NSButton *toggleCollapseButton;
+	BOOL isAnimating;
+}
+
+ at property (retain) NSMutableDictionary *minValues, *maxValues, *minUnits, *maxUnits;
+ at property (retain) NSMutableDictionary *resizableSubviewPreferredProportion, *nonresizableSubviewPreferredSize;
+ at property (retain) NSArray *stateForLastPreferredCalculations;
+ at property (retain) NSButton *toggleCollapseButton;
+ at property BOOL collapsibleSubviewCollapsed;
+ at property int collapsiblePopupSelection;
+ at property BOOL dividerCanCollapse;
+
+// The split view divider color
+ at property (copy) NSColor *color;
+
+// Flag for whether a custom divider color is enabled. If not, the standard divider color is used.
+ at property BOOL colorIsEnabled;
+
+// Call this method to collapse or expand a subview configured as collapsible in the IB inspector.
+- (IBAction)toggleCollapse:(id)sender;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWStyledTextField.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWStyledTextField.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWStyledTextField.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,33 @@
+//
+//  BWStyledTextField.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWStyledTextField : NSTextField
+{
+	
+}
+
+- (BOOL)hasGradient;
+- (void)setHasGradient:(BOOL)flag;
+- (NSColor *)startingColor;
+- (void)setStartingColor:(NSColor *)color;
+- (NSColor *)endingColor;
+- (void)setEndingColor:(NSColor *)color;
+
+- (NSColor *)solidColor;
+- (void)setSolidColor:(NSColor *)color;
+
+- (BOOL)hasShadow;
+- (void)setHasShadow:(BOOL)flag;
+- (BOOL)shadowIsBelow;
+- (void)setShadowIsBelow:(BOOL)flag;
+- (NSColor *)shadowColor;
+- (void)setShadowColor:(NSColor *)color;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWStyledTextFieldCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWStyledTextFieldCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWStyledTextFieldCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,22 @@
+//
+//  BWStyledTextFieldCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWStyledTextFieldCell : NSTextFieldCell 
+{
+	BOOL shadowIsBelow, hasShadow, hasGradient;
+	NSColor *shadowColor, *startingColor, *endingColor, *solidColor;
+	
+	NSMutableDictionary *previousAttributes;
+}
+
+ at property BOOL shadowIsBelow, hasShadow, hasGradient;
+ at property (nonatomic, retain) NSColor *shadowColor, *startingColor, *endingColor, *solidColor;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTexturedSlider.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTexturedSlider.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTexturedSlider.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,25 @@
+//
+//  BWTexturedSlider.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTexturedSlider : NSSlider
+{
+	int trackHeight, indicatorIndex;
+	NSRect sliderCellRect;
+	NSButton *minButton, *maxButton;
+}
+
+ at property int indicatorIndex;
+ at property (retain) NSButton *minButton;
+ at property (retain) NSButton *maxButton;
+
+- (int)trackHeight;
+- (void)setTrackHeight:(int)newTrackHeight;
+
+ at end


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTexturedSlider.h
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTexturedSliderCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTexturedSliderCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTexturedSliderCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,19 @@
+//
+//  BWTexturedSliderCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTexturedSliderCell : NSSliderCell 
+{
+	BOOL isPressed;
+	int trackHeight;
+}
+
+ at property int trackHeight;
+
+ at end


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTexturedSliderCell.h
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTokenAttachmentCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTokenAttachmentCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTokenAttachmentCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,17 @@
+//
+//  BWTokenAttachmentCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+#import "NSTokenAttachmentCell.h"
+
+ at interface BWTokenAttachmentCell : NSTokenAttachmentCell 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTokenField.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTokenField.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTokenField.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTokenField.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTokenField : NSTokenField 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTokenFieldCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTokenFieldCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTokenFieldCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTokenFieldCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTokenFieldCell : NSTokenFieldCell 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWToolbarItem.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWToolbarItem.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWToolbarItem.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWToolbarItem.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWToolbarItem : NSToolbarItem 
+{
+	NSString *identifierString;
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWToolbarShowColorsItem.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWToolbarShowColorsItem.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWToolbarShowColorsItem.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWToolbarShowColorsItem.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWToolbarShowColorsItem : NSToolbarItem 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWToolbarShowFontsItem.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWToolbarShowFontsItem.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWToolbarShowFontsItem.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWToolbarShowFontsItem.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWToolbarShowFontsItem :  NSToolbarItem 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWToolkitFramework.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWToolkitFramework.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWToolkitFramework.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,47 @@
+//
+//  BWToolkitFramework.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+//  This is a convenience header for importing the BWToolkit framework into your classes. 
+
+#import "BWAnchoredButton.h"
+#import "BWAnchoredButtonBar.h"
+#import "BWAnchoredButtonCell.h"
+#import "BWAnchoredPopUpButton.h"
+#import "BWAnchoredPopUpButtonCell.h"
+#import "BWGradientBox.h"
+#import "BWHyperlinkButton.h"
+#import "BWHyperlinkButtonCell.h"
+#import "BWInsetTextField.h"
+#import "BWSelectableToolbar.h"
+#import "BWSheetController.h"
+#import "BWSplitView.h"
+#import "BWStyledTextField.h"
+#import "BWStyledTextFieldCell.h"
+#import "BWTexturedSlider.h"
+#import "BWTexturedSliderCell.h"
+#import "BWTokenAttachmentCell.h"
+#import "BWTokenField.h"
+#import "BWTokenFieldCell.h"
+#import "BWToolbarItem.h"
+#import "BWToolbarShowColorsItem.h"
+#import "BWToolbarShowFontsItem.h"
+#import "BWTransparentButton.h"
+#import "BWTransparentButtonCell.h"
+#import "BWTransparentCheckbox.h"
+#import "BWTransparentCheckboxCell.h"
+#import "BWTransparentPopUpButton.h"
+#import "BWTransparentPopUpButtonCell.h"
+#import "BWTransparentScroller.h"
+#import "BWTransparentScrollView.h"
+#import "BWTransparentSlider.h"
+#import "BWTransparentSliderCell.h"
+#import "BWTransparentTableView.h"
+#import "BWTransparentTableViewCell.h"
+#import "BWTransparentTextFieldCell.h"
+#import "BWUnanchoredButton.h"
+#import "BWUnanchoredButtonCell.h"

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentButton.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentButton.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentButton.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentButton.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentButton : NSButton 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentButtonCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentButtonCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentButtonCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,17 @@
+//
+//  BWTransparentButtonCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+#import "BWTransparentButton.h"
+
+ at interface BWTransparentButtonCell : NSButtonCell 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentCheckbox.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentCheckbox.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentCheckbox.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentCheckbox.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentCheckbox : NSButton 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentCheckboxCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentCheckboxCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentCheckboxCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,17 @@
+//
+//  BWTransparentCheckboxCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+#import "BWTransparentCheckbox.h"
+
+ at interface BWTransparentCheckboxCell : NSButtonCell 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentPopUpButton.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentPopUpButton.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentPopUpButton.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentPopUpButton.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentPopUpButton : NSPopUpButton 
+{
+	
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentPopUpButtonCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentPopUpButtonCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentPopUpButtonCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentPopUpButtonCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentPopUpButtonCell : NSPopUpButtonCell 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentScrollView.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentScrollView.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentScrollView.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentScrollView.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentScrollView : NSScrollView 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentScroller.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentScroller.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentScroller.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentScroller.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentScroller : NSScroller 
+{
+	BOOL isVertical;
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentSlider.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentSlider.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentSlider.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentSlider.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentSlider : NSSlider 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentSliderCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentSliderCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentSliderCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentSliderCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentSliderCell : NSSliderCell 
+{
+	BOOL isPressed;
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentTableView.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentTableView.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentTableView.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentTableView.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentTableView : NSTableView 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentTableViewCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentTableViewCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentTableViewCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentTableViewCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentTableViewCell : NSTextFieldCell 
+{
+	BOOL mIsEditingOrSelecting;
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentTextFieldCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentTextFieldCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWTransparentTextFieldCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWTransparentTextFieldCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWTransparentTextFieldCell : NSTextFieldCell 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWUnanchoredButton.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWUnanchoredButton.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWUnanchoredButton.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  BWUnanchoredButton.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface BWUnanchoredButton : NSButton 
+{
+	NSPoint topAndLeftInset;
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWUnanchoredButtonCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWUnanchoredButtonCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/BWUnanchoredButtonCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,17 @@
+//
+//  BWUnanchoredButtonCell.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+#import "BWAnchoredButtonCell.h"
+
+ at interface BWUnanchoredButtonCell : BWAnchoredButtonCell 
+{
+
+}
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSApplication+BWAdditions.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSApplication+BWAdditions.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSApplication+BWAdditions.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,15 @@
+//
+//  NSApplication+BWAdditions.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface NSApplication (BWAdditions) 
+
++ (BOOL)isOnLeopard;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSColor+BWAdditions.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSColor+BWAdditions.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSColor+BWAdditions.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  NSColor+BWAdditions.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface NSColor (BWAdditions)
+
+//  Use this method to draw 1 px wide lines independent of scale factor. Handy for resolution independent drawing. Still needs some work - there are issues with drawing at the edges of views.
+- (void)drawPixelThickLineAtPosition:(int)posInPixels withInset:(int)insetInPixels inRect:(NSRect)aRect inView:(NSView *)view horizontal:(BOOL)isHorizontal flip:(BOOL)shouldFlip;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSImage+BWAdditions.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSImage+BWAdditions.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSImage+BWAdditions.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,19 @@
+//
+//  NSImage+BWAdditions.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface NSImage (BWAdditions)
+
+// Draw a solid color over an image - taking into account alpha. Useful for coloring template images.
+- (NSImage *)tintedImageWithColor:(NSColor *)tint;
+
+// Rotate an image 90 degrees clockwise or counterclockwise
+- (NSImage *)rotateImage90DegreesClockwise:(BOOL)clockwise;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSTokenAttachment.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSTokenAttachment.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSTokenAttachment.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,22 @@
+/*
+ *     Generated by class-dump 3.1.2.
+ *
+ *     class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2007 by Steve Nygard.
+ */
+
+#import <Cocoa/Cocoa.h>
+
+ at interface NSTokenAttachment : NSTextAttachment
+{
+    id _delegate;
+}
+
+- (id)initWithDelegate:(id)fp8;
+- (void)encodeWithCoder:(id)fp8;
+- (id)initWithCoder:(id)fp8;
+- (id)attachmentCell;
+- (id)delegate;
+- (void)setDelegate:(id)fp8;
+
+ at end
+

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSTokenAttachmentCell.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSTokenAttachmentCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSTokenAttachmentCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,52 @@
+/*
+ *     Generated by class-dump 3.1.2.
+ *
+ *     class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2007 by Steve Nygard.
+ */
+
+#import <Cocoa/Cocoa.h>
+
+ at interface NSTokenAttachmentCell : NSTextAttachmentCell
+{
+    id _representedObject;
+    id _textColor;
+    id _reserved;
+    struct {
+        unsigned int _selected:1;
+        unsigned int _edgeStyle:2;
+        unsigned int _reserved:29;
+    } _tacFlags;
+}
+
++ (void)initialize;
+- (id)initTextCell:(id)fp8;
+- (id)init;
+- (void)dealloc;
+- (id)representedObject;
+- (void)setRepresentedObject:(id)fp8;
+- (int)interiorBackgroundStyle;
+- (BOOL)_hasMenu;
+- (id)tokenForegroundColor;
+- (id)tokenBackgroundColor;
+- (id)textColor;
+- (void)setTextColor:(id)fp8;
+- (id)pullDownImage;
+- (id)menu;
+- (NSSize)cellSizeForBounds:(NSRect)fp8;
+- (NSSize)cellSize;
+- (NSRect)drawingRectForBounds:(NSRect)fp8;
+- (NSRect)titleRectForBounds:(NSRect)fp8;
+- (NSRect)cellFrameForTextContainer:(id)fp8 proposedLineFragment:(NSRect)fp12 glyphPosition:(NSPoint)fp28 characterIndex:(unsigned int)fp36;
+- (NSPoint)cellBaselineOffset;
+- (NSRect)pullDownRectForBounds:(NSRect)fp8;
+- (void)drawTokenWithFrame:(NSRect)fp8 inView:(id)fp24;
+- (void)drawInteriorWithFrame:(NSRect)fp8 inView:(id)fp24;
+- (void)drawWithFrame:(NSRect)fp8 inView:(id)fp24;
+- (void)drawWithFrame:(NSRect)fp8 inView:(id)fp24 characterIndex:(unsigned int)fp28 layoutManager:(id)fp32;
+- (void)encodeWithCoder:(id)fp8;
+- (id)initWithCoder:(id)fp8;
+- (BOOL)wantsToTrackMouseForEvent:(id)fp8 inRect:(NSRect)fp12 ofView:(id)fp28 atCharacterIndex:(unsigned int)fp32;
+- (BOOL)trackMouse:(id)fp8 inRect:(NSRect)fp12 ofView:(id)fp28 atCharacterIndex:(unsigned int)fp32 untilMouseUp:(BOOL)fp36;
+
+ at end
+

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSView+BWAdditions.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSView+BWAdditions.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSView+BWAdditions.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,15 @@
+//
+//  NSView+BWAdditions.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface NSView (BWAdditions)
+
+- (void)bringToFront;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSWindow+BWAdditions.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSWindow+BWAdditions.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Headers/NSWindow+BWAdditions.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+//
+//  NSWindow+BWAdditions.h
+//  BWToolkit
+//
+//  Created by Brandon Walkin (www.brandonwalkin.com)
+//  All code is provided under the New BSD license.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface NSWindow (BWAdditions)
+
+- (void)resizeToSize:(NSSize)newSize animate:(BOOL)animateFlag;
+- (BOOL)isTextured;
+
+ at end

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/ButtonBarPullDownArrow.pdf
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/ButtonBarPullDownArrow.pdf	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/ButtonBarPullDownArrow.pdf	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,179 @@
+%PDF-1.7
+%âãÏÓ
+1 0 obj
+<</Metadata 12 0 R/Pages 2 0 R/Type/Catalog>>
+endobj
+12 0 obj
+<</Subtype/XML/Length 6522/Type/Metadata>>stream
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.1-c036 46.276720, Mon Feb 19 2007 22:13:43        ">
+   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+      <rdf:Description rdf:about=""
+            xmlns:dc="http://purl.org/dc/elements/1.1/">
+         <dc:format>application/pdf</dc:format>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:xap="http://ns.adobe.com/xap/1.0/"
+            xmlns:xapGImg="http://ns.adobe.com/xap/1.0/g/img/">
+         <xap:CreatorTool> Adobe Photoshop CS3 Macintosh</xap:CreatorTool>
+         <xap:CreateDate>2008-06-14T20:29:08-04:00</xap:CreateDate>
+         <xap:ModifyDate>2008-06-14T20:29:31-04:00</xap:ModifyDate>
+         <xap:MetadataDate>2008-06-14T20:29:31-04:00</xap:MetadataDate>
+         <xap:Thumbnails>
+            <rdf:Alt>
+               <rdf:li rdf:parseType="Resource">
+                  <xapGImg:format>JPEG</xapGImg:format>
+                  <xapGImg:height>3</xapGImg:height>
+                  <xapGImg:width>5</xapGImg:width>
+                  <xapGImg:image>/9j/4AAQSkZJRgABAgAASABIAAD/7QAMQWRvYmVfQ00AAf/uAA5BZG9iZQBkgAAAAAH/2wCEAAwI&#xA;CAgJCAwJCQwRCwoLERUPDAwPFRgTExUTExgRDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM&#xA;DAwMDAwBDQsLDQ4NEA4OEBQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwRDAwMDAwMDAwMDAwMDAwM&#xA;DAwMDAwMDAwMDAwMDP/AABEIAAMABQMBIgACEQEDEQH/3QAEAAH/xAE/AAABBQEBAQEBAQAAAAAA&#xA;AAADAAECBAUGBwgJCgsBAAEFAQEBAQEBAAAAAAAAAAEAAgMEBQYHCAkKCxAAAQQBAwIEAgUHBggF&#xA;AwwzAQACEQMEIRIxBUFRYRMicYEyBhSRobFCIyQVUsFiMzRygtFDByWSU/Dh8WNzNRaisoMmRJNU&#xA;ZEXCo3Q2F9JV4mXys4TD03Xj80YnlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vY3R1dnd4eXp7fH&#xA;1+f3EQACAgECBAQDBAUGBwcGBTUBAAIRAyExEgRBUWFxIhMFMoGRFKGxQiPBUtHwMyRi4XKCkkNT&#xA;FWNzNPElBhaisoMHJjXC0kSTVKMXZEVVNnRl4vKzhMPTdePzRpSkhbSVxNTk9KW1xdXl9VZmdoaW&#xA;prbG1ub2JzdHV2d3h5ent8f/2gAMAwEAAhEDEQA/AMyv7J+2b4/YW79s0z/Sdm708jbz7Ps3qb/5&#xA;v9X+2/zv6r6KS89SSU//2Q==</xapGImg:image>
+               </rdf:li>
+            </rdf:Alt>
+         </xap:Thumbnails>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:xapMM="http://ns.adobe.com/xap/1.0/mm/"
+            xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#">
+         <xapMM:DocumentID>uuid:3233F5DEE23BDD1188A5F807AAD5B5AB</xapMM:DocumentID>
+         <xapMM:InstanceID>uuid:d364bcf4-ecbc-9348-b5a9-7f85a6b611f5</xapMM:InstanceID>
+         <xapMM:DerivedFrom rdf:parseType="Resource">
+            <stRef:instanceID>uuid:72448EAFE13BDD1188A5F807AAD5B5AB</stRef:instanceID>
+            <stRef:documentID>uuid:72448EAFE13BDD1188A5F807AAD5B5AB</stRef:documentID>
+         </xapMM:DerivedFrom>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:tiff="http://ns.adobe.com/tiff/1.0/">
+         <tiff:Orientation>1</tiff:Orientation>
+         <tiff:XResolution>720000/10000</tiff:XResolution>
+         <tiff:YResolution>720000/10000</tiff:YResolution>
+         <tiff:ResolutionUnit>2</tiff:ResolutionUnit>
+         <tiff:NativeDigest>256,257,258,259,262,274,277,284,530,531,282,283,296,301,318,319,529,532,306,270,271,272,305,315,33432;5F3E335AFF780C9D7CD7E1ADA05DBE38</tiff:NativeDigest>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:exif="http://ns.adobe.com/exif/1.0/">
+         <exif:PixelXDimension>5</exif:PixelXDimension>
+         <exif:PixelYDimension>3</exif:PixelYDimension>
+         <exif:ColorSpace>1</exif:ColorSpace>
+         <exif:NativeDigest>36864,40960,40961,37121,37122,40962,40963,37510,40964,36867,36868,33434,33437,34850,34852,34855,34856,37377,37378,37379,37380,37381,37382,37383,37384,37385,37386,37396,41483,41484,41486,41487,41488,41492,41493,41495,41728,41729,41730,41985,41986,41987,41988,41989,41990,41991,41992,41993,41994,41995,41996,42016,0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,22,23,24,25,26,27,28,30;DECD3C4701D62E29B6EB81157F585A9F</exif:NativeDigest>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/">
+         <photoshop:History/>
+         <photoshop:ColorMode>3</photoshop:ColorMode>
+         <photoshop:ICCProfile>sRGB IEC61966-2.1</photoshop:ICCProfile>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
+         <pdf:Producer>Adobe Photoshop for Macintosh</pdf:Producer>
+      </rdf:Description>
+   </rdf:RDF>
+</x:xmpmeta>
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                           
+<?xpacket end="w"?>
+endstream
+endobj
+2 0 obj
+<</Count 1/Type/Pages/Kids[5 0 R]>>
+endobj
+5 0 obj
+<</Parent 2 0 R/Contents 7 0 R/ArtBox[0.0 0.0 5.0 3.0]/MediaBox[0.0 0.0 5.0 3.0]/Resources 8 0 R/Type/Page>>
+endobj
+7 0 obj
+<</Length 132>>stream
+q
+q
+5 0 0 3 0 0 cm
+q
+0.5000026 -0.0002287 m
+0.0000771 1.0002303 l
+0.9999280 1.0002303 l
+0.5000026 -0.0002287 l
+h
+W
+n
+/Im0 Do
+Q
+
+Q
+Q
+
+endstream
+endobj
+8 0 obj
+<</XObject<</Im0 6 0 R>>/ColorSpace<</DefaultRGB 10 0 R>>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/ExtGState<</GS1<</op true>>>>>>
+endobj
+10 0 obj
+[/ICCBased 9 0 R]
+endobj
+9 0 obj
+<</Length 2575/Filter/FlateDecode/N 3>>stream
+H‰œ–yTSwÇoÉž•°Ãc
+[€°5,	‹ì ˆBHBK!aPªVÊX·Ñ=uº¸Žµ:X÷©KÔè£ãÐZ\;v^àõ´™N¿üÞçÜß½÷ý~÷Þw΀.MÑh«a+SAßè:ü
+½ó>Sº7åÁâT¥rc¥3ÕMQ]YmÔcµ:¹B…	:Ä¿9ð—Ïᝩ*UéUZ<"Ÿ2V·[«Ô4ÕZL£ýOMüa?Ñü\ã⎽¼"ÀºÈÈ?.+£¾n~ÏôY &à+`œ;ÂA4ˆI 
+dƒ|°(@¨zPZ@;è=`=؆Áv0vƒýà ƒàÏà<ø\·À$˜Áx
+^AD‚²‚ WÈò‡ÄP$¥@™P>T©!-d„Z PÔ
+C; ÝС£Ð	èt	ú
+š‚@ßA/a¦Ã<Øvƒ}a1'ÃÙðX
+×ÀMp'¼‚Gá}ðaø|¾OÂáY 4„8"BDŒH4¤+î
+î÷wšGä	x2^9¯‡÷{ÞoÆœchžkÞ`>bþ‰ù$á»ñeüJ~ÿ ÿ:ÿ¥…EŒ…ÊbÅ~‹ËÏ,m,£-U–Ý–,¯Y¾´Â¬â­*¬6X[ݱF­=­3¬ë­·YŸ±~dó	·QØtÛ´¹iÛzÚfÚ6Û~`{ÁvÖÎÞ.ÑNg·Åî”Ý#{¾}´}¹ý€ý§ö¸‘‡‡ÏþŽ™c1X%6„Æfm¥ŽFÇŽŽ¯œN9NNœî8SÅÎ¥ÎÎ'g\\R]Z\öºÜt¥¸Š]Ë\7»žu}æ&pËs[å6îv_`)	š{·ÝîQî5î£îW=ˆb
+­_zžAžež#ž½`¯`/×V¯KÞïPo­÷¨÷
+!]#¬îNùð}R|:|Æ}ûºøønð=ëûÚ/ȯÒoÌï–ˆ#JuˆŽ‰¾ó÷ôWøø_
+`$´	ø6Ð+P¸-ð¯AÜ Ô UA'ƒþ¬Þü Ä%¤8佐bž8]Ü+þ<”Úúqè‹°à0CØÁ°†Ã+Â÷„ß_ X Z0¶àn„S„<bGÄd$Yù~äd”c”<j4ê›hçheôÎè{11å1ûbÇúÅêc?Š}&	“,“Câãºã&â9ñ9ñÃñ_'8%¨ö&Ì$%6'—¤ÉÒ
+Ò2;™B¶[6“’´,ét2=9+y8ù›Ï}ʱT85)ucêí…®µÇÓ@š,mcڝtAzMúŸ2ˆé#Ëe¶džÍâfeíÉzš›Ý—}+Ç=ǘs2—™[˜»;÷Y^\^Þä"ßE˝ϷÎ×ä) äì,˜]¿xÓâé ®ÂëKK–œ[j½´ré'EÌ"yÑ¡bBq^ñžâäiòQùl‰¬ä½’…D±YñP­P>PE¨úU÷J#JûKï«#ÔÕÊ¢ÊËi$šaÍ·åÒòíåÏ*Ò*>¬ø±2¯ò@¹ª¸ê¨–£­Ðž®¶¯n¨¾¤óÒué&kÂj6ÕÌè“õ;k¡Ú%µG<ügê‚ÑݸÒ8UY7R÷¼>·þP»AÛp¡Ñ³qM㽦„¦ß5£ÍŠæ“-Ž-í-SËb–íh…ZKZO¶9·u¶M/O\¾«Ú^Ñþ—¿ŽþŽïWä­8Öi×¹¼óîÊÄ•{»Ìºô]7V…¯Ú¾]­Y=±&`Í–5¯»•Ý_ôøõöüЫèýb­híÐÚו®›èîÛ¶ž¸^»þú†¨
+»úÙýMýw7¦n<<€
+t|¿©hÓ¹ÁÀÁ훩››'‡þ
+¥ZþL˜¸™$™™üšhšÕ›B›¯œœ‰œ÷dÒž@ž®ŸŸ‹Ÿú i Ø¡G¡¶¢&¢–££v£æ¤V¤Ç¥8¥©¦¦‹¦ý§n§à¨R¨Ä©7©©ªª««u«é¬\¬Ð­D­¸®-®¡¯¯‹°+¾„¾ÿ¿z¿õÀpÀìÁgÁãÂ_ÂÛÃXÃÔÄQÄÎÅKÅÈÆFÆÃÇAÇ¿È=ȼÉ:ɹÊ8Ê·Ë6˶Ì5̵Í5͵Î6ζÏ7ϸÐ9кÑ<ѾÒ?ÒÁÓDÓÆÔIÔËÕNÕÑÖUÖØ×\×àØdØèÙlÙñÚvÚûÛ€ÜÜŠÝÝ–ÞÞ¢!
 ß)߯à6à½áDáÌâSâÛãcãëäsäüå„æ
+æ–çç©è2è¼éFéÐê[êåëpëûì†ííœî(î´ï@ïÌðXðåñrñÿòŒóó§ô4ôÂõPõÞömöû÷Šøø¨ù8ùÇúWúçûwüü˜ý)ýºþKþÜÿmÿÿ++0000000016 00000 n
+0000006676 00000 n
+0000000004 00001 f
+0000000000 00000 f
+0000006727 00000 n
+0000009859 00000 n
+0000006851 00000 n
+0000007032 00000 n
+0000007211 00000 n
+0000007177 00000 n
+0000010121 00000 n
+0000000077 00000 n
+trailer
+<</Size 13/Root 1 0 R/Info 11 0 R/ID[<B43EBA858A174E2EBD48C987E9650595><10B89CB6AA9C4EF8AF41B07220157CA1>]>>
+startxref
+10293
+%%EOF
Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/GradientSplitViewDimpleBitmap.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/GradientSplitViewDimpleBitmap.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/GradientSplitViewDimpleVector.pdf
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/GradientSplitViewDimpleVector.pdf	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/GradientSplitViewDimpleVector.pdf	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,180 @@
+%PDF-1.7
+%âãÏÓ
+1 0 obj
+<</Metadata 12 0 R/Pages 2 0 R/Type/Catalog>>
+endobj
+12 0 obj
+<</Subtype/XML/Length 6566/Type/Metadata>>stream
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.1-c036 46.276720, Mon Feb 19 2007 22:13:43        ">
+   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+      <rdf:Description rdf:about=""
+            xmlns:dc="http://purl.org/dc/elements/1.1/">
+         <dc:format>application/pdf</dc:format>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:xap="http://ns.adobe.com/xap/1.0/"
+            xmlns:xapGImg="http://ns.adobe.com/xap/1.0/g/img/">
+         <xap:CreatorTool> Adobe Photoshop CS3 Macintosh</xap:CreatorTool>
+         <xap:CreateDate>2008-02-16T21:30:46-05:00</xap:CreateDate>
+         <xap:ModifyDate>2008-02-16T21:30:59-05:00</xap:ModifyDate>
+         <xap:MetadataDate>2008-02-16T21:30:59-05:00</xap:MetadataDate>
+         <xap:Thumbnails>
+            <rdf:Alt>
+               <rdf:li rdf:parseType="Resource">
+                  <xapGImg:format>JPEG</xapGImg:format>
+                  <xapGImg:height>16</xapGImg:height>
+                  <xapGImg:width>16</xapGImg:width>
+                  <xapGImg:image>/9j/4AAQSkZJRgABAgAASABIAAD/7QAMQWRvYmVfQ00AAf/uAA5BZG9iZQBkgAAAAAH/2wCEAAwI&#xA;CAgJCAwJCQwRCwoLERUPDAwPFRgTExUTExgRDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM&#xA;DAwMDAwBDQsLDQ4NEA4OEBQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwRDAwMDAwMDAwMDAwMDAwM&#xA;DAwMDAwMDAwMDAwMDP/AABEIABAAEAMBIgACEQEDEQH/3QAEAAH/xAE/AAABBQEBAQEBAQAAAAAA&#xA;AAADAAECBAUGBwgJCgsBAAEFAQEBAQEBAAAAAAAAAAEAAgMEBQYHCAkKCxAAAQQBAwIEAgUHBggF&#xA;AwwzAQACEQMEIRIxBUFRYRMicYEyBhSRobFCIyQVUsFiMzRygtFDByWSU/Dh8WNzNRaisoMmRJNU&#xA;ZEXCo3Q2F9JV4mXys4TD03Xj80YnlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vY3R1dnd4eXp7fH&#xA;1+f3EQACAgECBAQDBAUGBwcGBTUBAAIRAyExEgRBUWFxIhMFMoGRFKGxQiPBUtHwMyRi4XKCkkNT&#xA;FWNzNPElBhaisoMHJjXC0kSTVKMXZEVVNnRl4vKzhMPTdePzRpSkhbSVxNTk9KW1xdXl9VZmdoaW&#xA;prbG1ub2JzdHV2d3h5ent8f/2gAMAwEAAhEDEQA/AOpzLsjqlznPeRjgkV1DQR+8795zksO7J6Xc&#xA;xzHk45IFlR1EfvN/dc1XLcN+FY5rmn0STseOI8ClVhvzbGta0+kCC954jwCSn//Z</xapGImg:image>
+               </rdf:li>
+            </rdf:Alt>
+         </xap:Thumbnails>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:xapMM="http://ns.adobe.com/xap/1.0/mm/"
+            xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#">
+         <xapMM:DocumentID>uuid:7750097D68DEDC11BB92BDC6FD4C7FBA</xapMM:DocumentID>
+         <xapMM:InstanceID>uuid:d55aa6fe-4f87-9045-bedc-eced5d1cc5dd</xapMM:InstanceID>
+         <xapMM:DerivedFrom rdf:parseType="Resource">
+            <stRef:instanceID>uuid:7650097D68DEDC11BB92BDC6FD4C7FBA</stRef:instanceID>
+            <stRef:documentID>uuid:7650097D68DEDC11BB92BDC6FD4C7FBA</stRef:documentID>
+         </xapMM:DerivedFrom>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:tiff="http://ns.adobe.com/tiff/1.0/">
+         <tiff:Orientation>1</tiff:Orientation>
+         <tiff:XResolution>720000/10000</tiff:XResolution>
+         <tiff:YResolution>720000/10000</tiff:YResolution>
+         <tiff:ResolutionUnit>2</tiff:ResolutionUnit>
+         <tiff:NativeDigest>256,257,258,259,262,274,277,284,530,531,282,283,296,301,318,319,529,532,306,270,271,272,305,315,33432;6484DE694EED10FCB1360A97BFC32F0A</tiff:NativeDigest>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:exif="http://ns.adobe.com/exif/1.0/">
+         <exif:PixelXDimension>16</exif:PixelXDimension>
+         <exif:PixelYDimension>16</exif:PixelYDimension>
+         <exif:ColorSpace>1</exif:ColorSpace>
+         <exif:NativeDigest>36864,40960,40961,37121,37122,40962,40963,37510,40964,36867,36868,33434,33437,34850,34852,34855,34856,37377,37378,37379,37380,37381,37382,37383,37384,37385,37386,37396,41483,41484,41486,41487,41488,41492,41493,41495,41728,41729,41730,41985,41986,41987,41988,41989,41990,41991,41992,41993,41994,41995,41996,42016,0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,22,23,24,25,26,27,28,30;26EC271C894309D0BBA2E3379EE65237</exif:NativeDigest>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/">
+         <photoshop:History/>
+         <photoshop:ColorMode>3</photoshop:ColorMode>
+         <photoshop:ICCProfile>sRGB IEC61966-2.1</photoshop:ICCProfile>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
+         <pdf:Producer>Adobe Photoshop for Macintosh</pdf:Producer>
+      </rdf:Description>
+   </rdf:RDF>
+</x:xmpmeta>
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                           
+<?xpacket end="w"?>
+endstream
+endobj
+2 0 obj
+<</Count 1/Type/Pages/Kids[5 0 R]>>
+endobj
+5 0 obj
+<</Parent 2 0 R/Contents 7 0 R/ArtBox[0.0 0.0 16.0 16.0]/MediaBox[0.0 0.0 16.0 16.0]/Resources 8 0 R/Type/Page>>
+endobj
+7 0 obj
+<</Length 321>>stream
+q
+q
+16 0 0 16 0 0 cm
+q
+0.4999998 1.0000093 m
+0.7761371 1.0000093 1.0000090 0.7761374 1.0000090 0.5000001 c
+1.0000090 0.2238628 0.7761371 -0.0000091 0.4999998 -0.0000091 c
+0.2238625 -0.0000091 -0.0000094 0.2238628 -0.0000094 0.5000001 c
+-0.0000094 0.7761374 0.2238625 1.0000093 0.4999998 1.0000093 c
+h
+W*
+n
+/Im0 Do
+Q
+
+Q
+Q
+
+endstream
+endobj
+8 0 obj
+<</XObject<</Im0 6 0 R>>/ColorSpace<</DefaultRGB 10 0 R>>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/ExtGState<</GS1<</op true>>>>>>
+endobj
+10 0 obj
+[/ICCBased 9 0 R]
+endobj
+9 0 obj
+<</Length 2575/Filter/FlateDecode/N 3>>stream
+H‰œ–yTSwÇoÉž•°Ãc
+[€°5,	‹ì ˆBHBK!aPªVÊX·Ñ=uº¸Žµ:X÷©KÔè£ãÐZ\;v^àõ´™N¿üÞçÜß½÷ý~÷Þw΀.MÑh«a+SAßè:ü
+½ó>Sº7åÁâT¥rc¥3ÕMQ]YmÔcµ:¹B…	:Ä¿9ð—Ïᝩ*UéUZ<"Ÿ2V·[«Ô4ÕZL£ýOMüa?Ñü\ã⎽¼"ÀºÈÈ?.+£¾n~ÏôY &à+`œ;ÂA4ˆI 
+dƒ|°(@¨zPZ@;è=`=؆Áv0vƒýà ƒàÏà<ø\·À$˜Áx
+^AD‚²‚ WÈò‡ÄP$¥@™P>T©!-d„Z PÔ
+C; ÝС£Ð	èt	ú
+š‚@ßA/a¦Ã<Øvƒ}a1'ÃÙðX
+×ÀMp'¼‚Gá}ðaø|¾OÂáY 4„8"BDŒH4¤+î
+î÷wšGä	x2^9¯‡÷{ÞoÆœchžkÞ`>bþ‰ù$á»ñeüJ~ÿ ÿ:ÿ¥…EŒ…ÊbÅ~‹ËÏ,m,£-U–Ý–,¯Y¾´Â¬â­*¬6X[ݱF­=­3¬ë­·YŸ±~dó	·QØtÛ´¹iÛzÚfÚ6Û~`{ÁvÖÎÞ.ÑNg·Åî”Ý#{¾}´}¹ý€ý§ö¸‘‡‡ÏþŽ™c1X%6„Æfm¥ŽFÇŽŽ¯œN9NNœî8SÅÎ¥ÎÎ'g\\R]Z\öºÜt¥¸Š]Ë\7»žu}æ&pËs[å6îv_`)	š{·ÝîQî5î£îW=ˆb
+­_zžAžež#ž½`¯`/×V¯KÞïPo­÷¨÷
+!]#¬îNùð}R|:|Æ}ûºøønð=ëûÚ/ȯÒoÌï–ˆ#JuˆŽ‰¾ó÷ôWøø_
+`$´	ø6Ð+P¸-ð¯AÜ Ô UA'ƒþ¬Þü Ä%¤8佐bž8]Ü+þ<”Úúqè‹°à0CØÁ°†Ã+Â÷„ß_ X Z0¶àn„S„<bGÄd$Yù~äd”c”<j4ê›hçheôÎè{11å1ûbÇúÅêc?Š}&	“,“Câãºã&â9ñ9ñÃñ_'8%¨ö&Ì$%6'—¤ÉÒ
+Ò2;™B¶[6“’´,ét2=9+y8ù›Ï}ʱT85)ucêí…®µÇÓ@š,mcڝtAzMúŸ2ˆé#Ëe¶džÍâfeíÉzš›Ý—}+Ç=ǘs2—™[˜»;÷Y^\^Þä"ßE˝ϷÎ×ä) äì,˜]¿xÓâé ®ÂëKK–œ[j½´ré'EÌ"yÑ¡bBq^ñžâäiòQùl‰¬ä½’…D±YñP­P>PE¨úU÷J#JûKï«#ÔÕÊ¢ÊËi$šaÍ·åÒòíåÏ*Ò*>¬ø±2¯ò@¹ª¸ê¨–£­Ðž®¶¯n¨¾¤óÒué&kÂj6ÕÌè“õ;k¡Ú%µG<ügê‚ÑݸÒ8UY7R÷¼>·þP»AÛp¡Ñ³qM㽦„¦ß5£ÍŠæ“-Ž-í-SËb–íh…ZKZO¶9·u¶M/O\¾«Ú^Ñþ—¿ŽþŽïWä­8Öi×¹¼óîÊÄ•{»Ìºô]7V…¯Ú¾]­Y=±&`Í–5¯»•Ý_ôøõöüЫèýb­híÐÚו®›èîÛ¶ž¸^»þú†¨
+»úÙýMýw7¦n<<€
+t|¿©hÓ¹ÁÀÁ훩››'‡þ
+¥ZþL˜¸™$™™üšhšÕ›B›¯œœ‰œ÷dÒž@ž®ŸŸ‹Ÿú i Ø¡G¡¶¢&¢–££v£æ¤V¤Ç¥8¥©¦¦‹¦ý§n§à¨R¨Ä©7©©ªª««u«é¬\¬Ð­D­¸®-®¡¯¯‹°+¾„¾ÿ¿z¿õÀpÀìÁgÁãÂ_ÂÛÃXÃÔÄQÄÎÅKÅÈÆFÆÃÇAÇ¿È=ȼÉ:ɹÊ8Ê·Ë6˶Ì5̵Í5͵Î6ζÏ7ϸÐ9кÑ<ѾÒ?ÒÁÓDÓÆÔIÔËÕNÕÑÖUÖØ×\×àØdØèÙlÙñÚvÚûÛ€ÜÜŠÝÝ–ÞÞ¢!
 ß)߯à6à½áDáÌâSâÛãcãëäsäüå„æ
+æ–çç©è2è¼éFéÐê[êåëpëûì†ííœî(î´ï@ïÌðXðåñrñÿòŒóó§ô4ôÂõPõÞömöû÷Šøø¨ù8ùÇúWúçûwüü˜ý)ýºþKþÜÿmÿÿ+rrruuuyyy~~~‚‚‚†††‰‰‰ŠŠŠŠŠŠ‰‰‰†††‚‚‚~~~yyyuuurrrwww|||‚‚‚ˆˆˆŽŽŽ“““–––˜˜˜˜˜˜–––“““ŽŽŽˆˆˆ‚‚‚|||www}}}„„„ŒŒŒ“““ššš   ¤¤¤¦¦¦¦¦¦¤¤¤   ššš“““ŒŒŒ„„„}}}„„„ŒŒŒ–––žžž¦¦¦«««¯¯¯±±±±±±¯¯¯«««¦¦¦žžž–––ŒŒŒ„„„‹‹‹–––   ©©©±±±···ººº»»»»»»ººº···±±±©©©   –––‹‹‹“““ŸŸŸªªª³³³ººº¿¿¿ÂÂÂÃÃÃÃÃÿ¿¿ººº³³³ªªªŸŸŸ“““ššš¦¦¦±±±ºººÁÁÁÆÆÆÈÈÈÈÈÈÈÈÈÈÈÈÅÅÅÁÁÁººº±±±¦¦¦šššŸŸŸ¬¬¬···ÀÀÀÆÆÆÊÊÊËËËÌÌÌÌÌÌËËËÊÊÊÆÆÆÀÀÀ···¬¬¬ŸŸŸ£££°°°»»»ÃÃÃÉÉÉÌÌÌÎÎÎÎÎÎÎÎÎÎÎÎÌÌÌÉÉÉÃÃúºº°°°¢¢¢¤¤¤±±±¼¼¼ÅÅÅËËËÎÎÎÐÐÐÐÐÐÐÐÐÐÐÐÎÎÎËËËÅÅż¼¼±±±¤¤¤¤¤¤±±±¼¼¼ÅÅÅÌÌÌÐÐÐÑÑÑÒÒÒÒÒÒÑÑÑÐÐÐÌÌÌÅÅż¼¼±±±¤¤¤¢¢¢®®®ºººÄÄÄËËËÐÐÐÒÒÒÒÒÒÒÒÒÒÒÒÐÐÐËËËÄÄĺºº®®®¡¡¡ªªª¶¶¶¿¿¿ÇÇÇÍÍÍÐÐÐÑÑÑÑÑÑÐÐÐÍÍÍÇÇÇ¿¿¿µµµªªª———£££®®®¸¸¸ÀÀÀÆÆÆÊÊÊÌÌÌÌÌÌÊÊÊÆÆÆÀÀÀ¸¸¸®®®£££———’’’œœœ¦¦¦¯¯¯¸¸¸¾¾¾ÂÂÂÄÄÄÄÄľ¾¾¸¸¸¯¯¯¦¦¦œœœ’’’ŒŒŒ”””¥¥¥­­­´´´¸¸¸»»»»»»¸¸¸´´´­­­¥¥¥”””ŒŒŒ
+endstream
+endobj
+11 0 obj
+<</CreationDate(D:20080216213046-05'00')/Creator( Adobe Photosh!
 op CS3 Macintosh)/Producer(Adobe Photoshop for Macintosh)/ModDate(D:20080216213059-05'00')>>
+endobj
+xref
+0 13
+0000000003 65535 f
+0000000016 00000 n
+0000006720 00000 n
+0000000004 00001 f
+0000000000 00000 f
+0000006771 00000 n
+0000010096 00000 n
+0000006899 00000 n
+0000007269 00000 n
+0000007448 00000 n
+0000007414 00000 n
+0000011086 00000 n
+0000000077 00000 n
+trailer
+<</Size 13/Root 1 0 R/Info 11 0 R/ID[<33529D86E9434463B40618B64FD0FF75><4866DB5336014798BED9528D03CDD3B2>]>>
+startxref
+11258
+%%EOF
Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/Info.plist
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/Info.plist	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/Info.plist	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,22 @@
+<?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.2</string>
+	<key>NSPrincipalClass</key>
+	<string>BWToolkit</string>
+</dict>
+</plist>

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/Library-SheetController.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/Library-SheetController.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/License.rtf
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/License.rtf	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/License.rtf	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,16 @@
+{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf430
+{\fonttbl\f0\fnil\fcharset0 Verdana;}
+{\colortbl;\red255\green255\blue255;\red73\green73\blue73;}
+{\*\listtable{\list\listtemplateid1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid0\'02\'05.;}{\levelnumbers\'01;}}{\listname ;}\listid1}}
+{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}}
+\deftab720
+\pard\pardeftab720\sl400\sa280\ql\qnatural
+
+\f0\fs24 \cf2 Copyright (c) 2009, Brandon Walkin\uc0\u8232 All rights reserved.\
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\
+\pard\tx220\tx720\pardeftab720\li720\fi-720\sl400\sa20\ql\qnatural
+\ls1\ilvl0\cf2 {\listtext	\'95	}Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\
+{\listtext	\'95	}Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\
+{\listtext	\'95	}Neither the name of the Brandon Walkin nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\
+\pard\pardeftab720\sl400\sa280\ql\qnatural
+\cf2 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.}
\ No newline at end of file

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/Release Notes.rtf
===================================================================
--- trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/Release Notes.rtf	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/Release Notes.rtf	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,319 @@
+{\rtf1\ansi\ansicpg1252\cocoartf1027\cocoasubrtf100
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset0 Monaco;}
+{\colortbl;\red255\green255\blue255;\red100\green56\blue32;\red196\green26\blue22;}
+{\*\listtable{\list\listtemplateid1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid1}
+{\list\listtemplateid2\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid101\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid2}
+{\list\listtemplateid3\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid201\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid3}
+{\list\listtemplateid4\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid301\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid4}
+{\list\listtemplateid5\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid401\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid5}
+{\list\listtemplateid6\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid501\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid6}
+{\list\listtemplateid7\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid601\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid602\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid603\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li2160\lin2160 }{\listname ;}\listid7}
+{\list\listtemplateid8\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid701\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid8}
+{\list\listtemplateid9\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid801\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid9}
+{\list\listtemplateid10\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid901\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid10}
+{\list\listtemplateid11\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1001\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid11}
+{\list\listtemplateid12\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1101\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid12}
+{\list\listtemplateid13\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1201\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid13}
+{\list\listtemplateid14\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1301\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid14}
+{\list\listtemplateid15\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1401\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid15}
+{\list\listtemplateid16\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1501\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid16}
+{\list\listtemplateid17\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1601\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid17}
+{\list\listtemplateid18\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1701\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid18}
+{\list\listtemplateid19\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1801\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid19}
+{\list\listtemplateid20\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1901\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid20}
+{\list\listtemplateid21\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid2001\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid21}}
+{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}{\listoverride\listid2\listoverridecount0\ls2}{\listoverride\listid3\listoverridecount0\ls3}{\listoverride\listid4\listoverridecount0\ls4}{\listoverride\listid5\listoverridecount0\ls5}{\listoverride\listid6\listoverridecount0\ls6}{\listoverride\listid7\listoverridecount0\ls7}{\listoverride\listid8\listoverridecount0\ls8}{\listoverride\listid9\listoverridecount0\ls9}{\listoverride\listid10\listoverridecount0\ls10}{\listoverride\listid11\listoverridecount0\ls11}{\listoverride\listid12\listoverridecount0\ls12}{\listoverride\listid13\listoverridecount0\ls13}{\listoverride\listid14\listoverridecount0\ls14}{\listoverride\listid15\listoverridecount0\ls15}{\listoverride\listid16\listoverridecount0\ls16}{\listoverride\listid17\listoverridecount0\ls17}{\listoverride\listid18\listoverridecount0\ls18}{\listoverride\listid19\listoverridecount0\ls19}{\listoverride\listid20\listoverridecount0\ls20}{\listoverride\listid21\l!
 istoverridecount0\ls21}}
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\f0\b\fs54 \cf0 BWToolkit
+\fs36 \
+
+\b0 Plugin for Interface Builder 3\
+
+\b \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs30 \cf0 Version 1.2.2\
+June 28, 2009\
+Brandon Walkin\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\fs32 \cf0 \
+\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b\fs36 \cf0 Installation
+\b0\fs28 \
+\
+Step 1. Double click the BWToolkit.ibplugin file to load the plugin into Interface Builder\
+\
+Note: Interface Builder will reference this file rather than copy it to another location. Keep the .ibplugin file in a location where it won't be deleted.\
+\
+Step 2. In the Xcode project you want to use the plugin in:\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls1\ilvl0\cf0 {\listtext	\'95	}Right click the Linked Frameworks folder and click Add -> Existing Frameworks. Select the BWToolkitFramework.framework directory.\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls2\ilvl0\cf0 {\listtext	\'95	}Right click your target and click Add -> New Build Phase -> New Copy Files Build Phase. For destination, select Frameworks, leave the path field blank, and close the window.\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls3\ilvl0\cf0 {\listtext	\'95	}Drag the BWToolkit framework from Linked Frameworks to the Copy Files build phase you just added.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+Note: You'll have to repeat step 2 for each project you want to use BWToolkit in.\
+\
+If you need to reference BWToolkit objects in your classes, you can import the main header like so:\
+\
+\pard\tx560\pardeftab560\ql\qnatural\pardirnatural
+
+\f1\fs24 \cf2 \CocoaLigature0 #import \cf3 <BWToolkitFramework/BWToolkitFramework.h>
+\f0\fs28 \cf0 \CocoaLigature1 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\fs32 \cf0 \
+\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b\fs36 \cf0 License\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs28 \cf0 \
+All source code is provided under the three clause BSD license. Attribution is appreciated but by no means required.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\fs32 \cf0 \
+\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b\fs36 \cf0 Contributing\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs28 \cf0 \
+Please email any patches to me at bwalkin at gmail.com.
+\b\fs36 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs32 \cf0 \
+\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b\fs36 \cf0 Compatibility\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs28 \cf0 \
+BWToolkit has been tested to work in IB 3.1.2 (677) and IB 3.2 (732). 
+\b\fs36 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs32 \cf0 \
+\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b\fs36 \cf0 History\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs28 \cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 1.2.2 - June 28, 2009\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls4\ilvl0
+\b0 \cf0 {\listtext	\'95	}Project now builds on Leopard and Snow Leopard without any modifications necessary (thanks Kevin Hiscott)\
+{\listtext	\'95	}The "couldn't strip" warning on Leopard has been fixed\
+{\listtext	\'95	}The ibtool error when using the Styled Text Field on Leopard has been fixed
+\b \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+1.2.1 - June 18, 2009\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls5\ilvl0
+\b0 \cf0 {\listtext	\'95	}The gradient box, hyperlink button, and styled text field header files have been made public so they can be accessed from your classes.
+\b \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+1.2 - June 18, 2009\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls6\ilvl0
+\b0 \cf0 {\listtext	\'95	}New Gradient Box with customizable border and inset lines\
+{\listtext	\'95	}New Hyperlink Button that allows you to link text or images to URLs\
+{\listtext	\'95	}New Styled Text Field that allows you to apply a gradient and a shadow to your text\
+{\listtext	\'95	}Added support for Snow Leopard\
+{\listtext	\'95	}The Anchored Button Bar can now live in the right-most split view pane. Just drag the bar in there and the resize handle will move over to the left side. \
+{\listtext	\'95	}Rewrote Transparent Button and Transparent Pop-Up Button to support image alignment, text justification & truncation, and other standard cell functionality. A similar rewrite will be coming to the Anchored Button & Pop-Up Button soon.\
+{\listtext	\'95	}Fixed an issue where some cells could "take over" other objects in your interface\
+{\listtext	\'95	}Fixed an issue where some images in an Anchored Button & Pop-Up Button would draw upside-down\
+{\listtext	\'95	}Sheet controller ivars can now be accessed and modified from outside the class\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\cf0 	\'95	Fixed an issue where bottom bars would output warnings to the console\
+	\'95	Fixed some memory leaks
+\b \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+1.1 - Feb 23, 2009\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls7\ilvl0
+\b0 \cf0 {\listtext	\'95	}New BWSplitView with:\
+\pard\tx940\tx1440\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li1440\fi-1440\ql\qnatural\pardirnatural
+\ls7\ilvl1\cf0 {\listtext	\uc0\u8259 	}Customizable min and max sizes for subviews\
+{\listtext	\uc0\u8259 	}Ability to specify which subviews should and shouldn't resize through a control in the inspector (which just sets the subview's autoresizing mask)\
+{\listtext	\uc0\u8259 	}Collapsing functionality\
+\pard\tx1660\tx2160\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li2160\fi-2160\ql\qnatural\pardirnatural
+\ls7\ilvl2\cf0 {\listtext	-	}Double click divider to collapse\
+{\listtext	-	}Drag a divider past half of the subview's minimum width to collapse\
+{\listtext	-	}Animated collapse: hook a Toggle button up to the split view's toggleCollapse: action to collapse the subview configured as collapsible. The split view will synchronise its state with the button.\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls7\ilvl0\cf0 {\listtext	\'95	}Removed all split view size constraint functionality from the anchored button bar since BWSplitView handles that now\
+{\listtext	\'95	}Replaced the old colors and fonts icons with the new ones from iWork '09\
+{\listtext	\'95	}Textured slider: fixed bug where certain areas on the slider weren't clickable, zoom buttons now send an action, and fine tuned mouse scrolling behavior (courtesy of Chris Liscio)\
+{\listtext	\'95	}Selectable toolbar: fixed issue where a focus ring would stay visible on a tab change (courtesy of Duncan Wilcox)\
+{\listtext	\'95	}Can now customize the font on BWTokenField in IB\
+{\listtext	\'95	}Fixed various memory leaks\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 1.0.4 - Jan 20, 2009\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls8\ilvl0
+\b0 \cf0 {\listtext	\'95	}Added ability to programmatically disable toolbar items in the selectable toolbar\
+{\listtext	\'95	}Added a notification to the selectable toolbar that gets sent whenever a toolbar item has been clicked (see header for details)\
+{\listtext	\'95	}Added main header file for easy importing\
+{\listtext	\'95	}Fixed issue where the BWToolbarItem inspector wouldn't be updated with the item identifier
+\b \
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls9\ilvl0
+\b0 \cf0 {\listtext	\'95	}There's been an API change in BWSheetController. The delegate method now gets passed the button that initiated the sheet close. This is helpful because in the event that there are multiple buttons hooked up to the messageDelegateAndCloseSheet: method, you can distinguish which button called the method and behave accordingly.\
+{\listtext	\'95	}Fixed disabled appearance for BWAnchoredPopUpButton\
+{\listtext	\'95	}Fixed a bug where a sheet not using BWSheetController could be moved around by its bottom bar\
+{\listtext	\'95	}Fixed toolbar item memory leaks
+\b \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+1.0.3 - Dec 18, 2008\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls10\ilvl0
+\b0 \cf0 {\listtext	\'95	}64-bit support (courtesy of Rob Rix)\
+{\listtext	\'95	}Added disabled appearance and scroll wheel support to BWTexturedSlider\
+{\listtext	\'95	}The selectable toolbar panes are now keyboard accessible\
+{\listtext	\'95	}Anchored button bar now lets you provide your own delegate implementations for the split view (see the header for details)\
+{\listtext	\'95	}Nearly all the headers have been made public\
+{\listtext	\'95	}Fixed memory leaks\
+{\listtext	\'95	}Minor bug fixes\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 \
+1.0.2 - Nov 19, 2008
+\b0 \
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls11\ilvl0\cf0 {\listtext	\'95	}Added a toolbar item with a customizable item identifier\
+{\listtext	\'95	}New methods in the BWSelectableToolbar header for programmatically setting the selected toolbar item\
+{\listtext	\'95	}Reduced the file size of the framework by 40%\
+{\listtext	\'95	}Made the headers for BWSelectableToolbar and BWSplitView public\
+{\listtext	\'95	}Fixed a serious bug where IB would crash whenever a window that contained a selectable toolbar had certain properties modified (like whether it had a unified toolbar or could resize)\
+{\listtext	\'95	}Fixed bug where if a window in IB with a bottom bar was closed and then opened, its bottom bar would disappear\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 \
+1.0.1 - Nov 14, 2008
+\b0 \
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls12\ilvl0\cf0 {\listtext	\'95	}Added Garbage Collection compatibility. Will now compile in GC supported and GC required apps.\
+{\listtext	\'95	}Minor bug fix\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 \
+1.0 - Nov 13, 2008
+\b0 \
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls13\ilvl0\cf0 {\listtext	\'95
+\fs32 	}
+\fs28 Initial Release
+\fs32 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b\fs36 \cf0 Known Issues\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs28 \cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 General\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls14\ilvl0
+\b0 \cf0 {\listtext	\'95	}When you build your project, you may get a warning that says "Could not find object file...". It's harmless and you can ignore it. A fix is being worked on for a future release.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 Selectable Toolbar\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls15\ilvl0
+\b0 \cf0 {\listtext	\'95	}If your IB version is greater than 3.1.1 (672): Simulating is not supported for any document that has a selectable toolbar in it. The toolbar will not be able to save correctly and will be unusable. You will have to quit Interface Builder and restore to a previous version of the nib. Version control is highly recommended. You 
+\b must
+\b0  back up your document on a consistent basis if you want to use this toolbar.\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls16\ilvl0\cf0 {\listtext	\'95	}Interface Builder currently has a bug where a toolbar won't remember any changes to its configuration since an item was added to it. If you take a standard toolbar, rearrange some items in it or remove a few items, it will not remember that configuration when you save the document. To work around this problem, remove an item from the toolbar and add it back before you save the document.\
+{\listtext	\'95	}Undo is not yet supported for active tab switching.\
+{\listtext	\'95	}If you want your window with a selectable toolbar to have a bottom bar, drag the bottom bar item to the window like you would normally, but repeat this for each tab in the window.\
+{\listtext	\'95	}When you re-order the items in the toolbar you'll have to reselect the toolbar for the "Active Tab" pop-up menu to reflect the new order.\
+{\listtext	\'95	}Make sure, in the outline view, not to double click an item in one of the views in the window that is not nested in the window's current content view. Doing so will cause IB to crash. Instead, switch to the tab with the item, then double click it.\
+{\listtext	\'95	}Use no more than one selectable toolbar per NIB/XIB. And no more than one document with a selectable toolbar should be open in IB at any particular time.\
+{\listtext	\'95	}Removing the separator, space, or flexible space from the toolbar's allowed items will remove all items from the toolbar.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 Split View\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls17\ilvl0
+\b0 \cf0 {\listtext	\'95	}Split view attributes are not yet saved through the autosave name.\
+{\listtext	\'95	}The toggle action can't uncollapse a subview that's been collapsed manually by dragging the divider.\
+{\listtext	\'95	}For collapsing using the toggle action, there should only be 1 resizable subview in the split view other than the collapsible view (which can be either resizable or non-resizable).\
+{\listtext	\'95	}Undo isn't fully supported.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 Bottom Bars\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls18\ilvl0
+\b0 \cf0 {\listtext	\'95	}When using the drag handles to resize certain controls positioned on a bottom bar, the window will take the click and will move while the control stays stationary. As a workaround, try holding the Control key while resizing the control. If that fails, resize it in the inspector.\
+{\listtext	\'95	}Bottom bars must be added to the window's content view rather than any subview.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 Anchored Button Bar\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls19\ilvl0
+\b0 \cf0 {\listtext	\'95	}The inspector doesn't update when an undo action is called on a mode change. Just select the mode you want to use in the inspector.\
+{\listtext	\'95	}The bar should have a slightly shorter height in the third mode.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 Anchored Pop Up Button\
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls20\ilvl0
+\b0 \cf0 {\listtext	\'95	}Only the Pull Down type is available at the moment.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+\cf0 \
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b \cf0 Transparent Scroll View
+\b0 \
+\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
+\ls21\ilvl0\cf0 {\listtext	\'95	}Horizontal scrolling is not yet supported.\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\fs32 \cf0 \
+\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b\fs36 \cf0 Acknowledgements\
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
+
+\b0\fs28 \cf0 \
+Thanks to Fraser Kuyvenhoven, Ali Lalani, Brent Gulanowski, and Jonathan Hess for giving me some assistance with this project.\
+}
\ No newline at end of file

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderPhotoLarge.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderPhotoLarge.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderPhotoSmall.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderPhotoSmall.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderSpeakerLoud.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderSpeakerLoud.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderSpeakerQuiet.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderSpeakerQuiet.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderThumbN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderThumbN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderThumbP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderThumbP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderTrackFill.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderTrackFill.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderTrackLeft.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderTrackLeft.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderTrackRight.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TexturedSliderTrackRight.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/ToolbarItemColors.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/ToolbarItemColors.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/ToolbarItemFonts.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/ToolbarItemFonts.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentButtonFillN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentButtonFillN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentButtonFillP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentButtonFillP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentButtonLeftN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentButtonLeftN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentButtonLeftP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentButtonLeftP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentButtonRightN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentButtonRightN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentButtonRightP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentButtonRightP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentCheckboxOffN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentCheckboxOffN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentCheckboxOffP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentCheckboxOffP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentCheckboxOnN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentCheckboxOnN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentCheckboxOnP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentCheckboxOnP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentPopUpFillN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentPopUpFillN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentPopUpFillP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentPopUpFillP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentPopUpLeftN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentPopUpLeftN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentPopUpLeftP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentPopUpLeftP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentPopUpPullDownRightN.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentPopUpPullDownRightN.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentPopUpPullDownRightP.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentPopUpPullDownRightP.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentPopUpRightN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentPopUpRightN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentPopUpRightP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentPopUpRightP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerKnobBottom.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerKnobBottom.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerKnobHorizontalFill.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerKnobHorizontalFill.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerKnobLeft.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerKnobLeft.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerKnobRight.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerKnobRight.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerKnobTop.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerKnobTop.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerKnobVerticalFill.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerKnobVerticalFill.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerSlotBottom.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerSlotBottom.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerSlotHorizontalFill.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerSlotHorizontalFill.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerSlotLeft.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerSlotLeft.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerSlotRight.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerSlotRight.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerSlotTop.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerSlotTop.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerSlotVerticalFill.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentScrollerSlotVerticalFill.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentSliderThumbN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentSliderThumbN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentSliderThumbP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentSliderThumbP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentSliderTrackFill.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentSliderTrackFill.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentSliderTrackLeft.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentSliderTrackLeft.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentSliderTrackRight.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentSliderTrackRight.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentSliderTriangleThumbN.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentSliderTriangleThumbN.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentSliderTriangleThumbP.tiff
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/BWToolkitFramework.framework/Versions/Current/Resources/TransparentSliderTriangleThumbP.tiff
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/Growl.framework/Growl
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/Growl.framework/Growl
___________________________________________________________________
Added: svn:executable
   + *
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/Growl.framework/Headers/Growl.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/Growl.framework/Headers/Growl.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/Growl.framework/Headers/Growl.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,6 @@
+#include "GrowlDefines.h"
+
+#ifdef __OBJC__
+#	include "GrowlApplicationBridge.h"
+#endif
+#include "GrowlApplicationBridge-Carbon.h"

Added: trunk/src/uimacnew09/Frameworks/Growl.framework/Headers/GrowlApplicationBridge-Carbon.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/Growl.framework/Headers/GrowlApplicationBridge-Carbon.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/Growl.framework/Headers/GrowlApplicationBridge-Carbon.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,780 @@
+//
+//  GrowlApplicationBridge-Carbon.h
+//  Growl
+//
+//  Created by Mac-arena the Bored Zo on Wed Jun 18 2004.
+//  Based on GrowlApplicationBridge.h by Evan Schoenberg.
+//  This source code is in the public domain. You may freely link it into any
+//    program.
+//
+
+#ifndef _GROWLAPPLICATIONBRIDGE_CARBON_H_
+#define _GROWLAPPLICATIONBRIDGE_CARBON_H_
+
+#include <sys/cdefs.h>
+#include <Carbon/Carbon.h>
+
+#ifndef GROWL_EXPORT
+#define GROWL_EXPORT __attribute__((visibility("default"))) DEPRECATED_ATTRIBUTE
+#endif
+
+/*!	@header GrowlApplicationBridge-Carbon.h
+ *	@abstract	Declares an API that Carbon applications can use to interact with Growl.
+ *	@discussion	GrowlApplicationBridge uses a delegate to provide information //XXX
+ *	 to Growl (such as your application's name and what notifications it may
+ *	 post) and to provide information to your application (such as that Growl
+ *	 is listening for notifications or that a notification has been clicked).
+ *
+ *	 You can set the Growldelegate with Growl_SetDelegate and find out the
+ *	 current delegate with Growl_GetDelegate. See struct Growl_Delegate for more
+ *	 information about the delegate.
+ */
+
+__BEGIN_DECLS
+
+/*!	@struct Growl_Delegate
+ *	@abstract Delegate to supply GrowlApplicationBridge with information and respond to events.
+ *	@discussion The Growl delegate provides your interface to
+ *	 GrowlApplicationBridge. When GrowlApplicationBridge needs information about
+ *	 your application, it looks for it in the delegate; when Growl or the user
+ *	 does something that you might be interested in, GrowlApplicationBridge
+ *	 looks for a callback in the delegate and calls it if present
+ *	 (meaning, if it is not <code>NULL</code>).
+ *	XXX on all of that
+ *  @field size The size of the delegate structure.
+ * 	@field applicationName The name of your application.
+ * 	@field registrationDictionary A dictionary describing your application and the notifications it can send out.
+ * 	@field applicationIconData Your application's icon.
+ * 	@field growlInstallationWindowTitle The title of the installation window.
+ * 	@field growlInstallationInformation Text to display in the installation window.
+ * 	@field growlUpdateWindowTitle The title of the update window.
+ * 	@field growlUpdateInformation Text to display in the update window.
+ * 	@field referenceCount A count of owners of the delegate.
+ * 	@field retain Called when GrowlApplicationBridge receives this delegate.
+ * 	@field release Called when GrowlApplicationBridge no longer needs this delegate.
+ * 	@field growlIsReady Called when GrowlHelperApp is listening for notifications.
+ * 	@field growlNotificationWasClicked Called when a Growl notification is clicked.
+ *  @field growlNotificationTimedOut Called when a Growl notification timed out.
+ */
+struct Growl_Delegate {
+	/*	@discussion This should be sizeof(struct Growl_Delegate).
+	 */
+	size_t size;
+
+	/*All of these attributes are optional.
+	 *Optional attributes can be NULL; required attributes that
+	 *	 are NULL cause setting the Growl delegate to fail.
+	 *XXX - move optional/required status into the discussion for each field
+	 */
+
+	/* This name is used both internally and in the Growl preferences.
+	 *
+	 *	 This should remain stable between different versions and incarnations of
+	 *	 your application.
+	 *	 For example, "SurfWriter" is a good app name, whereas "SurfWriter 2.0" and
+	 *	 "SurfWriter Lite" are not.
+	 *
+	 * This can be <code>NULL</code> if it is provided elsewhere, namely in an
+	 *	 auto-discoverable plist file in your app bundle
+	 *	 (XXX refer to more information on that) or in registrationDictionary.
+	 */
+	CFStringRef applicationName;
+
+	/*
+	 * Must contain at least these keys:
+	 *	GROWL_NOTIFICATIONS_ALL (CFArray):
+	 *		Contains the names of all notifications your application may post.
+	 *
+	 * Can also contain these keys:
+	 *	GROWL_NOTIFICATIONS_DEFAULT (CFArray):
+	 *		Names of notifications that should be enabled by default.
+	 *		If omitted, GROWL_NOTIFICATIONS_ALL will be used.
+	 *	GROWL_APP_NAME (CFString):
+	 *		Same as the applicationName member of this structure.
+	 *		If both are present, the applicationName member shall prevail.
+	 *		If this key is present, you may omit applicationName (set it to <code>NULL</code>).
+	 *	GROWL_APP_ICON (CFData):
+	 *		Same as the iconData member of this structure.
+	 *		If both are present, the iconData member shall prevail.
+	 *		If this key is present, you may omit iconData (set it to <code>NULL</code>).
+	 *
+	 * If you change the contents of this dictionary after setting the delegate,
+	 *	be sure to call Growl_Reregister.
+	 *
+	 * This can be <code>NULL</code> if you have an auto-discoverable plist file in your app
+	 *	 bundle. (XXX refer to more information on that)
+	 */
+	CFDictionaryRef registrationDictionary;
+
+	/* The data can be in any format supported by NSImage. As of
+	 *	 Mac OS X 10.3, this includes the .icns, TIFF, JPEG, GIF, PNG, PDF, and
+	 *	 PICT formats.
+	 *
+	 *	 If this is not supplied, Growl will look up your application's icon by
+	 *	 its application name.
+	 */
+	CFDataRef applicationIconData;
+
+	/* Installer display attributes
+	 *
+	 * These four attributes are used by the Growl installer, if this framework
+	 *	supports it.
+	 * For any of these being <code>NULL</code>, a localised default will be
+	 *	supplied.
+	 */
+
+	/*	If this is <code>NULL</code>, Growl will use a default,
+	 *	 localized title.
+	 *
+	 *	 Only used if you're using Growl-WithInstaller.framework. Otherwise,
+	 *	 this member is ignored.
+	 */
+	CFStringRef growlInstallationWindowTitle;
+	/*	This information may be as long or short as desired (the
+	 *	 window will be sized to fit it).  If Growl is not installed, it will
+	 *	 be displayed to the user as an explanation of what Growl is and what
+	 *	 it can do in your application.
+	 *	 It should probably note that no download is required to install.
+	 *
+	 *	 If this is <code>NULL</code>, Growl will use a default, localized
+	 *	 explanation.
+	 *
+	 *	 Only used if you're using Growl-WithInstaller.framework. Otherwise,
+	 *	 this member is ignored.
+	 */
+	CFStringRef growlInstallationInformation;
+	/*	If this is <code>NULL</code>, Growl will use a default,
+	 *	 localized title.
+	 *
+	 *	 Only used if you're using Growl-WithInstaller.framework. Otherwise,
+	 *	 this member is ignored.
+	 */
+	CFStringRef growlUpdateWindowTitle;
+	/*	This information may be as long or short as desired (the
+	 *	 window will be sized to fit it).  If an older version of Growl is
+	 *	 installed, it will be displayed to the user as an explanation that an
+	 *	 updated version of Growl is included in your application and
+	 *	 no download is required.
+	 *
+	 *	 If this is <code>NULL</code>, Growl will use a default, localized
+	 *	 explanation.
+	 *
+	 *	 Only used if you're using Growl-WithInstaller.framework. Otherwise,
+	 *	 this member is ignored.
+	 */
+	CFStringRef growlUpdateInformation;
+
+	/*	This member is provided for use by your retain and release
+	 *	 callbacks (see below).
+	 *
+	 *	 GrowlApplicationBridge never directly uses this member. Instead, it
+	 *	 calls your retain callback (if non-<code>NULL</code>) and your release
+	 *	 callback (if non-<code>NULL</code>).
+	 */
+	unsigned referenceCount;
+
+	//Functions. Currently all of these are optional (any of them can be NULL).
+
+	/*	When you call Growl_SetDelegate(newDelegate), it will call
+	 *	 oldDelegate->release(oldDelegate), and then it will call
+	 *	 newDelegate->retain(newDelegate), and the return value from retain
+	 *	 is what will be set as the delegate.
+	 *	 (This means that this member works like CFRetain and -[NSObject retain].)
+	 *	 This member is optional (it can be <code>NULL</code>).
+	 *	 For a delegate allocated with malloc, this member would be
+	 *	 <code>NULL</code>.
+	 *	@result	A delegate to which GrowlApplicationBridge holds a reference.
+	 */
+	void *(*retain)(void *);
+	/*	When you call Growl_SetDelegate(newDelegate), it will call
+	 *	 oldDelegate->release(oldDelegate), and then it will call
+	 *	 newDelegate->retain(newDelegate), and the return value from retain
+	 *	 is what will be set as the delegate.
+	 *	 (This means that this member works like CFRelease and
+	 *	  -[NSObject release].)
+	 *	 This member is optional (it can be NULL).
+	 *	 For a delegate allocated with malloc, this member might be
+	 *	 <code>free</code>(3).
+	 */
+	void (*release)(void *);
+
+	/*	Informs the delegate that Growl (specifically, the GrowlHelperApp) was
+	 *	 launched successfully (or was already running). The application can
+	 *	 take actions with the knowledge that Growl is installed and functional.
+	 */
+	void (*growlIsReady)(void);
+
+	/*	Informs the delegate that a Growl notification was clicked. It is only
+	 *	 sent for notifications sent with a non-<code>NULL</code> clickContext,
+	 *	 so if you want to receive a message when a notification is clicked,
+	 *	 clickContext must not be <code>NULL</code> when calling
+	 *	 Growl_PostNotification or
+	 *	 Growl_NotifyWithTitleDescriptionNameIconPriorityStickyClickContext.
+	 */
+	void (*growlNotificationWasClicked)(CFPropertyListRef clickContext);
+
+	/*	Informs the delegate that a Growl notification timed out. It is only
+	 *	 sent for notifications sent with a non-<code>NULL</code> clickContext,
+	 *	 so if you want to receive a message when a notification is clicked,
+	 *	 clickContext must not be <code>NULL</code> when calling
+	 *	 Growl_PostNotification or
+	 *	 Growl_NotifyWithTitleDescriptionNameIconPriorityStickyClickContext.
+	 */
+	void (*growlNotificationTimedOut)(CFPropertyListRef clickContext);
+};
+
+/*!	@struct Growl_Notification
+ *	@abstract Structure describing a Growl notification.
+ *	@discussion XXX
+ * 	@field size The size of the notification structure.
+ * 	@field name Identifies the notification.
+ * 	@field title Short synopsis of the notification.
+ *  @field description Additional text.
+ * 	@field iconData An icon for the notification.
+ * 	@field priority An indicator of the notification's importance.
+ * 	@field reserved Bits reserved for future usage.
+ * 	@field isSticky Requests that a notification stay on-screen until dismissed explicitly.
+ * 	@field clickContext An identifier to be passed to your click callback when a notification is clicked.
+ * 	@field clickCallback A callback to call when the notification is clicked.
+ */
+struct Growl_Notification {
+	/*	This should be sizeof(struct Growl_Notification).
+	 */
+ 	size_t size;
+
+	/*	The notification name distinguishes one type of
+	 *	 notification from another. The name should be human-readable, as it
+	 *	 will be displayed in the Growl preference pane.
+	 *
+	 *	 The name is used in the GROWL_NOTIFICATIONS_ALL and
+	 *	 GROWL_NOTIFICATIONS_DEFAULT arrays in the registration dictionary, and
+	 *	 in this member of the Growl_Notification structure.
+	 */
+	CFStringRef name;
+
+	/*	A notification's title describes the notification briefly.
+	 *	 It should be easy to read quickly by the user.
+	 */
+	CFStringRef title;
+
+	/*	The description supplements the title with more
+	 *	 information. It is usually longer and sometimes involves a list of
+	 *	 subjects. For example, for a 'Download complete' notification, the
+	 *	 description might have one filename per line. GrowlMail in Growl 0.6
+	 *	 uses a description of '%d new mail(s)' (formatted with the number of
+	 *	 messages).
+	 */
+	CFStringRef description;
+
+	/*	The notification icon usually indicates either what
+	 *	 happened (it may have the same icon as e.g. a toolbar item that
+	 *	 started the process that led to the notification), or what it happened
+	 *	 to (e.g. a document icon).
+	 *
+	 *	 The icon data is optional, so it can be <code>NULL</code>. In that
+	 *	 case, the application icon is used alone. Not all displays support
+	 *	 icons.
+	 *
+	 *	 The data can be in any format supported by NSImage. As of Mac OS X
+	 *	 10.3, this includes the .icns, TIFF, JPEG, GIF, PNG, PDF, and PICT form
+	 *	 ats.
+	 */
+	CFDataRef iconData;
+
+	/*	Priority is new in Growl 0.6, and is represented as a
+	 *	 signed integer from -2 to +2. 0 is Normal priority, -2 is Very Low
+	 *	 priority, and +2 is Very High priority.
+	 *
+	 *	 Not all displays support priority. If you do not wish to assign a
+	 *	 priority to your notification, assign 0.
+	 */
+	signed int priority;
+
+	/*	These bits are not used in Growl 0.6. Set them to 0.
+	 */
+	unsigned reserved: 31;
+
+	/*	When the sticky bit is clear, in most displays,
+	 *	 notifications disappear after a certain amount of time. Sticky
+	 *	 notifications, however, remain on-screen until the user dismisses them
+	 *	 explicitly, usually by clicking them.
+	 *
+	 *	 Sticky notifications were introduced in Growl 0.6. Most notifications
+	 *	 should not be sticky. Not all displays support sticky notifications,
+	 *	 and the user may choose in Growl's preference pane to force the
+	 *	 notification to be sticky or non-sticky, in which case the sticky bit
+	 *	 in the notification will be ignored.
+	 */
+	unsigned isSticky: 1;
+
+	/*	If this is not <code>NULL</code>, and your click callback
+	 *	 is not <code>NULL</code> either, this will be passed to the callback
+	 *	 when your notification is clicked by the user.
+	 *
+	 *	 Click feedback was introduced in Growl 0.6, and it is optional. Not
+	 *	 all displays support click feedback.
+	 */
+	CFPropertyListRef clickContext;
+
+	/*	If this is not <code>NULL</code>, it will be called instead
+	 *	 of the Growl delegate's click callback when clickContext is
+	 *	 non-<code>NULL</code> and the notification is clicked on by the user.
+	 *
+	 *	 Click feedback was introduced in Growl 0.6, and it is optional. Not
+	 *	 all displays support click feedback.
+	 *
+	 *	 The per-notification click callback is not yet supported as of Growl
+	 *	 0.7.
+	 */
+	void (*clickCallback)(CFPropertyListRef clickContext);
+
+	CFStringRef identifier;
+};
+
+#pragma mark -
+#pragma mark Easy initialisers
+
+/*!	@defined	InitGrowlDelegate
+ *	@abstract	Callable macro. Initializes a Growl delegate structure to defaults.
+ *	@discussion	Call with a pointer to a struct Growl_Delegate. All of the
+ *	 members of the structure will be set to 0 or <code>NULL</code>, except for
+ *	 size (which will be set to <code>sizeof(struct Growl_Delegate)</code>) and
+ *	 referenceCount (which will be set to 1).
+ */
+#define InitGrowlDelegate(delegate) \
+	do { \
+		if (delegate) { \
+			(delegate)->size = sizeof(struct Growl_Delegate); \
+			(delegate)->applicationName = NULL; \
+			(delegate)->registrationDictionary = NULL; \
+			(delegate)->applicationIconData = NULL; \
+			(delegate)->growlInstallationWindowTitle = NULL; \
+			(delegate)->growlInstallationInformation = NULL; \
+			(delegate)->growlUpdateWindowTitle = NULL; \
+			(delegate)->growlUpdateInformation = NULL; \
+			(delegate)->referenceCount = 1U; \
+			(delegate)->retain = NULL; \
+			(delegate)->release = NULL; \
+			(delegate)->growlIsReady = NULL; \
+			(delegate)->growlNotificationWasClicked = NULL; \
+			(delegate)->growlNotificationTimedOut = NULL; \
+		} \
+	} while(0)
+
+/*!	@defined	InitGrowlNotification
+ *	@abstract	Callable macro. Initializes a Growl notification structure to defaults.
+ *	@discussion	Call with a pointer to a struct Growl_Notification. All of
+ *	 the members of the structure will be set to 0 or <code>NULL</code>, except
+ *	 for size (which will be set to
+ *	<code>sizeof(struct Growl_Notification)</code>).
+ */
+#define InitGrowlNotification(notification) \
+	do { \
+		if (notification) { \
+			(notification)->size = sizeof(struct Growl_Notification); \
+			(notification)->name = NULL; \
+			(notification)->title = NULL; \
+			(notification)->description = NULL; \
+			(notification)->iconData = NULL; \
+			(notification)->priority = 0; \
+			(notification)->reserved = 0U; \
+			(notification)->isSticky = false; \
+			(notification)->clickContext = NULL; \
+			(notification)->clickCallback = NULL; \
+			(notification)->identifier = NULL; \
+		} \
+	} while(0)
+
+#pragma mark -
+#pragma mark Public API
+
+//	@functiongroup	Managing the Growl delegate
+
+/*!	@function	Growl_SetDelegate
+ *	@abstract	Replaces the current Growl delegate with a new one, or removes
+ *	 the Growl delegate.
+ *	@param	newDelegate
+ *	@result	Returns false and does nothing else if a pointer that was passed in
+ *	 is unsatisfactory (because it is non-<code>NULL</code>, but at least one
+ *	 required member of it is <code>NULL</code>). Otherwise, sets or unsets the
+ *	 delegate and returns true.
+ *	@discussion	When <code>newDelegate</code> is non-<code>NULL</code>, sets
+ *	 the delegate to <code>newDelegate</code>. When it is <code>NULL</code>,
+ *	 the current delegate will be unset, and no delegate will be in place.
+ *
+ *	 It is legal for <code>newDelegate</code> to be the current delegate;
+ *	 nothing will happen, and Growl_SetDelegate will return true. It is also
+ *	 legal for it to be <code>NULL</code>, as described above; again, it will
+ *	 return true.
+ *
+ *	 If there was a delegate in place before the call, Growl_SetDelegate will
+ *	 call the old delegate's release member if it was non-<code>NULL</code>. If
+ *	 <code>newDelegate</code> is non-<code>NULL</code>, Growl_SetDelegate will
+ *	 call <code>newDelegate->retain</code>, and set the delegate to its return
+ *	 value.
+ *
+ *	 If you are using Growl-WithInstaller.framework, and an older version of
+ *	 Growl is installed on the user's system, the user will automatically be
+ *	 prompted to update.
+ *
+ *	 GrowlApplicationBridge currently does not copy this structure, nor does it
+ *	 retain any of the CF objects in the structure (it regards the structure as
+ *	 a container that retains the objects when they are added and releases them
+ *	 when they are removed or the structure is destroyed). Also,
+ *	 GrowlApplicationBridge currently does not modify any member of the
+ *	 structure, except possibly the referenceCount by calling the retain and
+ *	 release members.
+ */
+GROWL_EXPORT Boolean Growl_SetDelegate(struct Growl_Delegate *newDelegate);
+
+/*!	@function	Growl_GetDelegate
+ *	@abstract	Returns the current Growl delegate, if any.
+ *	@result	The current Growl delegate.
+ *	@discussion	Returns the last pointer passed into Growl_SetDelegate, or
+ *	 <code>NULL</code> if no such call has been made.
+ *
+ *	 This function follows standard Core Foundation reference-counting rules.
+ *	 Because it is a Get function, not a Copy function, it will not retain the
+ *	 delegate on your behalf. You are responsible for retaining and releasing
+ *	 the delegate as needed.
+ */
+GROWL_EXPORT struct Growl_Delegate *Growl_GetDelegate(void);
+
+#pragma mark -
+
+//	@functiongroup	Posting Growl notifications
+
+/*!	@function	Growl_PostNotification
+ *	@abstract	Posts a Growl notification.
+ *	@param	notification	The notification to post.
+ *	@discussion	This is the preferred means for sending a Growl notification.
+ *	 The notification name and at least one of the title and description are
+ *	 required (all three are preferred). All other parameters may be
+ *	 <code>NULL</code> (or 0 or false as appropriate) to accept default values.
+ *
+ *	 If using the Growl-WithInstaller framework, if Growl is not installed the
+ *	 user will be prompted to install Growl.
+ *	 If the user cancels, this function will have no effect until the next
+ *	 application session, at which time when it is called the user will be
+ *	 prompted again. The user is also given the option to not be prompted again.
+ *	 If the user does choose to install Growl, the requested notification will
+ *	 be displayed once Growl is installed and running.
+ */
+GROWL_EXPORT void Growl_PostNotification(const struct Growl_Notification *notification);
+
+/*!	@function Growl_PostNotificationWithDictionary
+*	@abstract	Notifies using a userInfo dictionary suitable for passing to
+*	 CFDistributedNotificationCenter.
+*	@param	userInfo	The dictionary to notify with.
+*	@discussion	Before Growl 0.6, your application would have posted
+*	 notifications using CFDistributedNotificationCenter by creating a userInfo
+*	 dictionary with the notification data. This had the advantage of allowing
+*	 you to add other data to the dictionary for programs besides Growl that
+*	 might be listening.
+*
+*	 This function allows you to use such dictionaries without being restricted
+*	 to using CFDistributedNotificationCenter. The keys for this dictionary
+ *	 can be found in GrowlDefines.h.
+*/
+GROWL_EXPORT void Growl_PostNotificationWithDictionary(CFDictionaryRef userInfo);
+
+/*!	@function	Growl_NotifyWithTitleDescriptionNameIconPriorityStickyClickContext
+ *	@abstract	Posts a Growl notification using parameter values.
+ *	@param	title	The title of the notification.
+ *	@param	description	The description of the notification.
+ *	@param	notificationName	The name of the notification as listed in the
+ *	 registration dictionary.
+ *	@param	iconData	Data representing a notification icon. Can be <code>NULL</code>.
+ *	@param	priority	The priority of the notification (-2 to +2, with -2
+ *	 being Very Low and +2 being Very High).
+ *	@param	isSticky	If true, requests that this notification wait for a
+ *	 response from the user.
+ *	@param	clickContext	An object to pass to the clickCallback, if any. Can
+ *	 be <code>NULL</code>, in which case the clickCallback is not called.
+ *	@discussion	Creates a temporary Growl_Notification, fills it out with the
+ *	 supplied information, and calls Growl_PostNotification on it.
+ *	 See struct Growl_Notification and Growl_PostNotification for more
+ *	 information.
+ *
+ *	 The icon data can be in any format supported by NSImage. As of Mac OS X
+ *	 10.3, this includes the .icns, TIFF, JPEG, GIF, PNG, PDF, and PICT formats.
+ */
+GROWL_EXPORT void Growl_NotifyWithTitleDescriptionNameIconPriorityStickyClickContext(
+ /*inhale*/
+	CFStringRef title,
+	CFStringRef description,
+	CFStringRef notificationName,
+	CFDataRef iconData,
+	signed int priority,
+	Boolean isSticky,
+	CFPropertyListRef clickContext);
+
+#pragma mark -
+
+//	@functiongroup	Registering
+
+/*!	@function Growl_RegisterWithDictionary
+ *	@abstract	Register your application with Growl without setting a delegate.
+ *	@discussion	When you call this function with a dictionary,
+ *	 GrowlApplicationBridge registers your application using that dictionary.
+ *	 If you pass <code>NULL</code>, GrowlApplicationBridge will ask the delegate
+ *	 (if there is one) for a dictionary, and if that doesn't work, it will look
+ *	 in your application's bundle for an auto-discoverable plist.
+ *	 (XXX refer to more information on that)
+ *
+ *	 If you pass a dictionary to this function, it must include the
+ *	 <code>GROWL_APP_NAME</code> key, unless a delegate is set.
+ *
+ *	 This function is mainly an alternative to the delegate system introduced
+ *	 with Growl 0.6. Without a delegate, you cannot receive callbacks such as
+ *	 <code>growlIsReady</code> (since they are sent to the delegate). You can,
+ *	 however, set a delegate after registering without one.
+ *
+ *	 This function was introduced in Growl.framework 0.7.
+ *	@result <code>false</code> if registration failed (e.g. if Growl isn't installed).
+ */
+GROWL_EXPORT Boolean Growl_RegisterWithDictionary(CFDictionaryRef regDict);
+
+/*!	@function	Growl_Reregister
+ *	@abstract	Updates your registration with Growl.
+ *	@discussion	If your application changes the contents of the
+ *	 GROWL_NOTIFICATIONS_ALL key in the registrationDictionary member of the
+ *	 Growl delegate, or if it changes the value of that member, or if it
+ *	 changes the contents of its auto-discoverable plist, call this function
+ *	 to have Growl update its registration information for your application.
+ *
+ *	 Otherwise, this function does not normally need to be called. If you're
+ *	 using a delegate, your application will be registered when you set the
+ *	 delegate if both the delegate and its registrationDictionary member are
+ *	 non-<code>NULL</code>.
+ *
+ *	 This function is now implemented using
+ *	 <code>Growl_RegisterWithDictionary</code>.
+ */
+GROWL_EXPORT void Growl_Reregister(void);
+
+#pragma mark -
+
+/*!	@function	Growl_SetWillRegisterWhenGrowlIsReady
+ *	@abstract	Tells GrowlApplicationBridge to register with Growl when Growl
+ *	 launches (or not).
+ *	@discussion	When Growl has started listening for notifications, it posts a
+ *	 <code>GROWL_IS_READY</code> notification on the Distributed Notification
+ *	 Center. GrowlApplicationBridge listens for this notification, using it to
+ *	 perform various tasks (such as calling your delegate's
+ *	 <code>growlIsReady</code> callback, if it has one). If this function is
+ *	 called with <code>true</code>, one of those tasks will be to reregister
+ *	 with Growl (in the manner of <code>Growl_Reregister</code>).
+ *
+ *	 This attribute is automatically set back to <code>false</code>
+ *	 (the default) after every <code>GROWL_IS_READY</code> notification.
+ *	@param	flag	<code>true</code> if you want GrowlApplicationBridge to register with
+ *	 Growl when next it is ready; <code>false</code> if not.
+ */
+GROWL_EXPORT void Growl_SetWillRegisterWhenGrowlIsReady(Boolean flag);
+/*!	@function	Growl_WillRegisterWhenGrowlIsReady
+ *	@abstract	Reports whether GrowlApplicationBridge will register with Growl
+ *	 when Growl next launches.
+ *	@result	<code>true</code> if GrowlApplicationBridge will register with
+ *	 Growl when next it posts GROWL_IS_READY; <code>false</code> if not.
+ */
+GROWL_EXPORT Boolean Growl_WillRegisterWhenGrowlIsReady(void);
+
+#pragma mark -
+
+//	@functiongroup	Obtaining registration dictionaries
+
+/*!	@function	Growl_CopyRegistrationDictionaryFromDelegate
+ *	@abstract	Asks the delegate for a registration dictionary.
+ *	@discussion	If no delegate is set, or if the delegate's
+ *	 <code>registrationDictionary</code> member is <code>NULL</code>, this
+ *	 function returns <code>NULL</code>.
+ *
+ *	 This function does not attempt to clean up the dictionary in any way - for
+ *	 example, if it is missing the <code>GROWL_APP_NAME</code> key, the result
+ *	 will be missing it too. Use
+ *	 <code>Growl_CreateRegistrationDictionaryByFillingInDictionary</code> or
+ *	 <code>Growl_CreateRegistrationDictionaryByFillingInDictionaryRestrictedToKeys</code>
+ *	 to try to fill in missing keys.
+ *
+ *	 This function was introduced in Growl.framework 0.7.
+ *	@result A registration dictionary.
+ */
+GROWL_EXPORT CFDictionaryRef Growl_CopyRegistrationDictionaryFromDelegate(void);
+
+/*!	@function	Growl_CopyRegistrationDictionaryFromBundle
+ *	@abstract	Looks in a bundle for a registration dictionary.
+ *	@discussion	This function looks in a bundle for an auto-discoverable
+ *	 registration dictionary file using <code>CFBundleCopyResourceURL</code>.
+ *	 If it finds one, it loads the file using <code>CFPropertyList</code> and
+ *	 returns the result.
+ *
+ *	 If you pass <code>NULL</code> as the bundle, the main bundle is examined.
+ *
+ *	 This function does not attempt to clean up the dictionary in any way - for
+ *	 example, if it is missing the <code>GROWL_APP_NAME</code> key, the result
+ *	 will be missing it too. Use
+ *	 <code>Growl_CreateRegistrationDictionaryByFillingInDictionary:</code> or
+ *	 <code>Growl_CreateRegistrationDictionaryByFillingInDictionaryRestrictedToKeys</code>
+ *	 to try to fill in missing keys.
+ *
+ *	 This function was introduced in Growl.framework 0.7.
+ *	@result A registration dictionary.
+ */
+GROWL_EXPORT CFDictionaryRef Growl_CopyRegistrationDictionaryFromBundle(CFBundleRef bundle);
+
+/*!	@function	Growl_CreateBestRegistrationDictionary
+ *	@abstract	Obtains a registration dictionary, filled out to the best of
+ *	 GrowlApplicationBridge's knowledge.
+ *	@discussion	This function creates a registration dictionary as best
+ *	 GrowlApplicationBridge knows how.
+ *
+ *	 First, GrowlApplicationBridge examines the Growl delegate (if there is
+ *	 one) and gets the registration dictionary from that. If no such dictionary
+ *	 was obtained, GrowlApplicationBridge looks in your application's main
+ *	 bundle for an auto-discoverable registration dictionary file. If that
+ *	 doesn't exist either, this function returns <code>NULL</code>.
+ *
+ *	 Second, GrowlApplicationBridge calls
+ *	 <code>Growl_CreateRegistrationDictionaryByFillingInDictionary</code> with
+ *	 whatever dictionary was obtained. The result of that function is the
+ *	 result of this function.
+ *
+ *	 GrowlApplicationBridge uses this function when you call
+ *	 <code>Growl_SetDelegate</code>, or when you call
+ *	 <code>Growl_RegisterWithDictionary</code> with <code>NULL</code>.
+ *
+ *	 This function was introduced in Growl.framework 0.7.
+ *	@result	A registration dictionary.
+ */
+GROWL_EXPORT CFDictionaryRef Growl_CreateBestRegistrationDictionary(void);
+
+#pragma mark -
+
+//	@functiongroup	Filling in registration dictionaries
+
+/*!	@function	Growl_CreateRegistrationDictionaryByFillingInDictionary
+ *	@abstract	Tries to fill in missing keys in a registration dictionary.
+ *	@param	regDict	The dictionary to fill in.
+ *	@result	The dictionary with the keys filled in.
+ *	@discussion	This function examines the passed-in dictionary for missing keys,
+ *	 and tries to work out correct values for them. As of 0.7, it uses:
+ *
+ *	 Key							             Value
+ *	 ---							             -----
+ *	 <code>GROWL_APP_NAME</code>                 <code>CFBundleExecutableName</code>
+ *	 <code>GROWL_APP_ICON</code>                 The icon of the application.
+ *	 <code>GROWL_APP_LOCATION</code>             The location of the application.
+ *	 <code>GROWL_NOTIFICATIONS_DEFAULT</code>    <code>GROWL_NOTIFICATIONS_ALL</code>
+ *
+ *	 Keys are only filled in if missing; if a key is present in the dictionary,
+ *	 its value will not be changed.
+ *
+ *	 This function was introduced in Growl.framework 0.7.
+ */
+GROWL_EXPORT CFDictionaryRef Growl_CreateRegistrationDictionaryByFillingInDictionary(CFDictionaryRef regDict);
+/*!	@function	Growl_CreateRegistrationDictionaryByFillingInDictionaryRestrictedToKeys
+ *	@abstract	Tries to fill in missing keys in a registration dictionary.
+ *	@param	regDict	The dictionary to fill in.
+ *	@param	keys	The keys to fill in. If <code>NULL</code>, any missing keys are filled in.
+ *	@result	The dictionary with the keys filled in.
+ *	@discussion	This function examines the passed-in dictionary for missing keys,
+ *	 and tries to work out correct values for them. As of 0.7, it uses:
+ *
+ *	 Key							             Value
+ *	 ---							             -----
+ *	 <code>GROWL_APP_NAME</code>                 <code>CFBundleExecutableName</code>
+ *	 <code>GROWL_APP_ICON</code>                 The icon of the application.
+ *	 <code>GROWL_APP_LOCATION</code>             The location of the application.
+ *	 <code>GROWL_NOTIFICATIONS_DEFAULT</code>    <code>GROWL_NOTIFICATIONS_ALL</code>
+ *
+ *	 Only those keys that are listed in <code>keys</code> will be filled in.
+ *	 Other missing keys are ignored. Also, keys are only filled in if missing;
+ *	 if a key is present in the dictionary, its value will not be changed.
+ *
+ *	 This function was introduced in Growl.framework 0.7.
+ */
+GROWL_EXPORT CFDictionaryRef Growl_CreateRegistrationDictionaryByFillingInDictionaryRestrictedToKeys(CFDictionaryRef regDict, CFSetRef keys);
+
+/*!	@brief	Tries to fill in missing keys in a notification dictionary.
+ *	@param	notifDict	The dictionary to fill in.
+ *	@return	The dictionary with the keys filled in. This will be a separate instance from \a notifDict.
+ *	@discussion	This function examines the \a notifDict for missing keys, and 
+ *	 tries to get them from the last known registration dictionary. As of 1.1, 
+ *	 the keys that it will look for are:
+ *
+ *	 \li <code>GROWL_APP_NAME</code>
+ *	 \li <code>GROWL_APP_ICON</code>
+ *
+ *	@since Growl.framework 1.1
+ */
+GROWL_EXPORT CFDictionaryRef Growl_CreateNotificationDictionaryByFillingInDictionary(CFDictionaryRef notifDict);
+
+#pragma mark -
+
+//	@functiongroup	Querying Growl's status
+
+/*!	@function	Growl_IsInstalled
+ *	@abstract	Determines whether the Growl prefpane and its helper app are
+ *	 installed.
+ *	@result	Returns true if Growl is installed, false otherwise.
+ */
+GROWL_EXPORT Boolean Growl_IsInstalled(void);
+
+/*!	@function	Growl_IsRunning
+ *	@abstract	Cycles through the process list to find whether GrowlHelperApp
+ *	 is running.
+ *	@result	Returns true if Growl is running, false otherwise.
+ */
+GROWL_EXPORT Boolean Growl_IsRunning(void);
+
+#pragma mark -
+
+//	@functiongroup	Launching Growl
+
+/*!	@typedef	GrowlLaunchCallback
+ *	@abstract	Callback to notify you that Growl is running.
+ *	@param	context	The context pointer passed to Growl_LaunchIfInstalled.
+ *	@discussion	Growl_LaunchIfInstalled calls this callback function if Growl
+ *	 was already running or if it launched Growl successfully.
+ */
+typedef void (*GrowlLaunchCallback)(void *context);
+
+/*!	@function	Growl_LaunchIfInstalled
+ *	@abstract	Launches GrowlHelperApp if it is not already running.
+ *	@param	callback	A callback function which will be called if Growl was successfully
+ *	 launched or was already running. Can be <code>NULL</code>.
+ *	@param	context	The context pointer to pass to the callback. Can be <code>NULL</code>.
+ *	@result	Returns true if Growl was successfully launched or was already
+ *	 running; returns false and does not call the callback otherwise.
+ *	@discussion	Returns true and calls the callback (if the callback is not
+ *	 <code>NULL</code>) if the Growl helper app began launching or was already
+ *	 running. Returns false and performs no other action if Growl could not be
+ *	 launched (e.g. because the Growl preference pane is not properly installed).
+ *
+ *	 If <code>Growl_CreateBestRegistrationDictionary</code> returns
+ *	 non-<code>NULL</code>, this function will register with Growl atomically.
+ *
+ *	 The callback should take a single argument; this is to allow applications
+ *	 to have context-relevant information passed back. It is perfectly
+ *	 acceptable for context to be <code>NULL</code>. The callback itself can be
+ *	 <code>NULL</code> if you don't want one.
+ */
+GROWL_EXPORT Boolean Growl_LaunchIfInstalled(GrowlLaunchCallback callback, void *context);
+
+#pragma mark -
+#pragma mark Constants
+
+/*!	@defined	GROWL_PREFPANE_BUNDLE_IDENTIFIER
+ *	@abstract	The CFBundleIdentifier of the Growl preference pane bundle.
+ *	@discussion	GrowlApplicationBridge uses this to determine whether Growl is
+ *	 currently installed, by searching for the Growl preference pane. Your
+ *	 application probably does not need to use this macro itself.
+ */
+#ifndef GROWL_PREFPANE_BUNDLE_IDENTIFIER
+#define GROWL_PREFPANE_BUNDLE_IDENTIFIER	CFSTR("com.growl.prefpanel")
+#endif
+
+__END_DECLS
+
+#endif /* _GROWLAPPLICATIONBRIDGE_CARBON_H_ */

Added: trunk/src/uimacnew09/Frameworks/Growl.framework/Headers/GrowlApplicationBridge.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/Growl.framework/Headers/GrowlApplicationBridge.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/Growl.framework/Headers/GrowlApplicationBridge.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,575 @@
+//
+//  GrowlApplicationBridge.h
+//  Growl
+//
+//  Created by Evan Schoenberg on Wed Jun 16 2004.
+//  Copyright 2004-2006 The Growl Project. All rights reserved.
+//
+
+/*!
+ *	@header		GrowlApplicationBridge.h
+ *	@abstract   Defines the GrowlApplicationBridge class.
+ *	@discussion This header defines the GrowlApplicationBridge class as well as
+ *	 the GROWL_PREFPANE_BUNDLE_IDENTIFIER constant.
+ */
+
+#ifndef __GrowlApplicationBridge_h__
+#define __GrowlApplicationBridge_h__
+
+#import <Foundation/Foundation.h>
+#import <AppKit/AppKit.h>
+#import "GrowlDefines.h"
+
+//Forward declarations
+ at protocol GrowlApplicationBridgeDelegate;
+
+//Internal notification when the user chooses not to install (to avoid continuing to cache notifications awaiting installation)
+#define GROWL_USER_CHOSE_NOT_TO_INSTALL_NOTIFICATION @"User chose not to install"
+
+//------------------------------------------------------------------------------
+#pragma mark -
+
+/*!
+ *	@class      GrowlApplicationBridge
+ *	@abstract   A class used to interface with Growl.
+ *	@discussion This class provides a means to interface with Growl.
+ *
+ *	 Currently it provides a way to detect if Growl is installed and launch the
+ *	 GrowlHelperApp if it's not already running.
+ */
+ at interface GrowlApplicationBridge : NSObject {
+
+}
+
+/*!
+ *	@method isGrowlInstalled
+ *	@abstract Detects whether Growl is installed.
+ *	@discussion Determines if the Growl prefpane and its helper app are installed.
+ *	@result Returns YES if Growl is installed, NO otherwise.
+ */
++ (BOOL) isGrowlInstalled;
+
+/*!
+ *	@method isGrowlRunning
+ *	@abstract Detects whether GrowlHelperApp is currently running.
+ *	@discussion Cycles through the process list to find whether GrowlHelperApp is running and returns its findings.
+ *	@result Returns YES if GrowlHelperApp is running, NO otherwise.
+ */
++ (BOOL) isGrowlRunning;
+
+#pragma mark -
+
+/*!
+ *	@method setGrowlDelegate:
+ *	@abstract Set the object which will be responsible for providing and receiving Growl information.
+ *	@discussion This must be called before using GrowlApplicationBridge.
+ *
+ *	 The methods in the GrowlApplicationBridgeDelegate protocol are required
+ *	 and return the basic information needed to register with Growl.
+ *
+ *	 The methods in the GrowlApplicationBridgeDelegate_InformalProtocol
+ *	 informal protocol are individually optional.  They provide a greater
+ *	 degree of interaction between the application and growl such as informing
+ *	 the application when one of its Growl notifications is clicked by the user.
+ *
+ *	 The methods in the GrowlApplicationBridgeDelegate_Installation_InformalProtocol
+ *	 informal protocol are individually optional and are only applicable when
+ *	 using the Growl-WithInstaller.framework which allows for automated Growl
+ *	 installation.
+ *
+ *	 When this method is called, data will be collected from inDelegate, Growl
+ *	 will be launched if it is not already running, and the application will be
+ *	 registered with Growl.
+ *
+ *	 If using the Growl-WithInstaller framework, if Growl is already installed
+ *	 but this copy of the framework has an updated version of Growl, the user
+ *	 will be prompted to update automatically.
+ *
+ *	@param inDelegate The delegate for the GrowlApplicationBridge. It must conform to the GrowlApplicationBridgeDelegate protocol.
+ */
++ (void) setGrowlDelegate:(NSObject<GrowlApplicationBridgeDelegate> *)inDelegate;
+
+/*!
+ *	@method growlDelegate
+ *	@abstract Return the object responsible for providing and receiving Growl information.
+ *	@discussion See setGrowlDelegate: for details.
+ *	@result The Growl delegate.
+ */
++ (NSObject<GrowlApplicationBridgeDelegate> *) growlDelegate;
+
+#pragma mark -
+
+/*!
+ *	@method notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:
+ *	@abstract Send a Growl notification.
+ *	@discussion This is the preferred means for sending a Growl notification.
+ *	 The notification name and at least one of the title and description are
+ *	 required (all three are preferred).  All other parameters may be
+ *	 <code>nil</code> (or 0 or NO as appropriate) to accept default values.
+ *
+ *	 If using the Growl-WithInstaller framework, if Growl is not installed the
+ *	 user will be prompted to install Growl. If the user cancels, this method
+ *	 will have no effect until the next application session, at which time when
+ *	 it is called the user will be prompted again. The user is also given the
+ *	 option to not be prompted again.  If the user does choose to install Growl,
+ *	 the requested notification will be displayed once Growl is installed and
+ *	 running.
+ *
+ *	@param title		The title of the notification displayed to the user.
+ *	@param description	The full description of the notification displayed to the user.
+ *	@param notifName	The internal name of the notification. Should be human-readable, as it will be displayed in the Growl preference pane.
+ *	@param iconData		<code>NSData</code> object to show with the notification as its icon. If <code>nil</code>, the application's icon will be used instead.
+ *	@param priority		The priority of the notification. The default value is 0; positive values are higher priority and negative values are lower priority. Not all Growl displays support priority.
+ *	@param isSticky		If YES, the notification will remain on screen until clicked. Not all Growl displays support sticky notifications.
+ *	@param clickContext	A context passed back to the Growl delegate if it implements -(void)growlNotificationWasClicked: and the notification is clicked. Not all display plugins support clicking. The clickContext must be plist-encodable (completely of <code>NSString</code>, <code>NSArray</code>, <code>NSNumber</code>, <code>NSDictionary</code>, and <code>NSData</code> types).
+ */
++ (void) notifyWithTitle:(NSString *)title
+			 description:(NSString *)description
+		notificationName:(NSString *)notifName
+				iconData:(NSData *)iconData
+				priority:(signed int)priority
+				isSticky:(BOOL)isSticky
+			clickContext:(id)clickContext;
+
+/*!
+ *	@method notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:identifier:
+ *	@abstract Send a Growl notification.
+ *	@discussion This is the preferred means for sending a Growl notification.
+ *	 The notification name and at least one of the title and description are
+ *	 required (all three are preferred).  All other parameters may be
+ *	 <code>nil</code> (or 0 or NO as appropriate) to accept default values.
+ *
+ *	 If using the Growl-WithInstaller framework, if Growl is not installed the
+ *	 user will be prompted to install Growl. If the user cancels, this method
+ *	 will have no effect until the next application session, at which time when
+ *	 it is called the user will be prompted again. The user is also given the
+ *	 option to not be prompted again.  If the user does choose to install Growl,
+ *	 the requested notification will be displayed once Growl is installed and
+ *	 running.
+ *
+ *	@param title		The title of the notification displayed to the user.
+ *	@param description	The full description of the notification displayed to the user.
+ *	@param notifName	The internal name of the notification. Should be human-readable, as it will be displayed in the Growl preference pane.
+ *	@param iconData		<code>NSData</code> object to show with the notification as its icon. If <code>nil</code>, the application's icon will be used instead.
+ *	@param priority		The priority of the notification. The default value is 0; positive values are higher priority and negative values are lower priority. Not all Growl displays support priority.
+ *	@param isSticky		If YES, the notification will remain on screen until clicked. Not all Growl displays support sticky notifications.
+ *	@param clickContext	A context passed back to the Growl delegate if it implements -(void)growlNotificationWasClicked: and the notification is clicked. Not all display plugins support clicking. The clickContext must be plist-encodable (completely of <code>NSString</code>, <code>NSArray</code>, <code>NSNumber</code>, <code>NSDictionary</code>, and <code>NSData</code> types).
+ *	@param identifier	An identifier for this notification. Notifications with equal identifiers are coalesced.
+ */
++ (void) notifyWithTitle:(NSString *)title
+			 description:(NSString *)description
+		notificationName:(NSString *)notifName
+				iconData:(NSData *)iconData
+				priority:(signed int)priority
+				isSticky:(BOOL)isSticky
+			clickContext:(id)clickContext
+			  identifier:(NSString *)identifier;
+
+/*!	@method	notifyWithDictionary:
+ *	@abstract	Notifies using a userInfo dictionary suitable for passing to
+ *	 <code>NSDistributedNotificationCenter</code>.
+ *	@param	userInfo	The dictionary to notify with.
+ *	@discussion	Before Growl 0.6, your application would have posted
+ *	 notifications using <code>NSDistributedNotificationCenter</code> by
+ *	 creating a userInfo dictionary with the notification data. This had the
+ *	 advantage of allowing you to add other data to the dictionary for programs
+ *	 besides Growl that might be listening.
+ *
+ *	 This method allows you to use such dictionaries without being restricted
+ *	 to using <code>NSDistributedNotificationCenter</code>. The keys for this dictionary
+ *	 can be found in GrowlDefines.h.
+ */
++ (void) notifyWithDictionary:(NSDictionary *)userInfo;
+
+#pragma mark -
+
+/*!	@method	registerWithDictionary:
+ *	@abstract	Register your application with Growl without setting a delegate.
+ *	@discussion	When you call this method with a dictionary,
+ *	 GrowlApplicationBridge registers your application using that dictionary.
+ *	 If you pass <code>nil</code>, GrowlApplicationBridge will ask the delegate
+ *	 (if there is one) for a dictionary, and if that doesn't work, it will look
+ *	 in your application's bundle for an auto-discoverable plist.
+ *	 (XXX refer to more information on that)
+ *
+ *	 If you pass a dictionary to this method, it must include the
+ *	 <code>GROWL_APP_NAME</code> key, unless a delegate is set.
+ *
+ *	 This method is mainly an alternative to the delegate system introduced
+ *	 with Growl 0.6. Without a delegate, you cannot receive callbacks such as
+ *	 <code>-growlIsReady</code> (since they are sent to the delegate). You can,
+ *	 however, set a delegate after registering without one.
+ *
+ *	 This method was introduced in Growl.framework 0.7.
+ */
++ (BOOL) registerWithDictionary:(NSDictionary *)regDict;
+
+/*!	@method	reregisterGrowlNotifications
+ *	@abstract	Reregister the notifications for this application.
+ *	@discussion	This method does not normally need to be called.  If your
+ *	 application changes what notifications it is registering with Growl, call
+ *	 this method to have the Growl delegate's
+ *	 <code>-registrationDictionaryForGrowl</code> method called again and the
+ *	 Growl registration information updated.
+ *
+ *	 This method is now implemented using <code>-registerWithDictionary:</code>.
+ */
++ (void) reregisterGrowlNotifications;
+
+#pragma mark -
+
+/*!	@method	setWillRegisterWhenGrowlIsReady:
+ *	@abstract	Tells GrowlApplicationBridge to register with Growl when Growl
+ *	 launches (or not).
+ *	@discussion	When Growl has started listening for notifications, it posts a
+ *	 <code>GROWL_IS_READY</code> notification on the Distributed Notification
+ *	 Center. GrowlApplicationBridge listens for this notification, using it to
+ *	 perform various tasks (such as calling your delegate's
+ *	 <code>-growlIsReady</code> method, if it has one). If this method is
+ *	 called with <code>YES</code>, one of those tasks will be to reregister
+ *	 with Growl (in the manner of <code>-reregisterGrowlNotifications</code>).
+ *
+ *	 This attribute is automatically set back to <code>NO</code> (the default)
+ *	 after every <code>GROWL_IS_READY</code> notification.
+ *	@param	flag	<code>YES</code> if you want GrowlApplicationBridge to register with
+ *	 Growl when next it is ready; <code>NO</code> if not.
+ */
++ (void) setWillRegisterWhenGrowlIsReady:(BOOL)flag;
+/*!	@method	willRegisterWhenGrowlIsReady
+ *	@abstract	Reports whether GrowlApplicationBridge will register with Growl
+ *	 when Growl next launches.
+ *	@result	<code>YES</code> if GrowlApplicationBridge will register with Growl
+ *	 when next it posts GROWL_IS_READY; <code>NO</code> if not.
+ */
++ (BOOL) willRegisterWhenGrowlIsReady;
+
+#pragma mark -
+
+/*!	@method	registrationDictionaryFromDelegate
+ *	@abstract	Asks the delegate for a registration dictionary.
+ *	@discussion	If no delegate is set, or if the delegate's
+ *	 <code>-registrationDictionaryForGrowl</code> method returns
+ *	 <code>nil</code>, this method returns <code>nil</code>.
+ *
+ *	 This method does not attempt to clean up the dictionary in any way - for
+ *	 example, if it is missing the <code>GROWL_APP_NAME</code> key, the result
+ *	 will be missing it too. Use <code>+[GrowlApplicationBridge
+ *	 registrationDictionaryByFillingInDictionary:]</code> or
+ *	 <code>+[GrowlApplicationBridge
+ *	 registrationDictionaryByFillingInDictionary:restrictToKeys:]</code> to try
+ *	 to fill in missing keys.
+ *
+ *	 This method was introduced in Growl.framework 0.7.
+ *	@result A registration dictionary.
+ */
++ (NSDictionary *) registrationDictionaryFromDelegate;
+
+/*!	@method	registrationDictionaryFromBundle:
+ *	@abstract	Looks in a bundle for a registration dictionary.
+ *	@discussion	This method looks in a bundle for an auto-discoverable
+ *	 registration dictionary file using <code>-[NSBundle
+ *	 pathForResource:ofType:]</code>. If it finds one, it loads the file using
+ *	 <code>+[NSDictionary dictionaryWithContentsOfFile:]</code> and returns the
+ *	 result.
+ *
+ *	 If you pass <code>nil</code> as the bundle, the main bundle is examined.
+ *
+ *	 This method does not attempt to clean up the dictionary in any way - for
+ *	 example, if it is missing the <code>GROWL_APP_NAME</code> key, the result
+ *	 will be missing it too. Use <code>+[GrowlApplicationBridge
+ *	 registrationDictionaryByFillingInDictionary:]</code> or
+ *	 <code>+[GrowlApplicationBridge
+ *	 registrationDictionaryByFillingInDictionary:restrictToKeys:]</code> to try
+ *	 to fill in missing keys.
+ *
+ *	 This method was introduced in Growl.framework 0.7.
+ *	@result A registration dictionary.
+ */
++ (NSDictionary *) registrationDictionaryFromBundle:(NSBundle *)bundle;
+
+/*!	@method	bestRegistrationDictionary
+ *	@abstract	Obtains a registration dictionary, filled out to the best of
+ *	 GrowlApplicationBridge's knowledge.
+ *	@discussion	This method creates a registration dictionary as best
+ *	 GrowlApplicationBridge knows how.
+ *
+ *	 First, GrowlApplicationBridge contacts the Growl delegate (if there is
+ *	 one) and gets the registration dictionary from that. If no such dictionary
+ *	 was obtained, GrowlApplicationBridge looks in your application's main
+ *	 bundle for an auto-discoverable registration dictionary file. If that
+ *	 doesn't exist either, this method returns <code>nil</code>.
+ *
+ *	 Second, GrowlApplicationBridge calls
+ *	 <code>+registrationDictionaryByFillingInDictionary:</code> with whatever
+ *	 dictionary was obtained. The result of that method is the result of this
+ *	 method.
+ *
+ *	 GrowlApplicationBridge uses this method when you call
+ *	 <code>+setGrowlDelegate:</code>, or when you call
+ *	 <code>+registerWithDictionary:</code> with <code>nil</code>.
+ *
+ *	 This method was introduced in Growl.framework 0.7.
+ *	@result	A registration dictionary.
+ */
++ (NSDictionary *) bestRegistrationDictionary;
+
+#pragma mark -
+
+/*!	@method	registrationDictionaryByFillingInDictionary:
+ *	@abstract	Tries to fill in missing keys in a registration dictionary.
+ *	@discussion	This method examines the passed-in dictionary for missing keys,
+ *	 and tries to work out correct values for them. As of 0.7, it uses:
+ *
+ *	 Key							             Value
+ *	 ---							             -----
+ *	 <code>GROWL_APP_NAME</code>                 <code>CFBundleExecutableName</code>
+ *	 <code>GROWL_APP_ICON</code>                 The icon of the application.
+ *	 <code>GROWL_APP_LOCATION</code>             The location of the application.
+ *	 <code>GROWL_NOTIFICATIONS_DEFAULT</code>    <code>GROWL_NOTIFICATIONS_ALL</code>
+ *
+ *	 Keys are only filled in if missing; if a key is present in the dictionary,
+ *	 its value will not be changed.
+ *
+ *	 This method was introduced in Growl.framework 0.7.
+ *	@param	regDict	The dictionary to fill in.
+ *	@result	The dictionary with the keys filled in. This is an autoreleased
+ *	 copy of <code>regDict</code>.
+ */
++ (NSDictionary *) registrationDictionaryByFillingInDictionary:(NSDictionary *)regDict;
+/*!	@method	registrationDictionaryByFillingInDictionary:restrictToKeys:
+ *	@abstract	Tries to fill in missing keys in a registration dictionary.
+ *	@discussion	This method examines the passed-in dictionary for missing keys,
+ *	 and tries to work out correct values for them. As of 0.7, it uses:
+ *
+ *	 Key							             Value
+ *	 ---							             -----
+ *	 <code>GROWL_APP_NAME</code>                 <code>CFBundleExecutableName</code>
+ *	 <code>GROWL_APP_ICON</code>                 The icon of the application.
+ *	 <code>GROWL_APP_LOCATION</code>             The location of the application.
+ *	 <code>GROWL_NOTIFICATIONS_DEFAULT</code>    <code>GROWL_NOTIFICATIONS_ALL</code>
+ *
+ *	 Only those keys that are listed in <code>keys</code> will be filled in.
+ *	 Other missing keys are ignored. Also, keys are only filled in if missing;
+ *	 if a key is present in the dictionary, its value will not be changed.
+ *
+ *	 This method was introduced in Growl.framework 0.7.
+ *	@param	regDict	The dictionary to fill in.
+ *	@param	keys	The keys to fill in. If <code>nil</code>, any missing keys are filled in.
+ *	@result	The dictionary with the keys filled in. This is an autoreleased
+ *	 copy of <code>regDict</code>.
+ */
++ (NSDictionary *) registrationDictionaryByFillingInDictionary:(NSDictionary *)regDict restrictToKeys:(NSSet *)keys;
+
+/*!	@brief	Tries to fill in missing keys in a notification dictionary.
+ *	@param	notifDict	The dictionary to fill in.
+ *	@return	The dictionary with the keys filled in. This will be a separate instance from \a notifDict.
+ *	@discussion	This function examines the \a notifDict for missing keys, and 
+ *	 tries to get them from the last known registration dictionary. As of 1.1, 
+ *	 the keys that it will look for are:
+ *
+ *	 \li <code>GROWL_APP_NAME</code>
+ *	 \li <code>GROWL_APP_ICON</code>
+ *
+ *	@since Growl.framework 1.1
+ */
++ (NSDictionary *) notificationDictionaryByFillingInDictionary:(NSDictionary *)regDict;
+
++ (NSDictionary *) frameworkInfoDictionary;
+ at end
+
+//------------------------------------------------------------------------------
+#pragma mark -
+
+/*!
+ *	@protocol GrowlApplicationBridgeDelegate
+ *	@abstract Required protocol for the Growl delegate.
+ *	@discussion The methods in this protocol are required and are called
+ *	 automatically as needed by GrowlApplicationBridge. See
+ *	 <code>+[GrowlApplicationBridge setGrowlDelegate:]</code>.
+ *	 See also <code>GrowlApplicationBridgeDelegate_InformalProtocol</code>.
+ */
+
+ at protocol GrowlApplicationBridgeDelegate
+
+// -registrationDictionaryForGrowl has moved to the informal protocol as of 0.7.
+
+ at end
+
+//------------------------------------------------------------------------------
+#pragma mark -
+
+/*!
+ *	@category NSObject(GrowlApplicationBridgeDelegate_InformalProtocol)
+ *	@abstract Methods which may be optionally implemented by the GrowlDelegate.
+ *	@discussion The methods in this informal protocol will only be called if implemented by the delegate.
+ */
+ at interface NSObject (GrowlApplicationBridgeDelegate_InformalProtocol)
+
+/*!
+ *	@method registrationDictionaryForGrowl
+ *	@abstract Return the dictionary used to register this application with Growl.
+ *	@discussion The returned dictionary gives Growl the complete list of
+ *	 notifications this application will ever send, and it also specifies which
+ *	 notifications should be enabled by default.  Each is specified by an array
+ *	 of <code>NSString</code> objects.
+ *
+ *	 For most applications, these two arrays can be the same (if all sent
+ *	 notifications should be displayed by default).
+ *
+ *	 The <code>NSString</code> objects of these arrays will correspond to the
+ *	 <code>notificationName:</code> parameter passed in
+ *	 <code>+[GrowlApplicationBridge
+ *	 notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:]</code> calls.
+ *
+ *	 The dictionary should have the required key object pairs:
+ *	 key: GROWL_NOTIFICATIONS_ALL		object: <code>NSArray</code> of <code>NSString</code> objects
+ *	 key: GROWL_NOTIFICATIONS_DEFAULT	object: <code>NSArray</code> of <code>NSString</code> objects
+ *
+ *   The dictionary may have the following key object pairs:
+ *   key: GROWL_NOTIFICATIONS_HUMAN_READABLE_NAMES	object: <code>NSDictionary</code> of key: notification name		object: human-readable notification name
+ *
+ *	 You do not need to implement this method if you have an auto-discoverable
+ *	 plist file in your app bundle. (XXX refer to more information on that)
+ *
+ *	@result The <code>NSDictionary</code> to use for registration.
+ */
+- (NSDictionary *) registrationDictionaryForGrowl;
+
+/*!
+ *	@method applicationNameForGrowl
+ *	@abstract Return the name of this application which will be used for Growl bookkeeping.
+ *	@discussion This name is used both internally and in the Growl preferences.
+ *
+ *	 This should remain stable between different versions and incarnations of
+ *	 your application.
+ *	 For example, "SurfWriter" is a good app name, whereas "SurfWriter 2.0" and
+ *	 "SurfWriter Lite" are not.
+ *
+ *	 You do not need to implement this method if you are providing the
+ *	 application name elsewhere, meaning in an auto-discoverable plist file in
+ *	 your app bundle (XXX refer to more information on that) or in the result
+ *	 of -registrationDictionaryForGrowl.
+ *
+ *	@result The name of the application using Growl.
+ */
+- (NSString *) applicationNameForGrowl;
+
+/*!
+ *	@method applicationIconForGrowl
+ *	@abstract Return the <code>NSImage</code> to treat as the application icon.
+ *	@discussion The delegate may optionally return an <code>NSImage</code>
+ *	 object to use as the application icon. If this method is not implemented,
+ *	 {{{-applicationIconDataForGrowl}}} is tried. If that method is not
+ *	 implemented, the application's own icon is used. Neither method is
+ *	 generally needed.
+ *	@result The <code>NSImage</code> to treat as the application icon.
+ */
+- (NSImage *) applicationIconForGrowl;
+
+/*!
+ *	@method applicationIconDataForGrowl
+ *	@abstract Return the <code>NSData</code> to treat as the application icon.
+ *	@discussion The delegate may optionally return an <code>NSData</code>
+ *	 object to use as the application icon; if this is not implemented, the
+ *	 application's own icon is used.  This is not generally needed.
+ *	@result The <code>NSData</code> to treat as the application icon.
+ *	@deprecated In version 1.1, in favor of {{{-applicationIconForGrowl}}}.
+ */
+- (NSData *) applicationIconDataForGrowl;
+
+/*!
+ *	@method growlIsReady
+ *	@abstract Informs the delegate that Growl has launched.
+ *	@discussion Informs the delegate that Growl (specifically, the
+ *	 GrowlHelperApp) was launched successfully. The application can take actions
+ *   with the knowledge that Growl is installed and functional.
+ */
+- (void) growlIsReady;
+
+/*!
+ *	@method growlNotificationWasClicked:
+ *	@abstract Informs the delegate that a Growl notification was clicked.
+ *	@discussion Informs the delegate that a Growl notification was clicked.  It
+ *	 is only sent for notifications sent with a non-<code>nil</code>
+ *	 clickContext, so if you want to receive a message when a notification is
+ *	 clicked, clickContext must not be <code>nil</code> when calling
+ *	 <code>+[GrowlApplicationBridge notifyWithTitle: description:notificationName:iconData:priority:isSticky:clickContext:]</code>.
+ *	@param clickContext The clickContext passed when displaying the notification originally via +[GrowlApplicationBridge notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:].
+ */
+- (void) growlNotificationWasClicked:(id)clickContext;
+
+/*!
+ *	@method growlNotificationTimedOut:
+ *	@abstract Informs the delegate that a Growl notification timed out.
+ *	@discussion Informs the delegate that a Growl notification timed out. It
+ *	 is only sent for notifications sent with a non-<code>nil</code>
+ *	 clickContext, so if you want to receive a message when a notification is
+ *	 clicked, clickContext must not be <code>nil</code> when calling
+ *	 <code>+[GrowlApplicationBridge notifyWithTitle: description:notificationName:iconData:priority:isSticky:clickContext:]</code>.
+ *	@param clickContext The clickContext passed when displaying the notification originally via +[GrowlApplicationBridge notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:].
+ */
+- (void) growlNotificationTimedOut:(id)clickContext;
+
+ at end
+
+#pragma mark -
+/*!
+ *	@category NSObject(GrowlApplicationBridgeDelegate_Installation_InformalProtocol)
+ *	@abstract Methods which may be optionally implemented by the Growl delegate when used with Growl-WithInstaller.framework.
+ *	@discussion The methods in this informal protocol will only be called if
+ *	 implemented by the delegate.  They allow greater control of the information
+ *	 presented to the user when installing or upgrading Growl from within your
+ *	 application when using Growl-WithInstaller.framework.
+ */
+ at interface NSObject (GrowlApplicationBridgeDelegate_Installation_InformalProtocol)
+
+/*!
+ *	@method growlInstallationWindowTitle
+ *	@abstract Return the title of the installation window.
+ *	@discussion If not implemented, Growl will use a default, localized title.
+ *	@result An NSString object to use as the title.
+ */
+- (NSString *)growlInstallationWindowTitle;
+
+/*!
+ *	@method growlUpdateWindowTitle
+ *	@abstract Return the title of the upgrade window.
+ *	@discussion If not implemented, Growl will use a default, localized title.
+ *	@result An NSString object to use as the title.
+ */
+- (NSString *)growlUpdateWindowTitle;
+
+/*!
+ *	@method growlInstallationInformation
+ *	@abstract Return the information to display when installing.
+ *	@discussion This information may be as long or short as desired (the window
+ *	 will be sized to fit it).  It will be displayed to the user as an
+ *	 explanation of what Growl is and what it can do in your application.  It
+ *	 should probably note that no download is required to install.
+ *
+ *	 If this is not implemented, Growl will use a default, localized explanation.
+ *	@result An NSAttributedString object to display.
+ */
+- (NSAttributedString *)growlInstallationInformation;
+
+/*!
+ *	@method growlUpdateInformation
+ *	@abstract Return the information to display when upgrading.
+ *	@discussion This information may be as long or short as desired (the window
+ *	 will be sized to fit it).  It will be displayed to the user as an
+ *	 explanation that an updated version of Growl is included in your
+ *	 application and no download is required.
+ *
+ *	 If this is not implemented, Growl will use a default, localized explanation.
+ *	@result An NSAttributedString object to display.
+ */
+- (NSAttributedString *)growlUpdateInformation;
+
+ at end
+
+//private
+ at interface GrowlApplicationBridge (GrowlInstallationPrompt_private)
++ (void) _userChoseNotToInstallGrowl;
+ at end
+
+#endif /* __GrowlApplicationBridge_h__ */

Added: trunk/src/uimacnew09/Frameworks/Growl.framework/Headers/GrowlDefines.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/Growl.framework/Headers/GrowlDefines.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/Growl.framework/Headers/GrowlDefines.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,348 @@
+//
+//  GrowlDefines.h
+//
+
+#ifndef _GROWLDEFINES_H
+#define _GROWLDEFINES_H
+
+#ifdef __OBJC__
+#define XSTR(x) (@x)
+#define STRING_TYPE NSString *
+#else
+#define XSTR CFSTR
+#define STRING_TYPE CFStringRef
+#endif
+
+/*!	@header GrowlDefines.h
+ *	@abstract   Defines all the notification keys.
+ *	@discussion Defines all the keys used for registration with Growl and for
+ *	 Growl notifications.
+ *
+ *	 Most applications should use the functions or methods of Growl.framework
+ *	 instead of posting notifications such as those described here.
+ *	@updated 2004-01-25
+ */
+
+// UserInfo Keys for Registration
+#pragma mark UserInfo Keys for Registration
+
+/*!	@group Registration userInfo keys */
+/*	@abstract	Keys for the userInfo dictionary of a GROWL_APP_REGISTRATION distributed notification.
+ *	@discussion The values of these keys describe the application and the
+ *	 notifications it may post.
+ *
+ *	 Your application must register with Growl before it can post Growl
+ *	 notifications (and have them not be ignored). However, as of Growl 0.6,
+ *	 posting GROWL_APP_REGISTRATION notifications directly is no longer the
+ *	 preferred way to register your application. Your application should instead
+ *	 use Growl.framework's delegate system.
+ *	 See +[GrowlApplicationBridge setGrowlDelegate:] or Growl_SetDelegate for
+ *	 more information.
+ */
+
+/*!	@defined GROWL_APP_NAME
+ *	@abstract The name of your application.
+ *	@discussion The name of your application. This should remain stable between
+ *	 different versions and incarnations of your application.
+ *	 For example, "SurfWriter" is a good app name, whereas "SurfWriter 2.0" and
+ *	 "SurfWriter Lite" are not.
+ */
+#define GROWL_APP_NAME					XSTR("ApplicationName")
+/*!	@defined GROWL_APP_ID
+ *	@abstract The bundle identifier of your application.
+ *	@discussion The bundle identifier of your application. This key should
+ *   be unique for your application while there may be several applications
+ *   with the same GROWL_APP_NAME.
+ *   This key is optional.
+ */
+#define GROWL_APP_ID					XSTR("ApplicationId")
+/*!	@defined GROWL_APP_ICON
+ *	@abstract The image data for your application's icon.
+ *	@discussion Image data representing your application's icon. This may be
+ *	 superimposed on a notification icon as a badge, used as the notification
+ *	 icon when a notification-specific icon is not supplied, or ignored
+ *	 altogether, depending on the display. Must be in a format supported by
+ *	 NSImage, such as TIFF, PNG, GIF, JPEG, BMP, PICT, or PDF.
+ *
+ *	 Optional. Not supported by all display plugins.
+ */
+#define GROWL_APP_ICON					XSTR("ApplicationIcon")
+/*!	@defined GROWL_NOTIFICATIONS_DEFAULT
+ *	@abstract The array of notifications to turn on by default.
+ *	@discussion These are the names of the notifications that should be enabled
+ *	 by default when your application registers for the first time. If your
+ *	 application reregisters, Growl will look here for any new notification
+ *	 names found in GROWL_NOTIFICATIONS_ALL, but ignore any others.
+ */
+#define GROWL_NOTIFICATIONS_DEFAULT		XSTR("DefaultNotifications")
+/*!	@defined GROWL_NOTIFICATIONS_ALL
+ *	@abstract The array of all notifications your application can send.
+ *	@discussion These are the names of all of the notifications that your
+ *	 application may post. See GROWL_NOTIFICATION_NAME for a discussion of good
+ *	 notification names.
+ */
+#define GROWL_NOTIFICATIONS_ALL			XSTR("AllNotifications")
+/*! @defined GROWL_NOTIFICATIONS_HUMAN_READABLE_DESCRIPTIONS
+ *  @abstract A dictionary of human-readable names for your notifications.
+ *  @discussion By default, the Growl UI will display notifications by the names given in GROWL_NOTIFICATIONS_ALL
+ *  which correspond to the GROWL_NOTIFICATION_NAME. This dictionary specifies the human-readable name to display.
+ *  The keys of the dictionary are GROWL_NOTIFICATION_NAME strings; the objects are the human-readable versions.
+ *  For any GROWL_NOTIFICATION_NAME not specific in this dictionary, the GROWL_NOTIFICATION_NAME will be displayed.
+ *
+ *  This key is optional.
+ */
+#define GROWL_NOTIFICATIONS_HUMAN_READABLE_NAMES		XSTR("HumanReadableNames")
+/*! @defined GROWL_NOTIFICATIONS_DESCRIPTIONS
+*  @abstract A dictionary of descriptions of _when_ each notification occurs
+*  @discussion This is an NSDictionary whose keys are GROWL_NOTIFICATION_NAME strings and whose objects are
+*  descriptions of _when_ each notification occurs, such as "You received a new mail message" or
+*  "A file finished downloading".
+*
+*  This key is optional.
+*/
+#define GROWL_NOTIFICATIONS_DESCRIPTIONS		XSTR("NotificationDescriptions")
+
+/*!	@defined	GROWL_TICKET_VERSION
+ *	@abstract	The version of your registration ticket.
+ *	@discussion	Include this key in a ticket plist file that you put in your
+ *	 application bundle for auto-discovery. The current ticket version is 1.
+ */
+#define GROWL_TICKET_VERSION			XSTR("TicketVersion")
+// UserInfo Keys for Notifications
+#pragma mark UserInfo Keys for Notifications
+
+/*!	@group Notification userInfo keys */
+/*	@abstract	Keys for the userInfo dictionary of a GROWL_NOTIFICATION distributed notification.
+ *	@discussion The values of these keys describe the content of a Growl
+ *	 notification.
+ *
+ *	 Not all of these keys are supported by all displays. Only the name, title,
+ *	 and description of a notification are universal. Most of the built-in
+ *	 displays do support all of these keys, and most other visual displays
+ *	 probably will also. But, as of 0.6, the Log, MailMe, and Speech displays
+ *	 support only textual data.
+ */
+
+/*!	@defined GROWL_NOTIFICATION_NAME
+ *	@abstract The name of the notification.
+ *	@discussion The name of the notification. Note that if you do not define
+ *  GROWL_NOTIFICATIONS_HUMAN_READABLE_NAMES when registering your ticket originally this name
+ *  will the one displayed within the Growl preference pane and should be human-readable.
+ */
+#define GROWL_NOTIFICATION_NAME			XSTR("NotificationName")
+/*!	@defined GROWL_NOTIFICATION_TITLE
+ *	@abstract The title to display in the notification.
+ *	@discussion The title of the notification. Should be very brief.
+ *	 The title usually says what happened, e.g. "Download complete".
+ */
+#define GROWL_NOTIFICATION_TITLE		XSTR("NotificationTitle")
+/*!	@defined GROWL_NOTIFICATION_DESCRIPTION
+ *	@abstract The description to display in the notification.
+ *	@discussion The description should be longer and more verbose than the title.
+ *	 The description usually tells the subject of the action,
+ *	 e.g. "Growl-0.6.dmg downloaded in 5.02 minutes".
+ */
+#define GROWL_NOTIFICATION_DESCRIPTION  	XSTR("NotificationDescription")
+/*!	@defined GROWL_NOTIFICATION_ICON
+ *	@discussion Image data for the notification icon. Must be in a format
+ *	 supported by NSImage, such as TIFF, PNG, GIF, JPEG, BMP, PICT, or PDF.
+ *
+ *	 Optional. Not supported by all display plugins.
+ */
+#define GROWL_NOTIFICATION_ICON			XSTR("NotificationIcon")
+/*!	@defined GROWL_NOTIFICATION_APP_ICON
+ *	@discussion Image data for the application icon, in case GROWL_APP_ICON does
+ *	 not apply for some reason. Must be in a format supported by NSImage, such
+ *	 as TIFF, PNG, GIF, JPEG, BMP, PICT, or PDF.
+ *
+ *	 Optional. Not supported by all display plugins.
+ */
+#define GROWL_NOTIFICATION_APP_ICON		XSTR("NotificationAppIcon")
+/*!	@defined GROWL_NOTIFICATION_PRIORITY
+ *	@discussion The priority of the notification as an integer number from
+ *	 -2 to +2 (+2 being highest).
+ *
+ *	 Optional. Not supported by all display plugins.
+ */
+#define GROWL_NOTIFICATION_PRIORITY		XSTR("NotificationPriority")
+/*!	@defined GROWL_NOTIFICATION_STICKY
+ *	@discussion A Boolean number controlling whether the notification is sticky.
+ *
+ *	 Optional. Not supported by all display plugins.
+ */
+#define GROWL_NOTIFICATION_STICKY		XSTR("NotificationSticky")
+/*!	@defined GROWL_NOTIFICATION_CLICK_CONTEXT
+ *	@abstract Identifies which notification was clicked.
+ *	@discussion An identifier for the notification for clicking purposes.
+ *
+ *	 This will be passed back to the application when the notification is
+ *	 clicked. It must be plist-encodable (a data, dictionary, array, number, or
+ *	 string object), and it should be unique for each notification you post.
+ *	 A good click context would be a UUID string returned by NSProcessInfo or
+ *	 CFUUID.
+ *
+ *	 Optional. Not supported by all display plugins.
+ */
+#define GROWL_NOTIFICATION_CLICK_CONTEXT			XSTR("NotificationClickContext")
+
+/*!	@defined GROWL_DISPLAY_PLUGIN
+ *	@discussion The name of a display plugin which should be used for this notification.
+ *    Optional. If this key is not set or the specified display plugin does not
+ *    exist, the display plugin stored in the application ticket is used. This key
+ *    allows applications to use different default display plugins for their
+ *    notifications. The user can still override those settings in the preference
+ *    pane.
+ */
+#define GROWL_DISPLAY_PLUGIN				XSTR("NotificationDisplayPlugin")
+
+/*!	@defined GROWL_NOTIFICATION_IDENTIFIER
+ *	@abstract An identifier for the notification for coalescing purposes.
+ *   Notifications with the same identifier fall into the same class; only
+ *   the last notification of a class is displayed on the screen. If a
+ *   notification of the same class is currently being displayed, it is
+ *   replaced by this notification.
+ *
+ *	 Optional. Not supported by all display plugins.
+ */
+#define GROWL_NOTIFICATION_IDENTIFIER	XSTR("GrowlNotificationIdentifier")
+
+/*!	@defined GROWL_APP_PID
+ *	@abstract The process identifier of the process which sends this
+ *   notification. If this field is set, the application will only receive
+ *   clicked and timed out notifications which originate from this process.
+ *
+ *	 Optional.
+ */
+#define GROWL_APP_PID					XSTR("ApplicationPID")
+
+/*!	@defined GROWL_NOTIFICATION_PROGRESS
+*	@abstract If this key is set, it should contain a double value wrapped
+*     in a NSNumber which describes some sort of progress (from 0.0 to 100.0).
+*     If this is key is not set, no progress bar is shown.
+*
+*	 Optional. Not supported by all display plugins.
+*/
+#define GROWL_NOTIFICATION_PROGRESS		XSTR("NotificationProgress")
+
+// Notifications
+#pragma mark Notifications
+
+/*!	@group Notification names */
+/*	@abstract	Names of distributed notifications used by Growl.
+ *	@discussion	These are notifications used by applications (directly or
+ *	 indirectly) to interact with Growl, and by Growl for interaction between
+ *	 its components.
+ *
+ *	 Most of these should no longer be used in Growl 0.6 and later, in favor of
+ *	 Growl.framework's GrowlApplicationBridge APIs.
+ */
+
+/*!	@defined GROWL_APP_REGISTRATION
+ *	@abstract The distributed notification for registering your application.
+ *	@discussion This is the name of the distributed notification that can be
+ *	 used to register applications with Growl.
+ *
+ *	 The userInfo dictionary for this notification can contain these keys:
+ *	 <ul>
+ *	 	<li>GROWL_APP_NAME</li>
+ *	 	<li>GROWL_APP_ICON</li>
+ *	 	<li>GROWL_NOTIFICATIONS_ALL</li>
+ *	 	<li>GROWL_NOTIFICATIONS_DEFAULT</li>
+ *	 </ul>
+ *
+ *	 No longer recommended as of Growl 0.6. An alternate method of registering
+ *	 is to use Growl.framework's delegate system.
+ *	 See +[GrowlApplicationBridge setGrowlDelegate:] or Growl_SetDelegate for
+ *	 more information.
+ */
+#define GROWL_APP_REGISTRATION			XSTR("GrowlApplicationRegistrationNotification")
+/*!	@defined GROWL_APP_REGISTRATION_CONF
+ *	@abstract The distributed notification for confirming registration.
+ *	@discussion The name of the distributed notification sent to confirm the
+ *	 registration. Used by the Growl preference pane. Your application probably
+ *	 does not need to use this notification.
+ */
+#define GROWL_APP_REGISTRATION_CONF		XSTR("GrowlApplicationRegistrationConfirmationNotification")
+/*!	@defined GROWL_NOTIFICATION
+ *	@abstract The distributed notification for Growl notifications.
+ *	@discussion This is what it all comes down to. This is the name of the
+ *	 distributed notification that your application posts to actually send a
+ *	 Growl notification.
+ *
+ *	 The userInfo dictionary for this notification can contain these keys:
+ *	 <ul>
+ *	 	<li>GROWL_NOTIFICATION_NAME (required)</li>
+ *	 	<li>GROWL_NOTIFICATION_TITLE (required)</li>
+ *	 	<li>GROWL_NOTIFICATION_DESCRIPTION (required)</li>
+ *	 	<li>GROWL_NOTIFICATION_ICON</li>
+ *	 	<li>GROWL_NOTIFICATION_APP_ICON</li>
+ *	 	<li>GROWL_NOTIFICATION_PRIORITY</li>
+ *	 	<li>GROWL_NOTIFICATION_STICKY</li>
+ *	 	<li>GROWL_NOTIFICATION_CLICK_CONTEXT</li>
+ *	 	<li>GROWL_APP_NAME (required)</li>
+ *	 </ul>
+ *
+ *	 No longer recommended as of Growl 0.6. Three alternate methods of posting
+ *	 notifications are +[GrowlApplicationBridge notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:],
+ *	 Growl_NotifyWithTitleDescriptionNameIconPriorityStickyClickContext, and
+ *	 Growl_PostNotification.
+ */
+#define GROWL_NOTIFICATION				XSTR("GrowlNotification")
+/*!	@defined GROWL_SHUTDOWN
+*	@abstract The distributed notification name that tells Growl to shutdown.
+*	@discussion The Growl preference pane posts this notification when the
+*	 "Stop Growl" button is clicked.
+*/
+#define GROWL_SHUTDOWN					XSTR("GrowlShutdown")
+/*!	@defined GROWL_PING
+ *	@abstract A distributed notification to check whether Growl is running.
+ *	@discussion This is used by the Growl preference pane. If it receives a
+ *	 GROWL_PONG, the preference pane takes this to mean that Growl is running.
+ */
+#define GROWL_PING						XSTR("Honey, Mind Taking Out The Trash")
+/*!	@defined GROWL_PONG
+ *	@abstract The distributed notification sent in reply to GROWL_PING.
+ *	@discussion GrowlHelperApp posts this in reply to GROWL_PING.
+ */
+#define GROWL_PONG						XSTR("What Do You Want From Me, Woman")
+/*!	@defined GROWL_IS_READY
+ *	@abstract The distributed notification sent when Growl starts up.
+ *	@discussion GrowlHelperApp posts this when it has begin listening on all of
+ *	 its sources for new notifications. GrowlApplicationBridge (in
+ *	 Growl.framework), upon receiving this notification, reregisters using the
+ *	 registration dictionary supplied by its delegate.
+ */
+#define GROWL_IS_READY					XSTR("Lend Me Some Sugar; I Am Your Neighbor!")
+/*!	@defined GROWL_NOTIFICATION_CLICKED
+ *	@abstract The distributed notification sent when a supported notification is clicked.
+ *	@discussion When a Growl notification with a click context is clicked on by
+ *	 the user, Growl posts this distributed notification.
+ *	 The GrowlApplicationBridge responds to this notification by calling a
+ *	 callback in its delegate.
+ */
+#define GROWL_NOTIFICATION_CLICKED		XSTR("GrowlClicked!")
+#define GROWL_NOTIFICATION_TIMED_OUT	XSTR("GrowlTimedOut!")
+
+/*!	@group Other symbols */
+/* Symbols which don't fit into any of the other categories. */
+
+/*!	@defined GROWL_KEY_CLICKED_CONTEXT
+ *	@abstract Used internally as the key for the clickedContext passed over DNC.
+ *	@discussion This key is used in GROWL_NOTIFICATION_CLICKED, and contains the
+ *	 click context that was supplied in the original notification.
+ */
+#define GROWL_KEY_CLICKED_CONTEXT		XSTR("ClickedContext")
+/*!	@defined GROWL_REG_DICT_EXTENSION
+ *	@abstract The filename extension for registration dictionaries.
+ *	@discussion The GrowlApplicationBridge in Growl.framework registers with
+ *	 Growl by creating a file with the extension of .(GROWL_REG_DICT_EXTENSION)
+ *	 and opening it in the GrowlHelperApp. This happens whether or not Growl is
+ *	 running; if it was stopped, it quits immediately without listening for
+ *	 notifications.
+ */
+#define GROWL_REG_DICT_EXTENSION		XSTR("growlRegDict")
+
+
+#define GROWL_POSITION_PREFERENCE_KEY			@"GrowlSelectedPosition"
+
+#endif //ndef _GROWLDEFINES_H

Added: trunk/src/uimacnew09/Frameworks/Growl.framework/Resources/Info.plist
===================================================================
--- trunk/src/uimacnew09/Frameworks/Growl.framework/Resources/Info.plist	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/Growl.framework/Resources/Info.plist	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,24 @@
+<?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>Growl</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.growl.growlframework</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.2</string>
+	<key>CFBundleSignature</key>
+	<string>GRRR</string>
+	<key>CFBundleVersion</key>
+	<string>1.2</string>
+	<key>NSPrincipalClass</key>
+	<string>GrowlApplicationBridge</string>
+</dict>
+</plist>

Added: trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/Growl
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/Growl
___________________________________________________________________
Added: svn:executable
   + *
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/Headers/Growl.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/Headers/Growl.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/Headers/Growl.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,6 @@
+#include "GrowlDefines.h"
+
+#ifdef __OBJC__
+#	include "GrowlApplicationBridge.h"
+#endif
+#include "GrowlApplicationBridge-Carbon.h"

Added: trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/Headers/GrowlApplicationBridge-Carbon.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/Headers/GrowlApplicationBridge-Carbon.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/Headers/GrowlApplicationBridge-Carbon.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,780 @@
+//
+//  GrowlApplicationBridge-Carbon.h
+//  Growl
+//
+//  Created by Mac-arena the Bored Zo on Wed Jun 18 2004.
+//  Based on GrowlApplicationBridge.h by Evan Schoenberg.
+//  This source code is in the public domain. You may freely link it into any
+//    program.
+//
+
+#ifndef _GROWLAPPLICATIONBRIDGE_CARBON_H_
+#define _GROWLAPPLICATIONBRIDGE_CARBON_H_
+
+#include <sys/cdefs.h>
+#include <Carbon/Carbon.h>
+
+#ifndef GROWL_EXPORT
+#define GROWL_EXPORT __attribute__((visibility("default"))) DEPRECATED_ATTRIBUTE
+#endif
+
+/*!	@header GrowlApplicationBridge-Carbon.h
+ *	@abstract	Declares an API that Carbon applications can use to interact with Growl.
+ *	@discussion	GrowlApplicationBridge uses a delegate to provide information //XXX
+ *	 to Growl (such as your application's name and what notifications it may
+ *	 post) and to provide information to your application (such as that Growl
+ *	 is listening for notifications or that a notification has been clicked).
+ *
+ *	 You can set the Growldelegate with Growl_SetDelegate and find out the
+ *	 current delegate with Growl_GetDelegate. See struct Growl_Delegate for more
+ *	 information about the delegate.
+ */
+
+__BEGIN_DECLS
+
+/*!	@struct Growl_Delegate
+ *	@abstract Delegate to supply GrowlApplicationBridge with information and respond to events.
+ *	@discussion The Growl delegate provides your interface to
+ *	 GrowlApplicationBridge. When GrowlApplicationBridge needs information about
+ *	 your application, it looks for it in the delegate; when Growl or the user
+ *	 does something that you might be interested in, GrowlApplicationBridge
+ *	 looks for a callback in the delegate and calls it if present
+ *	 (meaning, if it is not <code>NULL</code>).
+ *	XXX on all of that
+ *  @field size The size of the delegate structure.
+ * 	@field applicationName The name of your application.
+ * 	@field registrationDictionary A dictionary describing your application and the notifications it can send out.
+ * 	@field applicationIconData Your application's icon.
+ * 	@field growlInstallationWindowTitle The title of the installation window.
+ * 	@field growlInstallationInformation Text to display in the installation window.
+ * 	@field growlUpdateWindowTitle The title of the update window.
+ * 	@field growlUpdateInformation Text to display in the update window.
+ * 	@field referenceCount A count of owners of the delegate.
+ * 	@field retain Called when GrowlApplicationBridge receives this delegate.
+ * 	@field release Called when GrowlApplicationBridge no longer needs this delegate.
+ * 	@field growlIsReady Called when GrowlHelperApp is listening for notifications.
+ * 	@field growlNotificationWasClicked Called when a Growl notification is clicked.
+ *  @field growlNotificationTimedOut Called when a Growl notification timed out.
+ */
+struct Growl_Delegate {
+	/*	@discussion This should be sizeof(struct Growl_Delegate).
+	 */
+	size_t size;
+
+	/*All of these attributes are optional.
+	 *Optional attributes can be NULL; required attributes that
+	 *	 are NULL cause setting the Growl delegate to fail.
+	 *XXX - move optional/required status into the discussion for each field
+	 */
+
+	/* This name is used both internally and in the Growl preferences.
+	 *
+	 *	 This should remain stable between different versions and incarnations of
+	 *	 your application.
+	 *	 For example, "SurfWriter" is a good app name, whereas "SurfWriter 2.0" and
+	 *	 "SurfWriter Lite" are not.
+	 *
+	 * This can be <code>NULL</code> if it is provided elsewhere, namely in an
+	 *	 auto-discoverable plist file in your app bundle
+	 *	 (XXX refer to more information on that) or in registrationDictionary.
+	 */
+	CFStringRef applicationName;
+
+	/*
+	 * Must contain at least these keys:
+	 *	GROWL_NOTIFICATIONS_ALL (CFArray):
+	 *		Contains the names of all notifications your application may post.
+	 *
+	 * Can also contain these keys:
+	 *	GROWL_NOTIFICATIONS_DEFAULT (CFArray):
+	 *		Names of notifications that should be enabled by default.
+	 *		If omitted, GROWL_NOTIFICATIONS_ALL will be used.
+	 *	GROWL_APP_NAME (CFString):
+	 *		Same as the applicationName member of this structure.
+	 *		If both are present, the applicationName member shall prevail.
+	 *		If this key is present, you may omit applicationName (set it to <code>NULL</code>).
+	 *	GROWL_APP_ICON (CFData):
+	 *		Same as the iconData member of this structure.
+	 *		If both are present, the iconData member shall prevail.
+	 *		If this key is present, you may omit iconData (set it to <code>NULL</code>).
+	 *
+	 * If you change the contents of this dictionary after setting the delegate,
+	 *	be sure to call Growl_Reregister.
+	 *
+	 * This can be <code>NULL</code> if you have an auto-discoverable plist file in your app
+	 *	 bundle. (XXX refer to more information on that)
+	 */
+	CFDictionaryRef registrationDictionary;
+
+	/* The data can be in any format supported by NSImage. As of
+	 *	 Mac OS X 10.3, this includes the .icns, TIFF, JPEG, GIF, PNG, PDF, and
+	 *	 PICT formats.
+	 *
+	 *	 If this is not supplied, Growl will look up your application's icon by
+	 *	 its application name.
+	 */
+	CFDataRef applicationIconData;
+
+	/* Installer display attributes
+	 *
+	 * These four attributes are used by the Growl installer, if this framework
+	 *	supports it.
+	 * For any of these being <code>NULL</code>, a localised default will be
+	 *	supplied.
+	 */
+
+	/*	If this is <code>NULL</code>, Growl will use a default,
+	 *	 localized title.
+	 *
+	 *	 Only used if you're using Growl-WithInstaller.framework. Otherwise,
+	 *	 this member is ignored.
+	 */
+	CFStringRef growlInstallationWindowTitle;
+	/*	This information may be as long or short as desired (the
+	 *	 window will be sized to fit it).  If Growl is not installed, it will
+	 *	 be displayed to the user as an explanation of what Growl is and what
+	 *	 it can do in your application.
+	 *	 It should probably note that no download is required to install.
+	 *
+	 *	 If this is <code>NULL</code>, Growl will use a default, localized
+	 *	 explanation.
+	 *
+	 *	 Only used if you're using Growl-WithInstaller.framework. Otherwise,
+	 *	 this member is ignored.
+	 */
+	CFStringRef growlInstallationInformation;
+	/*	If this is <code>NULL</code>, Growl will use a default,
+	 *	 localized title.
+	 *
+	 *	 Only used if you're using Growl-WithInstaller.framework. Otherwise,
+	 *	 this member is ignored.
+	 */
+	CFStringRef growlUpdateWindowTitle;
+	/*	This information may be as long or short as desired (the
+	 *	 window will be sized to fit it).  If an older version of Growl is
+	 *	 installed, it will be displayed to the user as an explanation that an
+	 *	 updated version of Growl is included in your application and
+	 *	 no download is required.
+	 *
+	 *	 If this is <code>NULL</code>, Growl will use a default, localized
+	 *	 explanation.
+	 *
+	 *	 Only used if you're using Growl-WithInstaller.framework. Otherwise,
+	 *	 this member is ignored.
+	 */
+	CFStringRef growlUpdateInformation;
+
+	/*	This member is provided for use by your retain and release
+	 *	 callbacks (see below).
+	 *
+	 *	 GrowlApplicationBridge never directly uses this member. Instead, it
+	 *	 calls your retain callback (if non-<code>NULL</code>) and your release
+	 *	 callback (if non-<code>NULL</code>).
+	 */
+	unsigned referenceCount;
+
+	//Functions. Currently all of these are optional (any of them can be NULL).
+
+	/*	When you call Growl_SetDelegate(newDelegate), it will call
+	 *	 oldDelegate->release(oldDelegate), and then it will call
+	 *	 newDelegate->retain(newDelegate), and the return value from retain
+	 *	 is what will be set as the delegate.
+	 *	 (This means that this member works like CFRetain and -[NSObject retain].)
+	 *	 This member is optional (it can be <code>NULL</code>).
+	 *	 For a delegate allocated with malloc, this member would be
+	 *	 <code>NULL</code>.
+	 *	@result	A delegate to which GrowlApplicationBridge holds a reference.
+	 */
+	void *(*retain)(void *);
+	/*	When you call Growl_SetDelegate(newDelegate), it will call
+	 *	 oldDelegate->release(oldDelegate), and then it will call
+	 *	 newDelegate->retain(newDelegate), and the return value from retain
+	 *	 is what will be set as the delegate.
+	 *	 (This means that this member works like CFRelease and
+	 *	  -[NSObject release].)
+	 *	 This member is optional (it can be NULL).
+	 *	 For a delegate allocated with malloc, this member might be
+	 *	 <code>free</code>(3).
+	 */
+	void (*release)(void *);
+
+	/*	Informs the delegate that Growl (specifically, the GrowlHelperApp) was
+	 *	 launched successfully (or was already running). The application can
+	 *	 take actions with the knowledge that Growl is installed and functional.
+	 */
+	void (*growlIsReady)(void);
+
+	/*	Informs the delegate that a Growl notification was clicked. It is only
+	 *	 sent for notifications sent with a non-<code>NULL</code> clickContext,
+	 *	 so if you want to receive a message when a notification is clicked,
+	 *	 clickContext must not be <code>NULL</code> when calling
+	 *	 Growl_PostNotification or
+	 *	 Growl_NotifyWithTitleDescriptionNameIconPriorityStickyClickContext.
+	 */
+	void (*growlNotificationWasClicked)(CFPropertyListRef clickContext);
+
+	/*	Informs the delegate that a Growl notification timed out. It is only
+	 *	 sent for notifications sent with a non-<code>NULL</code> clickContext,
+	 *	 so if you want to receive a message when a notification is clicked,
+	 *	 clickContext must not be <code>NULL</code> when calling
+	 *	 Growl_PostNotification or
+	 *	 Growl_NotifyWithTitleDescriptionNameIconPriorityStickyClickContext.
+	 */
+	void (*growlNotificationTimedOut)(CFPropertyListRef clickContext);
+};
+
+/*!	@struct Growl_Notification
+ *	@abstract Structure describing a Growl notification.
+ *	@discussion XXX
+ * 	@field size The size of the notification structure.
+ * 	@field name Identifies the notification.
+ * 	@field title Short synopsis of the notification.
+ *  @field description Additional text.
+ * 	@field iconData An icon for the notification.
+ * 	@field priority An indicator of the notification's importance.
+ * 	@field reserved Bits reserved for future usage.
+ * 	@field isSticky Requests that a notification stay on-screen until dismissed explicitly.
+ * 	@field clickContext An identifier to be passed to your click callback when a notification is clicked.
+ * 	@field clickCallback A callback to call when the notification is clicked.
+ */
+struct Growl_Notification {
+	/*	This should be sizeof(struct Growl_Notification).
+	 */
+ 	size_t size;
+
+	/*	The notification name distinguishes one type of
+	 *	 notification from another. The name should be human-readable, as it
+	 *	 will be displayed in the Growl preference pane.
+	 *
+	 *	 The name is used in the GROWL_NOTIFICATIONS_ALL and
+	 *	 GROWL_NOTIFICATIONS_DEFAULT arrays in the registration dictionary, and
+	 *	 in this member of the Growl_Notification structure.
+	 */
+	CFStringRef name;
+
+	/*	A notification's title describes the notification briefly.
+	 *	 It should be easy to read quickly by the user.
+	 */
+	CFStringRef title;
+
+	/*	The description supplements the title with more
+	 *	 information. It is usually longer and sometimes involves a list of
+	 *	 subjects. For example, for a 'Download complete' notification, the
+	 *	 description might have one filename per line. GrowlMail in Growl 0.6
+	 *	 uses a description of '%d new mail(s)' (formatted with the number of
+	 *	 messages).
+	 */
+	CFStringRef description;
+
+	/*	The notification icon usually indicates either what
+	 *	 happened (it may have the same icon as e.g. a toolbar item that
+	 *	 started the process that led to the notification), or what it happened
+	 *	 to (e.g. a document icon).
+	 *
+	 *	 The icon data is optional, so it can be <code>NULL</code>. In that
+	 *	 case, the application icon is used alone. Not all displays support
+	 *	 icons.
+	 *
+	 *	 The data can be in any format supported by NSImage. As of Mac OS X
+	 *	 10.3, this includes the .icns, TIFF, JPEG, GIF, PNG, PDF, and PICT form
+	 *	 ats.
+	 */
+	CFDataRef iconData;
+
+	/*	Priority is new in Growl 0.6, and is represented as a
+	 *	 signed integer from -2 to +2. 0 is Normal priority, -2 is Very Low
+	 *	 priority, and +2 is Very High priority.
+	 *
+	 *	 Not all displays support priority. If you do not wish to assign a
+	 *	 priority to your notification, assign 0.
+	 */
+	signed int priority;
+
+	/*	These bits are not used in Growl 0.6. Set them to 0.
+	 */
+	unsigned reserved: 31;
+
+	/*	When the sticky bit is clear, in most displays,
+	 *	 notifications disappear after a certain amount of time. Sticky
+	 *	 notifications, however, remain on-screen until the user dismisses them
+	 *	 explicitly, usually by clicking them.
+	 *
+	 *	 Sticky notifications were introduced in Growl 0.6. Most notifications
+	 *	 should not be sticky. Not all displays support sticky notifications,
+	 *	 and the user may choose in Growl's preference pane to force the
+	 *	 notification to be sticky or non-sticky, in which case the sticky bit
+	 *	 in the notification will be ignored.
+	 */
+	unsigned isSticky: 1;
+
+	/*	If this is not <code>NULL</code>, and your click callback
+	 *	 is not <code>NULL</code> either, this will be passed to the callback
+	 *	 when your notification is clicked by the user.
+	 *
+	 *	 Click feedback was introduced in Growl 0.6, and it is optional. Not
+	 *	 all displays support click feedback.
+	 */
+	CFPropertyListRef clickContext;
+
+	/*	If this is not <code>NULL</code>, it will be called instead
+	 *	 of the Growl delegate's click callback when clickContext is
+	 *	 non-<code>NULL</code> and the notification is clicked on by the user.
+	 *
+	 *	 Click feedback was introduced in Growl 0.6, and it is optional. Not
+	 *	 all displays support click feedback.
+	 *
+	 *	 The per-notification click callback is not yet supported as of Growl
+	 *	 0.7.
+	 */
+	void (*clickCallback)(CFPropertyListRef clickContext);
+
+	CFStringRef identifier;
+};
+
+#pragma mark -
+#pragma mark Easy initialisers
+
+/*!	@defined	InitGrowlDelegate
+ *	@abstract	Callable macro. Initializes a Growl delegate structure to defaults.
+ *	@discussion	Call with a pointer to a struct Growl_Delegate. All of the
+ *	 members of the structure will be set to 0 or <code>NULL</code>, except for
+ *	 size (which will be set to <code>sizeof(struct Growl_Delegate)</code>) and
+ *	 referenceCount (which will be set to 1).
+ */
+#define InitGrowlDelegate(delegate) \
+	do { \
+		if (delegate) { \
+			(delegate)->size = sizeof(struct Growl_Delegate); \
+			(delegate)->applicationName = NULL; \
+			(delegate)->registrationDictionary = NULL; \
+			(delegate)->applicationIconData = NULL; \
+			(delegate)->growlInstallationWindowTitle = NULL; \
+			(delegate)->growlInstallationInformation = NULL; \
+			(delegate)->growlUpdateWindowTitle = NULL; \
+			(delegate)->growlUpdateInformation = NULL; \
+			(delegate)->referenceCount = 1U; \
+			(delegate)->retain = NULL; \
+			(delegate)->release = NULL; \
+			(delegate)->growlIsReady = NULL; \
+			(delegate)->growlNotificationWasClicked = NULL; \
+			(delegate)->growlNotificationTimedOut = NULL; \
+		} \
+	} while(0)
+
+/*!	@defined	InitGrowlNotification
+ *	@abstract	Callable macro. Initializes a Growl notification structure to defaults.
+ *	@discussion	Call with a pointer to a struct Growl_Notification. All of
+ *	 the members of the structure will be set to 0 or <code>NULL</code>, except
+ *	 for size (which will be set to
+ *	<code>sizeof(struct Growl_Notification)</code>).
+ */
+#define InitGrowlNotification(notification) \
+	do { \
+		if (notification) { \
+			(notification)->size = sizeof(struct Growl_Notification); \
+			(notification)->name = NULL; \
+			(notification)->title = NULL; \
+			(notification)->description = NULL; \
+			(notification)->iconData = NULL; \
+			(notification)->priority = 0; \
+			(notification)->reserved = 0U; \
+			(notification)->isSticky = false; \
+			(notification)->clickContext = NULL; \
+			(notification)->clickCallback = NULL; \
+			(notification)->identifier = NULL; \
+		} \
+	} while(0)
+
+#pragma mark -
+#pragma mark Public API
+
+//	@functiongroup	Managing the Growl delegate
+
+/*!	@function	Growl_SetDelegate
+ *	@abstract	Replaces the current Growl delegate with a new one, or removes
+ *	 the Growl delegate.
+ *	@param	newDelegate
+ *	@result	Returns false and does nothing else if a pointer that was passed in
+ *	 is unsatisfactory (because it is non-<code>NULL</code>, but at least one
+ *	 required member of it is <code>NULL</code>). Otherwise, sets or unsets the
+ *	 delegate and returns true.
+ *	@discussion	When <code>newDelegate</code> is non-<code>NULL</code>, sets
+ *	 the delegate to <code>newDelegate</code>. When it is <code>NULL</code>,
+ *	 the current delegate will be unset, and no delegate will be in place.
+ *
+ *	 It is legal for <code>newDelegate</code> to be the current delegate;
+ *	 nothing will happen, and Growl_SetDelegate will return true. It is also
+ *	 legal for it to be <code>NULL</code>, as described above; again, it will
+ *	 return true.
+ *
+ *	 If there was a delegate in place before the call, Growl_SetDelegate will
+ *	 call the old delegate's release member if it was non-<code>NULL</code>. If
+ *	 <code>newDelegate</code> is non-<code>NULL</code>, Growl_SetDelegate will
+ *	 call <code>newDelegate->retain</code>, and set the delegate to its return
+ *	 value.
+ *
+ *	 If you are using Growl-WithInstaller.framework, and an older version of
+ *	 Growl is installed on the user's system, the user will automatically be
+ *	 prompted to update.
+ *
+ *	 GrowlApplicationBridge currently does not copy this structure, nor does it
+ *	 retain any of the CF objects in the structure (it regards the structure as
+ *	 a container that retains the objects when they are added and releases them
+ *	 when they are removed or the structure is destroyed). Also,
+ *	 GrowlApplicationBridge currently does not modify any member of the
+ *	 structure, except possibly the referenceCount by calling the retain and
+ *	 release members.
+ */
+GROWL_EXPORT Boolean Growl_SetDelegate(struct Growl_Delegate *newDelegate);
+
+/*!	@function	Growl_GetDelegate
+ *	@abstract	Returns the current Growl delegate, if any.
+ *	@result	The current Growl delegate.
+ *	@discussion	Returns the last pointer passed into Growl_SetDelegate, or
+ *	 <code>NULL</code> if no such call has been made.
+ *
+ *	 This function follows standard Core Foundation reference-counting rules.
+ *	 Because it is a Get function, not a Copy function, it will not retain the
+ *	 delegate on your behalf. You are responsible for retaining and releasing
+ *	 the delegate as needed.
+ */
+GROWL_EXPORT struct Growl_Delegate *Growl_GetDelegate(void);
+
+#pragma mark -
+
+//	@functiongroup	Posting Growl notifications
+
+/*!	@function	Growl_PostNotification
+ *	@abstract	Posts a Growl notification.
+ *	@param	notification	The notification to post.
+ *	@discussion	This is the preferred means for sending a Growl notification.
+ *	 The notification name and at least one of the title and description are
+ *	 required (all three are preferred). All other parameters may be
+ *	 <code>NULL</code> (or 0 or false as appropriate) to accept default values.
+ *
+ *	 If using the Growl-WithInstaller framework, if Growl is not installed the
+ *	 user will be prompted to install Growl.
+ *	 If the user cancels, this function will have no effect until the next
+ *	 application session, at which time when it is called the user will be
+ *	 prompted again. The user is also given the option to not be prompted again.
+ *	 If the user does choose to install Growl, the requested notification will
+ *	 be displayed once Growl is installed and running.
+ */
+GROWL_EXPORT void Growl_PostNotification(const struct Growl_Notification *notification);
+
+/*!	@function Growl_PostNotificationWithDictionary
+*	@abstract	Notifies using a userInfo dictionary suitable for passing to
+*	 CFDistributedNotificationCenter.
+*	@param	userInfo	The dictionary to notify with.
+*	@discussion	Before Growl 0.6, your application would have posted
+*	 notifications using CFDistributedNotificationCenter by creating a userInfo
+*	 dictionary with the notification data. This had the advantage of allowing
+*	 you to add other data to the dictionary for programs besides Growl that
+*	 might be listening.
+*
+*	 This function allows you to use such dictionaries without being restricted
+*	 to using CFDistributedNotificationCenter. The keys for this dictionary
+ *	 can be found in GrowlDefines.h.
+*/
+GROWL_EXPORT void Growl_PostNotificationWithDictionary(CFDictionaryRef userInfo);
+
+/*!	@function	Growl_NotifyWithTitleDescriptionNameIconPriorityStickyClickContext
+ *	@abstract	Posts a Growl notification using parameter values.
+ *	@param	title	The title of the notification.
+ *	@param	description	The description of the notification.
+ *	@param	notificationName	The name of the notification as listed in the
+ *	 registration dictionary.
+ *	@param	iconData	Data representing a notification icon. Can be <code>NULL</code>.
+ *	@param	priority	The priority of the notification (-2 to +2, with -2
+ *	 being Very Low and +2 being Very High).
+ *	@param	isSticky	If true, requests that this notification wait for a
+ *	 response from the user.
+ *	@param	clickContext	An object to pass to the clickCallback, if any. Can
+ *	 be <code>NULL</code>, in which case the clickCallback is not called.
+ *	@discussion	Creates a temporary Growl_Notification, fills it out with the
+ *	 supplied information, and calls Growl_PostNotification on it.
+ *	 See struct Growl_Notification and Growl_PostNotification for more
+ *	 information.
+ *
+ *	 The icon data can be in any format supported by NSImage. As of Mac OS X
+ *	 10.3, this includes the .icns, TIFF, JPEG, GIF, PNG, PDF, and PICT formats.
+ */
+GROWL_EXPORT void Growl_NotifyWithTitleDescriptionNameIconPriorityStickyClickContext(
+ /*inhale*/
+	CFStringRef title,
+	CFStringRef description,
+	CFStringRef notificationName,
+	CFDataRef iconData,
+	signed int priority,
+	Boolean isSticky,
+	CFPropertyListRef clickContext);
+
+#pragma mark -
+
+//	@functiongroup	Registering
+
+/*!	@function Growl_RegisterWithDictionary
+ *	@abstract	Register your application with Growl without setting a delegate.
+ *	@discussion	When you call this function with a dictionary,
+ *	 GrowlApplicationBridge registers your application using that dictionary.
+ *	 If you pass <code>NULL</code>, GrowlApplicationBridge will ask the delegate
+ *	 (if there is one) for a dictionary, and if that doesn't work, it will look
+ *	 in your application's bundle for an auto-discoverable plist.
+ *	 (XXX refer to more information on that)
+ *
+ *	 If you pass a dictionary to this function, it must include the
+ *	 <code>GROWL_APP_NAME</code> key, unless a delegate is set.
+ *
+ *	 This function is mainly an alternative to the delegate system introduced
+ *	 with Growl 0.6. Without a delegate, you cannot receive callbacks such as
+ *	 <code>growlIsReady</code> (since they are sent to the delegate). You can,
+ *	 however, set a delegate after registering without one.
+ *
+ *	 This function was introduced in Growl.framework 0.7.
+ *	@result <code>false</code> if registration failed (e.g. if Growl isn't installed).
+ */
+GROWL_EXPORT Boolean Growl_RegisterWithDictionary(CFDictionaryRef regDict);
+
+/*!	@function	Growl_Reregister
+ *	@abstract	Updates your registration with Growl.
+ *	@discussion	If your application changes the contents of the
+ *	 GROWL_NOTIFICATIONS_ALL key in the registrationDictionary member of the
+ *	 Growl delegate, or if it changes the value of that member, or if it
+ *	 changes the contents of its auto-discoverable plist, call this function
+ *	 to have Growl update its registration information for your application.
+ *
+ *	 Otherwise, this function does not normally need to be called. If you're
+ *	 using a delegate, your application will be registered when you set the
+ *	 delegate if both the delegate and its registrationDictionary member are
+ *	 non-<code>NULL</code>.
+ *
+ *	 This function is now implemented using
+ *	 <code>Growl_RegisterWithDictionary</code>.
+ */
+GROWL_EXPORT void Growl_Reregister(void);
+
+#pragma mark -
+
+/*!	@function	Growl_SetWillRegisterWhenGrowlIsReady
+ *	@abstract	Tells GrowlApplicationBridge to register with Growl when Growl
+ *	 launches (or not).
+ *	@discussion	When Growl has started listening for notifications, it posts a
+ *	 <code>GROWL_IS_READY</code> notification on the Distributed Notification
+ *	 Center. GrowlApplicationBridge listens for this notification, using it to
+ *	 perform various tasks (such as calling your delegate's
+ *	 <code>growlIsReady</code> callback, if it has one). If this function is
+ *	 called with <code>true</code>, one of those tasks will be to reregister
+ *	 with Growl (in the manner of <code>Growl_Reregister</code>).
+ *
+ *	 This attribute is automatically set back to <code>false</code>
+ *	 (the default) after every <code>GROWL_IS_READY</code> notification.
+ *	@param	flag	<code>true</code> if you want GrowlApplicationBridge to register with
+ *	 Growl when next it is ready; <code>false</code> if not.
+ */
+GROWL_EXPORT void Growl_SetWillRegisterWhenGrowlIsReady(Boolean flag);
+/*!	@function	Growl_WillRegisterWhenGrowlIsReady
+ *	@abstract	Reports whether GrowlApplicationBridge will register with Growl
+ *	 when Growl next launches.
+ *	@result	<code>true</code> if GrowlApplicationBridge will register with
+ *	 Growl when next it posts GROWL_IS_READY; <code>false</code> if not.
+ */
+GROWL_EXPORT Boolean Growl_WillRegisterWhenGrowlIsReady(void);
+
+#pragma mark -
+
+//	@functiongroup	Obtaining registration dictionaries
+
+/*!	@function	Growl_CopyRegistrationDictionaryFromDelegate
+ *	@abstract	Asks the delegate for a registration dictionary.
+ *	@discussion	If no delegate is set, or if the delegate's
+ *	 <code>registrationDictionary</code> member is <code>NULL</code>, this
+ *	 function returns <code>NULL</code>.
+ *
+ *	 This function does not attempt to clean up the dictionary in any way - for
+ *	 example, if it is missing the <code>GROWL_APP_NAME</code> key, the result
+ *	 will be missing it too. Use
+ *	 <code>Growl_CreateRegistrationDictionaryByFillingInDictionary</code> or
+ *	 <code>Growl_CreateRegistrationDictionaryByFillingInDictionaryRestrictedToKeys</code>
+ *	 to try to fill in missing keys.
+ *
+ *	 This function was introduced in Growl.framework 0.7.
+ *	@result A registration dictionary.
+ */
+GROWL_EXPORT CFDictionaryRef Growl_CopyRegistrationDictionaryFromDelegate(void);
+
+/*!	@function	Growl_CopyRegistrationDictionaryFromBundle
+ *	@abstract	Looks in a bundle for a registration dictionary.
+ *	@discussion	This function looks in a bundle for an auto-discoverable
+ *	 registration dictionary file using <code>CFBundleCopyResourceURL</code>.
+ *	 If it finds one, it loads the file using <code>CFPropertyList</code> and
+ *	 returns the result.
+ *
+ *	 If you pass <code>NULL</code> as the bundle, the main bundle is examined.
+ *
+ *	 This function does not attempt to clean up the dictionary in any way - for
+ *	 example, if it is missing the <code>GROWL_APP_NAME</code> key, the result
+ *	 will be missing it too. Use
+ *	 <code>Growl_CreateRegistrationDictionaryByFillingInDictionary:</code> or
+ *	 <code>Growl_CreateRegistrationDictionaryByFillingInDictionaryRestrictedToKeys</code>
+ *	 to try to fill in missing keys.
+ *
+ *	 This function was introduced in Growl.framework 0.7.
+ *	@result A registration dictionary.
+ */
+GROWL_EXPORT CFDictionaryRef Growl_CopyRegistrationDictionaryFromBundle(CFBundleRef bundle);
+
+/*!	@function	Growl_CreateBestRegistrationDictionary
+ *	@abstract	Obtains a registration dictionary, filled out to the best of
+ *	 GrowlApplicationBridge's knowledge.
+ *	@discussion	This function creates a registration dictionary as best
+ *	 GrowlApplicationBridge knows how.
+ *
+ *	 First, GrowlApplicationBridge examines the Growl delegate (if there is
+ *	 one) and gets the registration dictionary from that. If no such dictionary
+ *	 was obtained, GrowlApplicationBridge looks in your application's main
+ *	 bundle for an auto-discoverable registration dictionary file. If that
+ *	 doesn't exist either, this function returns <code>NULL</code>.
+ *
+ *	 Second, GrowlApplicationBridge calls
+ *	 <code>Growl_CreateRegistrationDictionaryByFillingInDictionary</code> with
+ *	 whatever dictionary was obtained. The result of that function is the
+ *	 result of this function.
+ *
+ *	 GrowlApplicationBridge uses this function when you call
+ *	 <code>Growl_SetDelegate</code>, or when you call
+ *	 <code>Growl_RegisterWithDictionary</code> with <code>NULL</code>.
+ *
+ *	 This function was introduced in Growl.framework 0.7.
+ *	@result	A registration dictionary.
+ */
+GROWL_EXPORT CFDictionaryRef Growl_CreateBestRegistrationDictionary(void);
+
+#pragma mark -
+
+//	@functiongroup	Filling in registration dictionaries
+
+/*!	@function	Growl_CreateRegistrationDictionaryByFillingInDictionary
+ *	@abstract	Tries to fill in missing keys in a registration dictionary.
+ *	@param	regDict	The dictionary to fill in.
+ *	@result	The dictionary with the keys filled in.
+ *	@discussion	This function examines the passed-in dictionary for missing keys,
+ *	 and tries to work out correct values for them. As of 0.7, it uses:
+ *
+ *	 Key							             Value
+ *	 ---							             -----
+ *	 <code>GROWL_APP_NAME</code>                 <code>CFBundleExecutableName</code>
+ *	 <code>GROWL_APP_ICON</code>                 The icon of the application.
+ *	 <code>GROWL_APP_LOCATION</code>             The location of the application.
+ *	 <code>GROWL_NOTIFICATIONS_DEFAULT</code>    <code>GROWL_NOTIFICATIONS_ALL</code>
+ *
+ *	 Keys are only filled in if missing; if a key is present in the dictionary,
+ *	 its value will not be changed.
+ *
+ *	 This function was introduced in Growl.framework 0.7.
+ */
+GROWL_EXPORT CFDictionaryRef Growl_CreateRegistrationDictionaryByFillingInDictionary(CFDictionaryRef regDict);
+/*!	@function	Growl_CreateRegistrationDictionaryByFillingInDictionaryRestrictedToKeys
+ *	@abstract	Tries to fill in missing keys in a registration dictionary.
+ *	@param	regDict	The dictionary to fill in.
+ *	@param	keys	The keys to fill in. If <code>NULL</code>, any missing keys are filled in.
+ *	@result	The dictionary with the keys filled in.
+ *	@discussion	This function examines the passed-in dictionary for missing keys,
+ *	 and tries to work out correct values for them. As of 0.7, it uses:
+ *
+ *	 Key							             Value
+ *	 ---							             -----
+ *	 <code>GROWL_APP_NAME</code>                 <code>CFBundleExecutableName</code>
+ *	 <code>GROWL_APP_ICON</code>                 The icon of the application.
+ *	 <code>GROWL_APP_LOCATION</code>             The location of the application.
+ *	 <code>GROWL_NOTIFICATIONS_DEFAULT</code>    <code>GROWL_NOTIFICATIONS_ALL</code>
+ *
+ *	 Only those keys that are listed in <code>keys</code> will be filled in.
+ *	 Other missing keys are ignored. Also, keys are only filled in if missing;
+ *	 if a key is present in the dictionary, its value will not be changed.
+ *
+ *	 This function was introduced in Growl.framework 0.7.
+ */
+GROWL_EXPORT CFDictionaryRef Growl_CreateRegistrationDictionaryByFillingInDictionaryRestrictedToKeys(CFDictionaryRef regDict, CFSetRef keys);
+
+/*!	@brief	Tries to fill in missing keys in a notification dictionary.
+ *	@param	notifDict	The dictionary to fill in.
+ *	@return	The dictionary with the keys filled in. This will be a separate instance from \a notifDict.
+ *	@discussion	This function examines the \a notifDict for missing keys, and 
+ *	 tries to get them from the last known registration dictionary. As of 1.1, 
+ *	 the keys that it will look for are:
+ *
+ *	 \li <code>GROWL_APP_NAME</code>
+ *	 \li <code>GROWL_APP_ICON</code>
+ *
+ *	@since Growl.framework 1.1
+ */
+GROWL_EXPORT CFDictionaryRef Growl_CreateNotificationDictionaryByFillingInDictionary(CFDictionaryRef notifDict);
+
+#pragma mark -
+
+//	@functiongroup	Querying Growl's status
+
+/*!	@function	Growl_IsInstalled
+ *	@abstract	Determines whether the Growl prefpane and its helper app are
+ *	 installed.
+ *	@result	Returns true if Growl is installed, false otherwise.
+ */
+GROWL_EXPORT Boolean Growl_IsInstalled(void);
+
+/*!	@function	Growl_IsRunning
+ *	@abstract	Cycles through the process list to find whether GrowlHelperApp
+ *	 is running.
+ *	@result	Returns true if Growl is running, false otherwise.
+ */
+GROWL_EXPORT Boolean Growl_IsRunning(void);
+
+#pragma mark -
+
+//	@functiongroup	Launching Growl
+
+/*!	@typedef	GrowlLaunchCallback
+ *	@abstract	Callback to notify you that Growl is running.
+ *	@param	context	The context pointer passed to Growl_LaunchIfInstalled.
+ *	@discussion	Growl_LaunchIfInstalled calls this callback function if Growl
+ *	 was already running or if it launched Growl successfully.
+ */
+typedef void (*GrowlLaunchCallback)(void *context);
+
+/*!	@function	Growl_LaunchIfInstalled
+ *	@abstract	Launches GrowlHelperApp if it is not already running.
+ *	@param	callback	A callback function which will be called if Growl was successfully
+ *	 launched or was already running. Can be <code>NULL</code>.
+ *	@param	context	The context pointer to pass to the callback. Can be <code>NULL</code>.
+ *	@result	Returns true if Growl was successfully launched or was already
+ *	 running; returns false and does not call the callback otherwise.
+ *	@discussion	Returns true and calls the callback (if the callback is not
+ *	 <code>NULL</code>) if the Growl helper app began launching or was already
+ *	 running. Returns false and performs no other action if Growl could not be
+ *	 launched (e.g. because the Growl preference pane is not properly installed).
+ *
+ *	 If <code>Growl_CreateBestRegistrationDictionary</code> returns
+ *	 non-<code>NULL</code>, this function will register with Growl atomically.
+ *
+ *	 The callback should take a single argument; this is to allow applications
+ *	 to have context-relevant information passed back. It is perfectly
+ *	 acceptable for context to be <code>NULL</code>. The callback itself can be
+ *	 <code>NULL</code> if you don't want one.
+ */
+GROWL_EXPORT Boolean Growl_LaunchIfInstalled(GrowlLaunchCallback callback, void *context);
+
+#pragma mark -
+#pragma mark Constants
+
+/*!	@defined	GROWL_PREFPANE_BUNDLE_IDENTIFIER
+ *	@abstract	The CFBundleIdentifier of the Growl preference pane bundle.
+ *	@discussion	GrowlApplicationBridge uses this to determine whether Growl is
+ *	 currently installed, by searching for the Growl preference pane. Your
+ *	 application probably does not need to use this macro itself.
+ */
+#ifndef GROWL_PREFPANE_BUNDLE_IDENTIFIER
+#define GROWL_PREFPANE_BUNDLE_IDENTIFIER	CFSTR("com.growl.prefpanel")
+#endif
+
+__END_DECLS
+
+#endif /* _GROWLAPPLICATIONBRIDGE_CARBON_H_ */

Added: trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/Headers/GrowlApplicationBridge.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/Headers/GrowlApplicationBridge.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/Headers/GrowlApplicationBridge.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,575 @@
+//
+//  GrowlApplicationBridge.h
+//  Growl
+//
+//  Created by Evan Schoenberg on Wed Jun 16 2004.
+//  Copyright 2004-2006 The Growl Project. All rights reserved.
+//
+
+/*!
+ *	@header		GrowlApplicationBridge.h
+ *	@abstract   Defines the GrowlApplicationBridge class.
+ *	@discussion This header defines the GrowlApplicationBridge class as well as
+ *	 the GROWL_PREFPANE_BUNDLE_IDENTIFIER constant.
+ */
+
+#ifndef __GrowlApplicationBridge_h__
+#define __GrowlApplicationBridge_h__
+
+#import <Foundation/Foundation.h>
+#import <AppKit/AppKit.h>
+#import "GrowlDefines.h"
+
+//Forward declarations
+ at protocol GrowlApplicationBridgeDelegate;
+
+//Internal notification when the user chooses not to install (to avoid continuing to cache notifications awaiting installation)
+#define GROWL_USER_CHOSE_NOT_TO_INSTALL_NOTIFICATION @"User chose not to install"
+
+//------------------------------------------------------------------------------
+#pragma mark -
+
+/*!
+ *	@class      GrowlApplicationBridge
+ *	@abstract   A class used to interface with Growl.
+ *	@discussion This class provides a means to interface with Growl.
+ *
+ *	 Currently it provides a way to detect if Growl is installed and launch the
+ *	 GrowlHelperApp if it's not already running.
+ */
+ at interface GrowlApplicationBridge : NSObject {
+
+}
+
+/*!
+ *	@method isGrowlInstalled
+ *	@abstract Detects whether Growl is installed.
+ *	@discussion Determines if the Growl prefpane and its helper app are installed.
+ *	@result Returns YES if Growl is installed, NO otherwise.
+ */
++ (BOOL) isGrowlInstalled;
+
+/*!
+ *	@method isGrowlRunning
+ *	@abstract Detects whether GrowlHelperApp is currently running.
+ *	@discussion Cycles through the process list to find whether GrowlHelperApp is running and returns its findings.
+ *	@result Returns YES if GrowlHelperApp is running, NO otherwise.
+ */
++ (BOOL) isGrowlRunning;
+
+#pragma mark -
+
+/*!
+ *	@method setGrowlDelegate:
+ *	@abstract Set the object which will be responsible for providing and receiving Growl information.
+ *	@discussion This must be called before using GrowlApplicationBridge.
+ *
+ *	 The methods in the GrowlApplicationBridgeDelegate protocol are required
+ *	 and return the basic information needed to register with Growl.
+ *
+ *	 The methods in the GrowlApplicationBridgeDelegate_InformalProtocol
+ *	 informal protocol are individually optional.  They provide a greater
+ *	 degree of interaction between the application and growl such as informing
+ *	 the application when one of its Growl notifications is clicked by the user.
+ *
+ *	 The methods in the GrowlApplicationBridgeDelegate_Installation_InformalProtocol
+ *	 informal protocol are individually optional and are only applicable when
+ *	 using the Growl-WithInstaller.framework which allows for automated Growl
+ *	 installation.
+ *
+ *	 When this method is called, data will be collected from inDelegate, Growl
+ *	 will be launched if it is not already running, and the application will be
+ *	 registered with Growl.
+ *
+ *	 If using the Growl-WithInstaller framework, if Growl is already installed
+ *	 but this copy of the framework has an updated version of Growl, the user
+ *	 will be prompted to update automatically.
+ *
+ *	@param inDelegate The delegate for the GrowlApplicationBridge. It must conform to the GrowlApplicationBridgeDelegate protocol.
+ */
++ (void) setGrowlDelegate:(NSObject<GrowlApplicationBridgeDelegate> *)inDelegate;
+
+/*!
+ *	@method growlDelegate
+ *	@abstract Return the object responsible for providing and receiving Growl information.
+ *	@discussion See setGrowlDelegate: for details.
+ *	@result The Growl delegate.
+ */
++ (NSObject<GrowlApplicationBridgeDelegate> *) growlDelegate;
+
+#pragma mark -
+
+/*!
+ *	@method notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:
+ *	@abstract Send a Growl notification.
+ *	@discussion This is the preferred means for sending a Growl notification.
+ *	 The notification name and at least one of the title and description are
+ *	 required (all three are preferred).  All other parameters may be
+ *	 <code>nil</code> (or 0 or NO as appropriate) to accept default values.
+ *
+ *	 If using the Growl-WithInstaller framework, if Growl is not installed the
+ *	 user will be prompted to install Growl. If the user cancels, this method
+ *	 will have no effect until the next application session, at which time when
+ *	 it is called the user will be prompted again. The user is also given the
+ *	 option to not be prompted again.  If the user does choose to install Growl,
+ *	 the requested notification will be displayed once Growl is installed and
+ *	 running.
+ *
+ *	@param title		The title of the notification displayed to the user.
+ *	@param description	The full description of the notification displayed to the user.
+ *	@param notifName	The internal name of the notification. Should be human-readable, as it will be displayed in the Growl preference pane.
+ *	@param iconData		<code>NSData</code> object to show with the notification as its icon. If <code>nil</code>, the application's icon will be used instead.
+ *	@param priority		The priority of the notification. The default value is 0; positive values are higher priority and negative values are lower priority. Not all Growl displays support priority.
+ *	@param isSticky		If YES, the notification will remain on screen until clicked. Not all Growl displays support sticky notifications.
+ *	@param clickContext	A context passed back to the Growl delegate if it implements -(void)growlNotificationWasClicked: and the notification is clicked. Not all display plugins support clicking. The clickContext must be plist-encodable (completely of <code>NSString</code>, <code>NSArray</code>, <code>NSNumber</code>, <code>NSDictionary</code>, and <code>NSData</code> types).
+ */
++ (void) notifyWithTitle:(NSString *)title
+			 description:(NSString *)description
+		notificationName:(NSString *)notifName
+				iconData:(NSData *)iconData
+				priority:(signed int)priority
+				isSticky:(BOOL)isSticky
+			clickContext:(id)clickContext;
+
+/*!
+ *	@method notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:identifier:
+ *	@abstract Send a Growl notification.
+ *	@discussion This is the preferred means for sending a Growl notification.
+ *	 The notification name and at least one of the title and description are
+ *	 required (all three are preferred).  All other parameters may be
+ *	 <code>nil</code> (or 0 or NO as appropriate) to accept default values.
+ *
+ *	 If using the Growl-WithInstaller framework, if Growl is not installed the
+ *	 user will be prompted to install Growl. If the user cancels, this method
+ *	 will have no effect until the next application session, at which time when
+ *	 it is called the user will be prompted again. The user is also given the
+ *	 option to not be prompted again.  If the user does choose to install Growl,
+ *	 the requested notification will be displayed once Growl is installed and
+ *	 running.
+ *
+ *	@param title		The title of the notification displayed to the user.
+ *	@param description	The full description of the notification displayed to the user.
+ *	@param notifName	The internal name of the notification. Should be human-readable, as it will be displayed in the Growl preference pane.
+ *	@param iconData		<code>NSData</code> object to show with the notification as its icon. If <code>nil</code>, the application's icon will be used instead.
+ *	@param priority		The priority of the notification. The default value is 0; positive values are higher priority and negative values are lower priority. Not all Growl displays support priority.
+ *	@param isSticky		If YES, the notification will remain on screen until clicked. Not all Growl displays support sticky notifications.
+ *	@param clickContext	A context passed back to the Growl delegate if it implements -(void)growlNotificationWasClicked: and the notification is clicked. Not all display plugins support clicking. The clickContext must be plist-encodable (completely of <code>NSString</code>, <code>NSArray</code>, <code>NSNumber</code>, <code>NSDictionary</code>, and <code>NSData</code> types).
+ *	@param identifier	An identifier for this notification. Notifications with equal identifiers are coalesced.
+ */
++ (void) notifyWithTitle:(NSString *)title
+			 description:(NSString *)description
+		notificationName:(NSString *)notifName
+				iconData:(NSData *)iconData
+				priority:(signed int)priority
+				isSticky:(BOOL)isSticky
+			clickContext:(id)clickContext
+			  identifier:(NSString *)identifier;
+
+/*!	@method	notifyWithDictionary:
+ *	@abstract	Notifies using a userInfo dictionary suitable for passing to
+ *	 <code>NSDistributedNotificationCenter</code>.
+ *	@param	userInfo	The dictionary to notify with.
+ *	@discussion	Before Growl 0.6, your application would have posted
+ *	 notifications using <code>NSDistributedNotificationCenter</code> by
+ *	 creating a userInfo dictionary with the notification data. This had the
+ *	 advantage of allowing you to add other data to the dictionary for programs
+ *	 besides Growl that might be listening.
+ *
+ *	 This method allows you to use such dictionaries without being restricted
+ *	 to using <code>NSDistributedNotificationCenter</code>. The keys for this dictionary
+ *	 can be found in GrowlDefines.h.
+ */
++ (void) notifyWithDictionary:(NSDictionary *)userInfo;
+
+#pragma mark -
+
+/*!	@method	registerWithDictionary:
+ *	@abstract	Register your application with Growl without setting a delegate.
+ *	@discussion	When you call this method with a dictionary,
+ *	 GrowlApplicationBridge registers your application using that dictionary.
+ *	 If you pass <code>nil</code>, GrowlApplicationBridge will ask the delegate
+ *	 (if there is one) for a dictionary, and if that doesn't work, it will look
+ *	 in your application's bundle for an auto-discoverable plist.
+ *	 (XXX refer to more information on that)
+ *
+ *	 If you pass a dictionary to this method, it must include the
+ *	 <code>GROWL_APP_NAME</code> key, unless a delegate is set.
+ *
+ *	 This method is mainly an alternative to the delegate system introduced
+ *	 with Growl 0.6. Without a delegate, you cannot receive callbacks such as
+ *	 <code>-growlIsReady</code> (since they are sent to the delegate). You can,
+ *	 however, set a delegate after registering without one.
+ *
+ *	 This method was introduced in Growl.framework 0.7.
+ */
++ (BOOL) registerWithDictionary:(NSDictionary *)regDict;
+
+/*!	@method	reregisterGrowlNotifications
+ *	@abstract	Reregister the notifications for this application.
+ *	@discussion	This method does not normally need to be called.  If your
+ *	 application changes what notifications it is registering with Growl, call
+ *	 this method to have the Growl delegate's
+ *	 <code>-registrationDictionaryForGrowl</code> method called again and the
+ *	 Growl registration information updated.
+ *
+ *	 This method is now implemented using <code>-registerWithDictionary:</code>.
+ */
++ (void) reregisterGrowlNotifications;
+
+#pragma mark -
+
+/*!	@method	setWillRegisterWhenGrowlIsReady:
+ *	@abstract	Tells GrowlApplicationBridge to register with Growl when Growl
+ *	 launches (or not).
+ *	@discussion	When Growl has started listening for notifications, it posts a
+ *	 <code>GROWL_IS_READY</code> notification on the Distributed Notification
+ *	 Center. GrowlApplicationBridge listens for this notification, using it to
+ *	 perform various tasks (such as calling your delegate's
+ *	 <code>-growlIsReady</code> method, if it has one). If this method is
+ *	 called with <code>YES</code>, one of those tasks will be to reregister
+ *	 with Growl (in the manner of <code>-reregisterGrowlNotifications</code>).
+ *
+ *	 This attribute is automatically set back to <code>NO</code> (the default)
+ *	 after every <code>GROWL_IS_READY</code> notification.
+ *	@param	flag	<code>YES</code> if you want GrowlApplicationBridge to register with
+ *	 Growl when next it is ready; <code>NO</code> if not.
+ */
++ (void) setWillRegisterWhenGrowlIsReady:(BOOL)flag;
+/*!	@method	willRegisterWhenGrowlIsReady
+ *	@abstract	Reports whether GrowlApplicationBridge will register with Growl
+ *	 when Growl next launches.
+ *	@result	<code>YES</code> if GrowlApplicationBridge will register with Growl
+ *	 when next it posts GROWL_IS_READY; <code>NO</code> if not.
+ */
++ (BOOL) willRegisterWhenGrowlIsReady;
+
+#pragma mark -
+
+/*!	@method	registrationDictionaryFromDelegate
+ *	@abstract	Asks the delegate for a registration dictionary.
+ *	@discussion	If no delegate is set, or if the delegate's
+ *	 <code>-registrationDictionaryForGrowl</code> method returns
+ *	 <code>nil</code>, this method returns <code>nil</code>.
+ *
+ *	 This method does not attempt to clean up the dictionary in any way - for
+ *	 example, if it is missing the <code>GROWL_APP_NAME</code> key, the result
+ *	 will be missing it too. Use <code>+[GrowlApplicationBridge
+ *	 registrationDictionaryByFillingInDictionary:]</code> or
+ *	 <code>+[GrowlApplicationBridge
+ *	 registrationDictionaryByFillingInDictionary:restrictToKeys:]</code> to try
+ *	 to fill in missing keys.
+ *
+ *	 This method was introduced in Growl.framework 0.7.
+ *	@result A registration dictionary.
+ */
++ (NSDictionary *) registrationDictionaryFromDelegate;
+
+/*!	@method	registrationDictionaryFromBundle:
+ *	@abstract	Looks in a bundle for a registration dictionary.
+ *	@discussion	This method looks in a bundle for an auto-discoverable
+ *	 registration dictionary file using <code>-[NSBundle
+ *	 pathForResource:ofType:]</code>. If it finds one, it loads the file using
+ *	 <code>+[NSDictionary dictionaryWithContentsOfFile:]</code> and returns the
+ *	 result.
+ *
+ *	 If you pass <code>nil</code> as the bundle, the main bundle is examined.
+ *
+ *	 This method does not attempt to clean up the dictionary in any way - for
+ *	 example, if it is missing the <code>GROWL_APP_NAME</code> key, the result
+ *	 will be missing it too. Use <code>+[GrowlApplicationBridge
+ *	 registrationDictionaryByFillingInDictionary:]</code> or
+ *	 <code>+[GrowlApplicationBridge
+ *	 registrationDictionaryByFillingInDictionary:restrictToKeys:]</code> to try
+ *	 to fill in missing keys.
+ *
+ *	 This method was introduced in Growl.framework 0.7.
+ *	@result A registration dictionary.
+ */
++ (NSDictionary *) registrationDictionaryFromBundle:(NSBundle *)bundle;
+
+/*!	@method	bestRegistrationDictionary
+ *	@abstract	Obtains a registration dictionary, filled out to the best of
+ *	 GrowlApplicationBridge's knowledge.
+ *	@discussion	This method creates a registration dictionary as best
+ *	 GrowlApplicationBridge knows how.
+ *
+ *	 First, GrowlApplicationBridge contacts the Growl delegate (if there is
+ *	 one) and gets the registration dictionary from that. If no such dictionary
+ *	 was obtained, GrowlApplicationBridge looks in your application's main
+ *	 bundle for an auto-discoverable registration dictionary file. If that
+ *	 doesn't exist either, this method returns <code>nil</code>.
+ *
+ *	 Second, GrowlApplicationBridge calls
+ *	 <code>+registrationDictionaryByFillingInDictionary:</code> with whatever
+ *	 dictionary was obtained. The result of that method is the result of this
+ *	 method.
+ *
+ *	 GrowlApplicationBridge uses this method when you call
+ *	 <code>+setGrowlDelegate:</code>, or when you call
+ *	 <code>+registerWithDictionary:</code> with <code>nil</code>.
+ *
+ *	 This method was introduced in Growl.framework 0.7.
+ *	@result	A registration dictionary.
+ */
++ (NSDictionary *) bestRegistrationDictionary;
+
+#pragma mark -
+
+/*!	@method	registrationDictionaryByFillingInDictionary:
+ *	@abstract	Tries to fill in missing keys in a registration dictionary.
+ *	@discussion	This method examines the passed-in dictionary for missing keys,
+ *	 and tries to work out correct values for them. As of 0.7, it uses:
+ *
+ *	 Key							             Value
+ *	 ---							             -----
+ *	 <code>GROWL_APP_NAME</code>                 <code>CFBundleExecutableName</code>
+ *	 <code>GROWL_APP_ICON</code>                 The icon of the application.
+ *	 <code>GROWL_APP_LOCATION</code>             The location of the application.
+ *	 <code>GROWL_NOTIFICATIONS_DEFAULT</code>    <code>GROWL_NOTIFICATIONS_ALL</code>
+ *
+ *	 Keys are only filled in if missing; if a key is present in the dictionary,
+ *	 its value will not be changed.
+ *
+ *	 This method was introduced in Growl.framework 0.7.
+ *	@param	regDict	The dictionary to fill in.
+ *	@result	The dictionary with the keys filled in. This is an autoreleased
+ *	 copy of <code>regDict</code>.
+ */
++ (NSDictionary *) registrationDictionaryByFillingInDictionary:(NSDictionary *)regDict;
+/*!	@method	registrationDictionaryByFillingInDictionary:restrictToKeys:
+ *	@abstract	Tries to fill in missing keys in a registration dictionary.
+ *	@discussion	This method examines the passed-in dictionary for missing keys,
+ *	 and tries to work out correct values for them. As of 0.7, it uses:
+ *
+ *	 Key							             Value
+ *	 ---							             -----
+ *	 <code>GROWL_APP_NAME</code>                 <code>CFBundleExecutableName</code>
+ *	 <code>GROWL_APP_ICON</code>                 The icon of the application.
+ *	 <code>GROWL_APP_LOCATION</code>             The location of the application.
+ *	 <code>GROWL_NOTIFICATIONS_DEFAULT</code>    <code>GROWL_NOTIFICATIONS_ALL</code>
+ *
+ *	 Only those keys that are listed in <code>keys</code> will be filled in.
+ *	 Other missing keys are ignored. Also, keys are only filled in if missing;
+ *	 if a key is present in the dictionary, its value will not be changed.
+ *
+ *	 This method was introduced in Growl.framework 0.7.
+ *	@param	regDict	The dictionary to fill in.
+ *	@param	keys	The keys to fill in. If <code>nil</code>, any missing keys are filled in.
+ *	@result	The dictionary with the keys filled in. This is an autoreleased
+ *	 copy of <code>regDict</code>.
+ */
++ (NSDictionary *) registrationDictionaryByFillingInDictionary:(NSDictionary *)regDict restrictToKeys:(NSSet *)keys;
+
+/*!	@brief	Tries to fill in missing keys in a notification dictionary.
+ *	@param	notifDict	The dictionary to fill in.
+ *	@return	The dictionary with the keys filled in. This will be a separate instance from \a notifDict.
+ *	@discussion	This function examines the \a notifDict for missing keys, and 
+ *	 tries to get them from the last known registration dictionary. As of 1.1, 
+ *	 the keys that it will look for are:
+ *
+ *	 \li <code>GROWL_APP_NAME</code>
+ *	 \li <code>GROWL_APP_ICON</code>
+ *
+ *	@since Growl.framework 1.1
+ */
++ (NSDictionary *) notificationDictionaryByFillingInDictionary:(NSDictionary *)regDict;
+
++ (NSDictionary *) frameworkInfoDictionary;
+ at end
+
+//------------------------------------------------------------------------------
+#pragma mark -
+
+/*!
+ *	@protocol GrowlApplicationBridgeDelegate
+ *	@abstract Required protocol for the Growl delegate.
+ *	@discussion The methods in this protocol are required and are called
+ *	 automatically as needed by GrowlApplicationBridge. See
+ *	 <code>+[GrowlApplicationBridge setGrowlDelegate:]</code>.
+ *	 See also <code>GrowlApplicationBridgeDelegate_InformalProtocol</code>.
+ */
+
+ at protocol GrowlApplicationBridgeDelegate
+
+// -registrationDictionaryForGrowl has moved to the informal protocol as of 0.7.
+
+ at end
+
+//------------------------------------------------------------------------------
+#pragma mark -
+
+/*!
+ *	@category NSObject(GrowlApplicationBridgeDelegate_InformalProtocol)
+ *	@abstract Methods which may be optionally implemented by the GrowlDelegate.
+ *	@discussion The methods in this informal protocol will only be called if implemented by the delegate.
+ */
+ at interface NSObject (GrowlApplicationBridgeDelegate_InformalProtocol)
+
+/*!
+ *	@method registrationDictionaryForGrowl
+ *	@abstract Return the dictionary used to register this application with Growl.
+ *	@discussion The returned dictionary gives Growl the complete list of
+ *	 notifications this application will ever send, and it also specifies which
+ *	 notifications should be enabled by default.  Each is specified by an array
+ *	 of <code>NSString</code> objects.
+ *
+ *	 For most applications, these two arrays can be the same (if all sent
+ *	 notifications should be displayed by default).
+ *
+ *	 The <code>NSString</code> objects of these arrays will correspond to the
+ *	 <code>notificationName:</code> parameter passed in
+ *	 <code>+[GrowlApplicationBridge
+ *	 notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:]</code> calls.
+ *
+ *	 The dictionary should have the required key object pairs:
+ *	 key: GROWL_NOTIFICATIONS_ALL		object: <code>NSArray</code> of <code>NSString</code> objects
+ *	 key: GROWL_NOTIFICATIONS_DEFAULT	object: <code>NSArray</code> of <code>NSString</code> objects
+ *
+ *   The dictionary may have the following key object pairs:
+ *   key: GROWL_NOTIFICATIONS_HUMAN_READABLE_NAMES	object: <code>NSDictionary</code> of key: notification name		object: human-readable notification name
+ *
+ *	 You do not need to implement this method if you have an auto-discoverable
+ *	 plist file in your app bundle. (XXX refer to more information on that)
+ *
+ *	@result The <code>NSDictionary</code> to use for registration.
+ */
+- (NSDictionary *) registrationDictionaryForGrowl;
+
+/*!
+ *	@method applicationNameForGrowl
+ *	@abstract Return the name of this application which will be used for Growl bookkeeping.
+ *	@discussion This name is used both internally and in the Growl preferences.
+ *
+ *	 This should remain stable between different versions and incarnations of
+ *	 your application.
+ *	 For example, "SurfWriter" is a good app name, whereas "SurfWriter 2.0" and
+ *	 "SurfWriter Lite" are not.
+ *
+ *	 You do not need to implement this method if you are providing the
+ *	 application name elsewhere, meaning in an auto-discoverable plist file in
+ *	 your app bundle (XXX refer to more information on that) or in the result
+ *	 of -registrationDictionaryForGrowl.
+ *
+ *	@result The name of the application using Growl.
+ */
+- (NSString *) applicationNameForGrowl;
+
+/*!
+ *	@method applicationIconForGrowl
+ *	@abstract Return the <code>NSImage</code> to treat as the application icon.
+ *	@discussion The delegate may optionally return an <code>NSImage</code>
+ *	 object to use as the application icon. If this method is not implemented,
+ *	 {{{-applicationIconDataForGrowl}}} is tried. If that method is not
+ *	 implemented, the application's own icon is used. Neither method is
+ *	 generally needed.
+ *	@result The <code>NSImage</code> to treat as the application icon.
+ */
+- (NSImage *) applicationIconForGrowl;
+
+/*!
+ *	@method applicationIconDataForGrowl
+ *	@abstract Return the <code>NSData</code> to treat as the application icon.
+ *	@discussion The delegate may optionally return an <code>NSData</code>
+ *	 object to use as the application icon; if this is not implemented, the
+ *	 application's own icon is used.  This is not generally needed.
+ *	@result The <code>NSData</code> to treat as the application icon.
+ *	@deprecated In version 1.1, in favor of {{{-applicationIconForGrowl}}}.
+ */
+- (NSData *) applicationIconDataForGrowl;
+
+/*!
+ *	@method growlIsReady
+ *	@abstract Informs the delegate that Growl has launched.
+ *	@discussion Informs the delegate that Growl (specifically, the
+ *	 GrowlHelperApp) was launched successfully. The application can take actions
+ *   with the knowledge that Growl is installed and functional.
+ */
+- (void) growlIsReady;
+
+/*!
+ *	@method growlNotificationWasClicked:
+ *	@abstract Informs the delegate that a Growl notification was clicked.
+ *	@discussion Informs the delegate that a Growl notification was clicked.  It
+ *	 is only sent for notifications sent with a non-<code>nil</code>
+ *	 clickContext, so if you want to receive a message when a notification is
+ *	 clicked, clickContext must not be <code>nil</code> when calling
+ *	 <code>+[GrowlApplicationBridge notifyWithTitle: description:notificationName:iconData:priority:isSticky:clickContext:]</code>.
+ *	@param clickContext The clickContext passed when displaying the notification originally via +[GrowlApplicationBridge notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:].
+ */
+- (void) growlNotificationWasClicked:(id)clickContext;
+
+/*!
+ *	@method growlNotificationTimedOut:
+ *	@abstract Informs the delegate that a Growl notification timed out.
+ *	@discussion Informs the delegate that a Growl notification timed out. It
+ *	 is only sent for notifications sent with a non-<code>nil</code>
+ *	 clickContext, so if you want to receive a message when a notification is
+ *	 clicked, clickContext must not be <code>nil</code> when calling
+ *	 <code>+[GrowlApplicationBridge notifyWithTitle: description:notificationName:iconData:priority:isSticky:clickContext:]</code>.
+ *	@param clickContext The clickContext passed when displaying the notification originally via +[GrowlApplicationBridge notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:].
+ */
+- (void) growlNotificationTimedOut:(id)clickContext;
+
+ at end
+
+#pragma mark -
+/*!
+ *	@category NSObject(GrowlApplicationBridgeDelegate_Installation_InformalProtocol)
+ *	@abstract Methods which may be optionally implemented by the Growl delegate when used with Growl-WithInstaller.framework.
+ *	@discussion The methods in this informal protocol will only be called if
+ *	 implemented by the delegate.  They allow greater control of the information
+ *	 presented to the user when installing or upgrading Growl from within your
+ *	 application when using Growl-WithInstaller.framework.
+ */
+ at interface NSObject (GrowlApplicationBridgeDelegate_Installation_InformalProtocol)
+
+/*!
+ *	@method growlInstallationWindowTitle
+ *	@abstract Return the title of the installation window.
+ *	@discussion If not implemented, Growl will use a default, localized title.
+ *	@result An NSString object to use as the title.
+ */
+- (NSString *)growlInstallationWindowTitle;
+
+/*!
+ *	@method growlUpdateWindowTitle
+ *	@abstract Return the title of the upgrade window.
+ *	@discussion If not implemented, Growl will use a default, localized title.
+ *	@result An NSString object to use as the title.
+ */
+- (NSString *)growlUpdateWindowTitle;
+
+/*!
+ *	@method growlInstallationInformation
+ *	@abstract Return the information to display when installing.
+ *	@discussion This information may be as long or short as desired (the window
+ *	 will be sized to fit it).  It will be displayed to the user as an
+ *	 explanation of what Growl is and what it can do in your application.  It
+ *	 should probably note that no download is required to install.
+ *
+ *	 If this is not implemented, Growl will use a default, localized explanation.
+ *	@result An NSAttributedString object to display.
+ */
+- (NSAttributedString *)growlInstallationInformation;
+
+/*!
+ *	@method growlUpdateInformation
+ *	@abstract Return the information to display when upgrading.
+ *	@discussion This information may be as long or short as desired (the window
+ *	 will be sized to fit it).  It will be displayed to the user as an
+ *	 explanation that an updated version of Growl is included in your
+ *	 application and no download is required.
+ *
+ *	 If this is not implemented, Growl will use a default, localized explanation.
+ *	@result An NSAttributedString object to display.
+ */
+- (NSAttributedString *)growlUpdateInformation;
+
+ at end
+
+//private
+ at interface GrowlApplicationBridge (GrowlInstallationPrompt_private)
++ (void) _userChoseNotToInstallGrowl;
+ at end
+
+#endif /* __GrowlApplicationBridge_h__ */

Added: trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/Headers/GrowlDefines.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/Headers/GrowlDefines.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/Headers/GrowlDefines.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,348 @@
+//
+//  GrowlDefines.h
+//
+
+#ifndef _GROWLDEFINES_H
+#define _GROWLDEFINES_H
+
+#ifdef __OBJC__
+#define XSTR(x) (@x)
+#define STRING_TYPE NSString *
+#else
+#define XSTR CFSTR
+#define STRING_TYPE CFStringRef
+#endif
+
+/*!	@header GrowlDefines.h
+ *	@abstract   Defines all the notification keys.
+ *	@discussion Defines all the keys used for registration with Growl and for
+ *	 Growl notifications.
+ *
+ *	 Most applications should use the functions or methods of Growl.framework
+ *	 instead of posting notifications such as those described here.
+ *	@updated 2004-01-25
+ */
+
+// UserInfo Keys for Registration
+#pragma mark UserInfo Keys for Registration
+
+/*!	@group Registration userInfo keys */
+/*	@abstract	Keys for the userInfo dictionary of a GROWL_APP_REGISTRATION distributed notification.
+ *	@discussion The values of these keys describe the application and the
+ *	 notifications it may post.
+ *
+ *	 Your application must register with Growl before it can post Growl
+ *	 notifications (and have them not be ignored). However, as of Growl 0.6,
+ *	 posting GROWL_APP_REGISTRATION notifications directly is no longer the
+ *	 preferred way to register your application. Your application should instead
+ *	 use Growl.framework's delegate system.
+ *	 See +[GrowlApplicationBridge setGrowlDelegate:] or Growl_SetDelegate for
+ *	 more information.
+ */
+
+/*!	@defined GROWL_APP_NAME
+ *	@abstract The name of your application.
+ *	@discussion The name of your application. This should remain stable between
+ *	 different versions and incarnations of your application.
+ *	 For example, "SurfWriter" is a good app name, whereas "SurfWriter 2.0" and
+ *	 "SurfWriter Lite" are not.
+ */
+#define GROWL_APP_NAME					XSTR("ApplicationName")
+/*!	@defined GROWL_APP_ID
+ *	@abstract The bundle identifier of your application.
+ *	@discussion The bundle identifier of your application. This key should
+ *   be unique for your application while there may be several applications
+ *   with the same GROWL_APP_NAME.
+ *   This key is optional.
+ */
+#define GROWL_APP_ID					XSTR("ApplicationId")
+/*!	@defined GROWL_APP_ICON
+ *	@abstract The image data for your application's icon.
+ *	@discussion Image data representing your application's icon. This may be
+ *	 superimposed on a notification icon as a badge, used as the notification
+ *	 icon when a notification-specific icon is not supplied, or ignored
+ *	 altogether, depending on the display. Must be in a format supported by
+ *	 NSImage, such as TIFF, PNG, GIF, JPEG, BMP, PICT, or PDF.
+ *
+ *	 Optional. Not supported by all display plugins.
+ */
+#define GROWL_APP_ICON					XSTR("ApplicationIcon")
+/*!	@defined GROWL_NOTIFICATIONS_DEFAULT
+ *	@abstract The array of notifications to turn on by default.
+ *	@discussion These are the names of the notifications that should be enabled
+ *	 by default when your application registers for the first time. If your
+ *	 application reregisters, Growl will look here for any new notification
+ *	 names found in GROWL_NOTIFICATIONS_ALL, but ignore any others.
+ */
+#define GROWL_NOTIFICATIONS_DEFAULT		XSTR("DefaultNotifications")
+/*!	@defined GROWL_NOTIFICATIONS_ALL
+ *	@abstract The array of all notifications your application can send.
+ *	@discussion These are the names of all of the notifications that your
+ *	 application may post. See GROWL_NOTIFICATION_NAME for a discussion of good
+ *	 notification names.
+ */
+#define GROWL_NOTIFICATIONS_ALL			XSTR("AllNotifications")
+/*! @defined GROWL_NOTIFICATIONS_HUMAN_READABLE_DESCRIPTIONS
+ *  @abstract A dictionary of human-readable names for your notifications.
+ *  @discussion By default, the Growl UI will display notifications by the names given in GROWL_NOTIFICATIONS_ALL
+ *  which correspond to the GROWL_NOTIFICATION_NAME. This dictionary specifies the human-readable name to display.
+ *  The keys of the dictionary are GROWL_NOTIFICATION_NAME strings; the objects are the human-readable versions.
+ *  For any GROWL_NOTIFICATION_NAME not specific in this dictionary, the GROWL_NOTIFICATION_NAME will be displayed.
+ *
+ *  This key is optional.
+ */
+#define GROWL_NOTIFICATIONS_HUMAN_READABLE_NAMES		XSTR("HumanReadableNames")
+/*! @defined GROWL_NOTIFICATIONS_DESCRIPTIONS
+*  @abstract A dictionary of descriptions of _when_ each notification occurs
+*  @discussion This is an NSDictionary whose keys are GROWL_NOTIFICATION_NAME strings and whose objects are
+*  descriptions of _when_ each notification occurs, such as "You received a new mail message" or
+*  "A file finished downloading".
+*
+*  This key is optional.
+*/
+#define GROWL_NOTIFICATIONS_DESCRIPTIONS		XSTR("NotificationDescriptions")
+
+/*!	@defined	GROWL_TICKET_VERSION
+ *	@abstract	The version of your registration ticket.
+ *	@discussion	Include this key in a ticket plist file that you put in your
+ *	 application bundle for auto-discovery. The current ticket version is 1.
+ */
+#define GROWL_TICKET_VERSION			XSTR("TicketVersion")
+// UserInfo Keys for Notifications
+#pragma mark UserInfo Keys for Notifications
+
+/*!	@group Notification userInfo keys */
+/*	@abstract	Keys for the userInfo dictionary of a GROWL_NOTIFICATION distributed notification.
+ *	@discussion The values of these keys describe the content of a Growl
+ *	 notification.
+ *
+ *	 Not all of these keys are supported by all displays. Only the name, title,
+ *	 and description of a notification are universal. Most of the built-in
+ *	 displays do support all of these keys, and most other visual displays
+ *	 probably will also. But, as of 0.6, the Log, MailMe, and Speech displays
+ *	 support only textual data.
+ */
+
+/*!	@defined GROWL_NOTIFICATION_NAME
+ *	@abstract The name of the notification.
+ *	@discussion The name of the notification. Note that if you do not define
+ *  GROWL_NOTIFICATIONS_HUMAN_READABLE_NAMES when registering your ticket originally this name
+ *  will the one displayed within the Growl preference pane and should be human-readable.
+ */
+#define GROWL_NOTIFICATION_NAME			XSTR("NotificationName")
+/*!	@defined GROWL_NOTIFICATION_TITLE
+ *	@abstract The title to display in the notification.
+ *	@discussion The title of the notification. Should be very brief.
+ *	 The title usually says what happened, e.g. "Download complete".
+ */
+#define GROWL_NOTIFICATION_TITLE		XSTR("NotificationTitle")
+/*!	@defined GROWL_NOTIFICATION_DESCRIPTION
+ *	@abstract The description to display in the notification.
+ *	@discussion The description should be longer and more verbose than the title.
+ *	 The description usually tells the subject of the action,
+ *	 e.g. "Growl-0.6.dmg downloaded in 5.02 minutes".
+ */
+#define GROWL_NOTIFICATION_DESCRIPTION  	XSTR("NotificationDescription")
+/*!	@defined GROWL_NOTIFICATION_ICON
+ *	@discussion Image data for the notification icon. Must be in a format
+ *	 supported by NSImage, such as TIFF, PNG, GIF, JPEG, BMP, PICT, or PDF.
+ *
+ *	 Optional. Not supported by all display plugins.
+ */
+#define GROWL_NOTIFICATION_ICON			XSTR("NotificationIcon")
+/*!	@defined GROWL_NOTIFICATION_APP_ICON
+ *	@discussion Image data for the application icon, in case GROWL_APP_ICON does
+ *	 not apply for some reason. Must be in a format supported by NSImage, such
+ *	 as TIFF, PNG, GIF, JPEG, BMP, PICT, or PDF.
+ *
+ *	 Optional. Not supported by all display plugins.
+ */
+#define GROWL_NOTIFICATION_APP_ICON		XSTR("NotificationAppIcon")
+/*!	@defined GROWL_NOTIFICATION_PRIORITY
+ *	@discussion The priority of the notification as an integer number from
+ *	 -2 to +2 (+2 being highest).
+ *
+ *	 Optional. Not supported by all display plugins.
+ */
+#define GROWL_NOTIFICATION_PRIORITY		XSTR("NotificationPriority")
+/*!	@defined GROWL_NOTIFICATION_STICKY
+ *	@discussion A Boolean number controlling whether the notification is sticky.
+ *
+ *	 Optional. Not supported by all display plugins.
+ */
+#define GROWL_NOTIFICATION_STICKY		XSTR("NotificationSticky")
+/*!	@defined GROWL_NOTIFICATION_CLICK_CONTEXT
+ *	@abstract Identifies which notification was clicked.
+ *	@discussion An identifier for the notification for clicking purposes.
+ *
+ *	 This will be passed back to the application when the notification is
+ *	 clicked. It must be plist-encodable (a data, dictionary, array, number, or
+ *	 string object), and it should be unique for each notification you post.
+ *	 A good click context would be a UUID string returned by NSProcessInfo or
+ *	 CFUUID.
+ *
+ *	 Optional. Not supported by all display plugins.
+ */
+#define GROWL_NOTIFICATION_CLICK_CONTEXT			XSTR("NotificationClickContext")
+
+/*!	@defined GROWL_DISPLAY_PLUGIN
+ *	@discussion The name of a display plugin which should be used for this notification.
+ *    Optional. If this key is not set or the specified display plugin does not
+ *    exist, the display plugin stored in the application ticket is used. This key
+ *    allows applications to use different default display plugins for their
+ *    notifications. The user can still override those settings in the preference
+ *    pane.
+ */
+#define GROWL_DISPLAY_PLUGIN				XSTR("NotificationDisplayPlugin")
+
+/*!	@defined GROWL_NOTIFICATION_IDENTIFIER
+ *	@abstract An identifier for the notification for coalescing purposes.
+ *   Notifications with the same identifier fall into the same class; only
+ *   the last notification of a class is displayed on the screen. If a
+ *   notification of the same class is currently being displayed, it is
+ *   replaced by this notification.
+ *
+ *	 Optional. Not supported by all display plugins.
+ */
+#define GROWL_NOTIFICATION_IDENTIFIER	XSTR("GrowlNotificationIdentifier")
+
+/*!	@defined GROWL_APP_PID
+ *	@abstract The process identifier of the process which sends this
+ *   notification. If this field is set, the application will only receive
+ *   clicked and timed out notifications which originate from this process.
+ *
+ *	 Optional.
+ */
+#define GROWL_APP_PID					XSTR("ApplicationPID")
+
+/*!	@defined GROWL_NOTIFICATION_PROGRESS
+*	@abstract If this key is set, it should contain a double value wrapped
+*     in a NSNumber which describes some sort of progress (from 0.0 to 100.0).
+*     If this is key is not set, no progress bar is shown.
+*
+*	 Optional. Not supported by all display plugins.
+*/
+#define GROWL_NOTIFICATION_PROGRESS		XSTR("NotificationProgress")
+
+// Notifications
+#pragma mark Notifications
+
+/*!	@group Notification names */
+/*	@abstract	Names of distributed notifications used by Growl.
+ *	@discussion	These are notifications used by applications (directly or
+ *	 indirectly) to interact with Growl, and by Growl for interaction between
+ *	 its components.
+ *
+ *	 Most of these should no longer be used in Growl 0.6 and later, in favor of
+ *	 Growl.framework's GrowlApplicationBridge APIs.
+ */
+
+/*!	@defined GROWL_APP_REGISTRATION
+ *	@abstract The distributed notification for registering your application.
+ *	@discussion This is the name of the distributed notification that can be
+ *	 used to register applications with Growl.
+ *
+ *	 The userInfo dictionary for this notification can contain these keys:
+ *	 <ul>
+ *	 	<li>GROWL_APP_NAME</li>
+ *	 	<li>GROWL_APP_ICON</li>
+ *	 	<li>GROWL_NOTIFICATIONS_ALL</li>
+ *	 	<li>GROWL_NOTIFICATIONS_DEFAULT</li>
+ *	 </ul>
+ *
+ *	 No longer recommended as of Growl 0.6. An alternate method of registering
+ *	 is to use Growl.framework's delegate system.
+ *	 See +[GrowlApplicationBridge setGrowlDelegate:] or Growl_SetDelegate for
+ *	 more information.
+ */
+#define GROWL_APP_REGISTRATION			XSTR("GrowlApplicationRegistrationNotification")
+/*!	@defined GROWL_APP_REGISTRATION_CONF
+ *	@abstract The distributed notification for confirming registration.
+ *	@discussion The name of the distributed notification sent to confirm the
+ *	 registration. Used by the Growl preference pane. Your application probably
+ *	 does not need to use this notification.
+ */
+#define GROWL_APP_REGISTRATION_CONF		XSTR("GrowlApplicationRegistrationConfirmationNotification")
+/*!	@defined GROWL_NOTIFICATION
+ *	@abstract The distributed notification for Growl notifications.
+ *	@discussion This is what it all comes down to. This is the name of the
+ *	 distributed notification that your application posts to actually send a
+ *	 Growl notification.
+ *
+ *	 The userInfo dictionary for this notification can contain these keys:
+ *	 <ul>
+ *	 	<li>GROWL_NOTIFICATION_NAME (required)</li>
+ *	 	<li>GROWL_NOTIFICATION_TITLE (required)</li>
+ *	 	<li>GROWL_NOTIFICATION_DESCRIPTION (required)</li>
+ *	 	<li>GROWL_NOTIFICATION_ICON</li>
+ *	 	<li>GROWL_NOTIFICATION_APP_ICON</li>
+ *	 	<li>GROWL_NOTIFICATION_PRIORITY</li>
+ *	 	<li>GROWL_NOTIFICATION_STICKY</li>
+ *	 	<li>GROWL_NOTIFICATION_CLICK_CONTEXT</li>
+ *	 	<li>GROWL_APP_NAME (required)</li>
+ *	 </ul>
+ *
+ *	 No longer recommended as of Growl 0.6. Three alternate methods of posting
+ *	 notifications are +[GrowlApplicationBridge notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:],
+ *	 Growl_NotifyWithTitleDescriptionNameIconPriorityStickyClickContext, and
+ *	 Growl_PostNotification.
+ */
+#define GROWL_NOTIFICATION				XSTR("GrowlNotification")
+/*!	@defined GROWL_SHUTDOWN
+*	@abstract The distributed notification name that tells Growl to shutdown.
+*	@discussion The Growl preference pane posts this notification when the
+*	 "Stop Growl" button is clicked.
+*/
+#define GROWL_SHUTDOWN					XSTR("GrowlShutdown")
+/*!	@defined GROWL_PING
+ *	@abstract A distributed notification to check whether Growl is running.
+ *	@discussion This is used by the Growl preference pane. If it receives a
+ *	 GROWL_PONG, the preference pane takes this to mean that Growl is running.
+ */
+#define GROWL_PING						XSTR("Honey, Mind Taking Out The Trash")
+/*!	@defined GROWL_PONG
+ *	@abstract The distributed notification sent in reply to GROWL_PING.
+ *	@discussion GrowlHelperApp posts this in reply to GROWL_PING.
+ */
+#define GROWL_PONG						XSTR("What Do You Want From Me, Woman")
+/*!	@defined GROWL_IS_READY
+ *	@abstract The distributed notification sent when Growl starts up.
+ *	@discussion GrowlHelperApp posts this when it has begin listening on all of
+ *	 its sources for new notifications. GrowlApplicationBridge (in
+ *	 Growl.framework), upon receiving this notification, reregisters using the
+ *	 registration dictionary supplied by its delegate.
+ */
+#define GROWL_IS_READY					XSTR("Lend Me Some Sugar; I Am Your Neighbor!")
+/*!	@defined GROWL_NOTIFICATION_CLICKED
+ *	@abstract The distributed notification sent when a supported notification is clicked.
+ *	@discussion When a Growl notification with a click context is clicked on by
+ *	 the user, Growl posts this distributed notification.
+ *	 The GrowlApplicationBridge responds to this notification by calling a
+ *	 callback in its delegate.
+ */
+#define GROWL_NOTIFICATION_CLICKED		XSTR("GrowlClicked!")
+#define GROWL_NOTIFICATION_TIMED_OUT	XSTR("GrowlTimedOut!")
+
+/*!	@group Other symbols */
+/* Symbols which don't fit into any of the other categories. */
+
+/*!	@defined GROWL_KEY_CLICKED_CONTEXT
+ *	@abstract Used internally as the key for the clickedContext passed over DNC.
+ *	@discussion This key is used in GROWL_NOTIFICATION_CLICKED, and contains the
+ *	 click context that was supplied in the original notification.
+ */
+#define GROWL_KEY_CLICKED_CONTEXT		XSTR("ClickedContext")
+/*!	@defined GROWL_REG_DICT_EXTENSION
+ *	@abstract The filename extension for registration dictionaries.
+ *	@discussion The GrowlApplicationBridge in Growl.framework registers with
+ *	 Growl by creating a file with the extension of .(GROWL_REG_DICT_EXTENSION)
+ *	 and opening it in the GrowlHelperApp. This happens whether or not Growl is
+ *	 running; if it was stopped, it quits immediately without listening for
+ *	 notifications.
+ */
+#define GROWL_REG_DICT_EXTENSION		XSTR("growlRegDict")
+
+
+#define GROWL_POSITION_PREFERENCE_KEY			@"GrowlSelectedPosition"
+
+#endif //ndef _GROWLDEFINES_H

Added: trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/Resources/Info.plist
===================================================================
--- trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/Resources/Info.plist	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/A/Resources/Info.plist	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,24 @@
+<?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>Growl</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.growl.growlframework</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.2</string>
+	<key>CFBundleSignature</key>
+	<string>GRRR</string>
+	<key>CFBundleVersion</key>
+	<string>1.2</string>
+	<key>NSPrincipalClass</key>
+	<string>GrowlApplicationBridge</string>
+</dict>
+</plist>

Added: trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/Growl
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/Growl
___________________________________________________________________
Added: svn:executable
   + *
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/Headers/Growl.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/Headers/Growl.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/Headers/Growl.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,6 @@
+#include "GrowlDefines.h"
+
+#ifdef __OBJC__
+#	include "GrowlApplicationBridge.h"
+#endif
+#include "GrowlApplicationBridge-Carbon.h"

Added: trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/Headers/GrowlApplicationBridge-Carbon.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/Headers/GrowlApplicationBridge-Carbon.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/Headers/GrowlApplicationBridge-Carbon.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,780 @@
+//
+//  GrowlApplicationBridge-Carbon.h
+//  Growl
+//
+//  Created by Mac-arena the Bored Zo on Wed Jun 18 2004.
+//  Based on GrowlApplicationBridge.h by Evan Schoenberg.
+//  This source code is in the public domain. You may freely link it into any
+//    program.
+//
+
+#ifndef _GROWLAPPLICATIONBRIDGE_CARBON_H_
+#define _GROWLAPPLICATIONBRIDGE_CARBON_H_
+
+#include <sys/cdefs.h>
+#include <Carbon/Carbon.h>
+
+#ifndef GROWL_EXPORT
+#define GROWL_EXPORT __attribute__((visibility("default"))) DEPRECATED_ATTRIBUTE
+#endif
+
+/*!	@header GrowlApplicationBridge-Carbon.h
+ *	@abstract	Declares an API that Carbon applications can use to interact with Growl.
+ *	@discussion	GrowlApplicationBridge uses a delegate to provide information //XXX
+ *	 to Growl (such as your application's name and what notifications it may
+ *	 post) and to provide information to your application (such as that Growl
+ *	 is listening for notifications or that a notification has been clicked).
+ *
+ *	 You can set the Growldelegate with Growl_SetDelegate and find out the
+ *	 current delegate with Growl_GetDelegate. See struct Growl_Delegate for more
+ *	 information about the delegate.
+ */
+
+__BEGIN_DECLS
+
+/*!	@struct Growl_Delegate
+ *	@abstract Delegate to supply GrowlApplicationBridge with information and respond to events.
+ *	@discussion The Growl delegate provides your interface to
+ *	 GrowlApplicationBridge. When GrowlApplicationBridge needs information about
+ *	 your application, it looks for it in the delegate; when Growl or the user
+ *	 does something that you might be interested in, GrowlApplicationBridge
+ *	 looks for a callback in the delegate and calls it if present
+ *	 (meaning, if it is not <code>NULL</code>).
+ *	XXX on all of that
+ *  @field size The size of the delegate structure.
+ * 	@field applicationName The name of your application.
+ * 	@field registrationDictionary A dictionary describing your application and the notifications it can send out.
+ * 	@field applicationIconData Your application's icon.
+ * 	@field growlInstallationWindowTitle The title of the installation window.
+ * 	@field growlInstallationInformation Text to display in the installation window.
+ * 	@field growlUpdateWindowTitle The title of the update window.
+ * 	@field growlUpdateInformation Text to display in the update window.
+ * 	@field referenceCount A count of owners of the delegate.
+ * 	@field retain Called when GrowlApplicationBridge receives this delegate.
+ * 	@field release Called when GrowlApplicationBridge no longer needs this delegate.
+ * 	@field growlIsReady Called when GrowlHelperApp is listening for notifications.
+ * 	@field growlNotificationWasClicked Called when a Growl notification is clicked.
+ *  @field growlNotificationTimedOut Called when a Growl notification timed out.
+ */
+struct Growl_Delegate {
+	/*	@discussion This should be sizeof(struct Growl_Delegate).
+	 */
+	size_t size;
+
+	/*All of these attributes are optional.
+	 *Optional attributes can be NULL; required attributes that
+	 *	 are NULL cause setting the Growl delegate to fail.
+	 *XXX - move optional/required status into the discussion for each field
+	 */
+
+	/* This name is used both internally and in the Growl preferences.
+	 *
+	 *	 This should remain stable between different versions and incarnations of
+	 *	 your application.
+	 *	 For example, "SurfWriter" is a good app name, whereas "SurfWriter 2.0" and
+	 *	 "SurfWriter Lite" are not.
+	 *
+	 * This can be <code>NULL</code> if it is provided elsewhere, namely in an
+	 *	 auto-discoverable plist file in your app bundle
+	 *	 (XXX refer to more information on that) or in registrationDictionary.
+	 */
+	CFStringRef applicationName;
+
+	/*
+	 * Must contain at least these keys:
+	 *	GROWL_NOTIFICATIONS_ALL (CFArray):
+	 *		Contains the names of all notifications your application may post.
+	 *
+	 * Can also contain these keys:
+	 *	GROWL_NOTIFICATIONS_DEFAULT (CFArray):
+	 *		Names of notifications that should be enabled by default.
+	 *		If omitted, GROWL_NOTIFICATIONS_ALL will be used.
+	 *	GROWL_APP_NAME (CFString):
+	 *		Same as the applicationName member of this structure.
+	 *		If both are present, the applicationName member shall prevail.
+	 *		If this key is present, you may omit applicationName (set it to <code>NULL</code>).
+	 *	GROWL_APP_ICON (CFData):
+	 *		Same as the iconData member of this structure.
+	 *		If both are present, the iconData member shall prevail.
+	 *		If this key is present, you may omit iconData (set it to <code>NULL</code>).
+	 *
+	 * If you change the contents of this dictionary after setting the delegate,
+	 *	be sure to call Growl_Reregister.
+	 *
+	 * This can be <code>NULL</code> if you have an auto-discoverable plist file in your app
+	 *	 bundle. (XXX refer to more information on that)
+	 */
+	CFDictionaryRef registrationDictionary;
+
+	/* The data can be in any format supported by NSImage. As of
+	 *	 Mac OS X 10.3, this includes the .icns, TIFF, JPEG, GIF, PNG, PDF, and
+	 *	 PICT formats.
+	 *
+	 *	 If this is not supplied, Growl will look up your application's icon by
+	 *	 its application name.
+	 */
+	CFDataRef applicationIconData;
+
+	/* Installer display attributes
+	 *
+	 * These four attributes are used by the Growl installer, if this framework
+	 *	supports it.
+	 * For any of these being <code>NULL</code>, a localised default will be
+	 *	supplied.
+	 */
+
+	/*	If this is <code>NULL</code>, Growl will use a default,
+	 *	 localized title.
+	 *
+	 *	 Only used if you're using Growl-WithInstaller.framework. Otherwise,
+	 *	 this member is ignored.
+	 */
+	CFStringRef growlInstallationWindowTitle;
+	/*	This information may be as long or short as desired (the
+	 *	 window will be sized to fit it).  If Growl is not installed, it will
+	 *	 be displayed to the user as an explanation of what Growl is and what
+	 *	 it can do in your application.
+	 *	 It should probably note that no download is required to install.
+	 *
+	 *	 If this is <code>NULL</code>, Growl will use a default, localized
+	 *	 explanation.
+	 *
+	 *	 Only used if you're using Growl-WithInstaller.framework. Otherwise,
+	 *	 this member is ignored.
+	 */
+	CFStringRef growlInstallationInformation;
+	/*	If this is <code>NULL</code>, Growl will use a default,
+	 *	 localized title.
+	 *
+	 *	 Only used if you're using Growl-WithInstaller.framework. Otherwise,
+	 *	 this member is ignored.
+	 */
+	CFStringRef growlUpdateWindowTitle;
+	/*	This information may be as long or short as desired (the
+	 *	 window will be sized to fit it).  If an older version of Growl is
+	 *	 installed, it will be displayed to the user as an explanation that an
+	 *	 updated version of Growl is included in your application and
+	 *	 no download is required.
+	 *
+	 *	 If this is <code>NULL</code>, Growl will use a default, localized
+	 *	 explanation.
+	 *
+	 *	 Only used if you're using Growl-WithInstaller.framework. Otherwise,
+	 *	 this member is ignored.
+	 */
+	CFStringRef growlUpdateInformation;
+
+	/*	This member is provided for use by your retain and release
+	 *	 callbacks (see below).
+	 *
+	 *	 GrowlApplicationBridge never directly uses this member. Instead, it
+	 *	 calls your retain callback (if non-<code>NULL</code>) and your release
+	 *	 callback (if non-<code>NULL</code>).
+	 */
+	unsigned referenceCount;
+
+	//Functions. Currently all of these are optional (any of them can be NULL).
+
+	/*	When you call Growl_SetDelegate(newDelegate), it will call
+	 *	 oldDelegate->release(oldDelegate), and then it will call
+	 *	 newDelegate->retain(newDelegate), and the return value from retain
+	 *	 is what will be set as the delegate.
+	 *	 (This means that this member works like CFRetain and -[NSObject retain].)
+	 *	 This member is optional (it can be <code>NULL</code>).
+	 *	 For a delegate allocated with malloc, this member would be
+	 *	 <code>NULL</code>.
+	 *	@result	A delegate to which GrowlApplicationBridge holds a reference.
+	 */
+	void *(*retain)(void *);
+	/*	When you call Growl_SetDelegate(newDelegate), it will call
+	 *	 oldDelegate->release(oldDelegate), and then it will call
+	 *	 newDelegate->retain(newDelegate), and the return value from retain
+	 *	 is what will be set as the delegate.
+	 *	 (This means that this member works like CFRelease and
+	 *	  -[NSObject release].)
+	 *	 This member is optional (it can be NULL).
+	 *	 For a delegate allocated with malloc, this member might be
+	 *	 <code>free</code>(3).
+	 */
+	void (*release)(void *);
+
+	/*	Informs the delegate that Growl (specifically, the GrowlHelperApp) was
+	 *	 launched successfully (or was already running). The application can
+	 *	 take actions with the knowledge that Growl is installed and functional.
+	 */
+	void (*growlIsReady)(void);
+
+	/*	Informs the delegate that a Growl notification was clicked. It is only
+	 *	 sent for notifications sent with a non-<code>NULL</code> clickContext,
+	 *	 so if you want to receive a message when a notification is clicked,
+	 *	 clickContext must not be <code>NULL</code> when calling
+	 *	 Growl_PostNotification or
+	 *	 Growl_NotifyWithTitleDescriptionNameIconPriorityStickyClickContext.
+	 */
+	void (*growlNotificationWasClicked)(CFPropertyListRef clickContext);
+
+	/*	Informs the delegate that a Growl notification timed out. It is only
+	 *	 sent for notifications sent with a non-<code>NULL</code> clickContext,
+	 *	 so if you want to receive a message when a notification is clicked,
+	 *	 clickContext must not be <code>NULL</code> when calling
+	 *	 Growl_PostNotification or
+	 *	 Growl_NotifyWithTitleDescriptionNameIconPriorityStickyClickContext.
+	 */
+	void (*growlNotificationTimedOut)(CFPropertyListRef clickContext);
+};
+
+/*!	@struct Growl_Notification
+ *	@abstract Structure describing a Growl notification.
+ *	@discussion XXX
+ * 	@field size The size of the notification structure.
+ * 	@field name Identifies the notification.
+ * 	@field title Short synopsis of the notification.
+ *  @field description Additional text.
+ * 	@field iconData An icon for the notification.
+ * 	@field priority An indicator of the notification's importance.
+ * 	@field reserved Bits reserved for future usage.
+ * 	@field isSticky Requests that a notification stay on-screen until dismissed explicitly.
+ * 	@field clickContext An identifier to be passed to your click callback when a notification is clicked.
+ * 	@field clickCallback A callback to call when the notification is clicked.
+ */
+struct Growl_Notification {
+	/*	This should be sizeof(struct Growl_Notification).
+	 */
+ 	size_t size;
+
+	/*	The notification name distinguishes one type of
+	 *	 notification from another. The name should be human-readable, as it
+	 *	 will be displayed in the Growl preference pane.
+	 *
+	 *	 The name is used in the GROWL_NOTIFICATIONS_ALL and
+	 *	 GROWL_NOTIFICATIONS_DEFAULT arrays in the registration dictionary, and
+	 *	 in this member of the Growl_Notification structure.
+	 */
+	CFStringRef name;
+
+	/*	A notification's title describes the notification briefly.
+	 *	 It should be easy to read quickly by the user.
+	 */
+	CFStringRef title;
+
+	/*	The description supplements the title with more
+	 *	 information. It is usually longer and sometimes involves a list of
+	 *	 subjects. For example, for a 'Download complete' notification, the
+	 *	 description might have one filename per line. GrowlMail in Growl 0.6
+	 *	 uses a description of '%d new mail(s)' (formatted with the number of
+	 *	 messages).
+	 */
+	CFStringRef description;
+
+	/*	The notification icon usually indicates either what
+	 *	 happened (it may have the same icon as e.g. a toolbar item that
+	 *	 started the process that led to the notification), or what it happened
+	 *	 to (e.g. a document icon).
+	 *
+	 *	 The icon data is optional, so it can be <code>NULL</code>. In that
+	 *	 case, the application icon is used alone. Not all displays support
+	 *	 icons.
+	 *
+	 *	 The data can be in any format supported by NSImage. As of Mac OS X
+	 *	 10.3, this includes the .icns, TIFF, JPEG, GIF, PNG, PDF, and PICT form
+	 *	 ats.
+	 */
+	CFDataRef iconData;
+
+	/*	Priority is new in Growl 0.6, and is represented as a
+	 *	 signed integer from -2 to +2. 0 is Normal priority, -2 is Very Low
+	 *	 priority, and +2 is Very High priority.
+	 *
+	 *	 Not all displays support priority. If you do not wish to assign a
+	 *	 priority to your notification, assign 0.
+	 */
+	signed int priority;
+
+	/*	These bits are not used in Growl 0.6. Set them to 0.
+	 */
+	unsigned reserved: 31;
+
+	/*	When the sticky bit is clear, in most displays,
+	 *	 notifications disappear after a certain amount of time. Sticky
+	 *	 notifications, however, remain on-screen until the user dismisses them
+	 *	 explicitly, usually by clicking them.
+	 *
+	 *	 Sticky notifications were introduced in Growl 0.6. Most notifications
+	 *	 should not be sticky. Not all displays support sticky notifications,
+	 *	 and the user may choose in Growl's preference pane to force the
+	 *	 notification to be sticky or non-sticky, in which case the sticky bit
+	 *	 in the notification will be ignored.
+	 */
+	unsigned isSticky: 1;
+
+	/*	If this is not <code>NULL</code>, and your click callback
+	 *	 is not <code>NULL</code> either, this will be passed to the callback
+	 *	 when your notification is clicked by the user.
+	 *
+	 *	 Click feedback was introduced in Growl 0.6, and it is optional. Not
+	 *	 all displays support click feedback.
+	 */
+	CFPropertyListRef clickContext;
+
+	/*	If this is not <code>NULL</code>, it will be called instead
+	 *	 of the Growl delegate's click callback when clickContext is
+	 *	 non-<code>NULL</code> and the notification is clicked on by the user.
+	 *
+	 *	 Click feedback was introduced in Growl 0.6, and it is optional. Not
+	 *	 all displays support click feedback.
+	 *
+	 *	 The per-notification click callback is not yet supported as of Growl
+	 *	 0.7.
+	 */
+	void (*clickCallback)(CFPropertyListRef clickContext);
+
+	CFStringRef identifier;
+};
+
+#pragma mark -
+#pragma mark Easy initialisers
+
+/*!	@defined	InitGrowlDelegate
+ *	@abstract	Callable macro. Initializes a Growl delegate structure to defaults.
+ *	@discussion	Call with a pointer to a struct Growl_Delegate. All of the
+ *	 members of the structure will be set to 0 or <code>NULL</code>, except for
+ *	 size (which will be set to <code>sizeof(struct Growl_Delegate)</code>) and
+ *	 referenceCount (which will be set to 1).
+ */
+#define InitGrowlDelegate(delegate) \
+	do { \
+		if (delegate) { \
+			(delegate)->size = sizeof(struct Growl_Delegate); \
+			(delegate)->applicationName = NULL; \
+			(delegate)->registrationDictionary = NULL; \
+			(delegate)->applicationIconData = NULL; \
+			(delegate)->growlInstallationWindowTitle = NULL; \
+			(delegate)->growlInstallationInformation = NULL; \
+			(delegate)->growlUpdateWindowTitle = NULL; \
+			(delegate)->growlUpdateInformation = NULL; \
+			(delegate)->referenceCount = 1U; \
+			(delegate)->retain = NULL; \
+			(delegate)->release = NULL; \
+			(delegate)->growlIsReady = NULL; \
+			(delegate)->growlNotificationWasClicked = NULL; \
+			(delegate)->growlNotificationTimedOut = NULL; \
+		} \
+	} while(0)
+
+/*!	@defined	InitGrowlNotification
+ *	@abstract	Callable macro. Initializes a Growl notification structure to defaults.
+ *	@discussion	Call with a pointer to a struct Growl_Notification. All of
+ *	 the members of the structure will be set to 0 or <code>NULL</code>, except
+ *	 for size (which will be set to
+ *	<code>sizeof(struct Growl_Notification)</code>).
+ */
+#define InitGrowlNotification(notification) \
+	do { \
+		if (notification) { \
+			(notification)->size = sizeof(struct Growl_Notification); \
+			(notification)->name = NULL; \
+			(notification)->title = NULL; \
+			(notification)->description = NULL; \
+			(notification)->iconData = NULL; \
+			(notification)->priority = 0; \
+			(notification)->reserved = 0U; \
+			(notification)->isSticky = false; \
+			(notification)->clickContext = NULL; \
+			(notification)->clickCallback = NULL; \
+			(notification)->identifier = NULL; \
+		} \
+	} while(0)
+
+#pragma mark -
+#pragma mark Public API
+
+//	@functiongroup	Managing the Growl delegate
+
+/*!	@function	Growl_SetDelegate
+ *	@abstract	Replaces the current Growl delegate with a new one, or removes
+ *	 the Growl delegate.
+ *	@param	newDelegate
+ *	@result	Returns false and does nothing else if a pointer that was passed in
+ *	 is unsatisfactory (because it is non-<code>NULL</code>, but at least one
+ *	 required member of it is <code>NULL</code>). Otherwise, sets or unsets the
+ *	 delegate and returns true.
+ *	@discussion	When <code>newDelegate</code> is non-<code>NULL</code>, sets
+ *	 the delegate to <code>newDelegate</code>. When it is <code>NULL</code>,
+ *	 the current delegate will be unset, and no delegate will be in place.
+ *
+ *	 It is legal for <code>newDelegate</code> to be the current delegate;
+ *	 nothing will happen, and Growl_SetDelegate will return true. It is also
+ *	 legal for it to be <code>NULL</code>, as described above; again, it will
+ *	 return true.
+ *
+ *	 If there was a delegate in place before the call, Growl_SetDelegate will
+ *	 call the old delegate's release member if it was non-<code>NULL</code>. If
+ *	 <code>newDelegate</code> is non-<code>NULL</code>, Growl_SetDelegate will
+ *	 call <code>newDelegate->retain</code>, and set the delegate to its return
+ *	 value.
+ *
+ *	 If you are using Growl-WithInstaller.framework, and an older version of
+ *	 Growl is installed on the user's system, the user will automatically be
+ *	 prompted to update.
+ *
+ *	 GrowlApplicationBridge currently does not copy this structure, nor does it
+ *	 retain any of the CF objects in the structure (it regards the structure as
+ *	 a container that retains the objects when they are added and releases them
+ *	 when they are removed or the structure is destroyed). Also,
+ *	 GrowlApplicationBridge currently does not modify any member of the
+ *	 structure, except possibly the referenceCount by calling the retain and
+ *	 release members.
+ */
+GROWL_EXPORT Boolean Growl_SetDelegate(struct Growl_Delegate *newDelegate);
+
+/*!	@function	Growl_GetDelegate
+ *	@abstract	Returns the current Growl delegate, if any.
+ *	@result	The current Growl delegate.
+ *	@discussion	Returns the last pointer passed into Growl_SetDelegate, or
+ *	 <code>NULL</code> if no such call has been made.
+ *
+ *	 This function follows standard Core Foundation reference-counting rules.
+ *	 Because it is a Get function, not a Copy function, it will not retain the
+ *	 delegate on your behalf. You are responsible for retaining and releasing
+ *	 the delegate as needed.
+ */
+GROWL_EXPORT struct Growl_Delegate *Growl_GetDelegate(void);
+
+#pragma mark -
+
+//	@functiongroup	Posting Growl notifications
+
+/*!	@function	Growl_PostNotification
+ *	@abstract	Posts a Growl notification.
+ *	@param	notification	The notification to post.
+ *	@discussion	This is the preferred means for sending a Growl notification.
+ *	 The notification name and at least one of the title and description are
+ *	 required (all three are preferred). All other parameters may be
+ *	 <code>NULL</code> (or 0 or false as appropriate) to accept default values.
+ *
+ *	 If using the Growl-WithInstaller framework, if Growl is not installed the
+ *	 user will be prompted to install Growl.
+ *	 If the user cancels, this function will have no effect until the next
+ *	 application session, at which time when it is called the user will be
+ *	 prompted again. The user is also given the option to not be prompted again.
+ *	 If the user does choose to install Growl, the requested notification will
+ *	 be displayed once Growl is installed and running.
+ */
+GROWL_EXPORT void Growl_PostNotification(const struct Growl_Notification *notification);
+
+/*!	@function Growl_PostNotificationWithDictionary
+*	@abstract	Notifies using a userInfo dictionary suitable for passing to
+*	 CFDistributedNotificationCenter.
+*	@param	userInfo	The dictionary to notify with.
+*	@discussion	Before Growl 0.6, your application would have posted
+*	 notifications using CFDistributedNotificationCenter by creating a userInfo
+*	 dictionary with the notification data. This had the advantage of allowing
+*	 you to add other data to the dictionary for programs besides Growl that
+*	 might be listening.
+*
+*	 This function allows you to use such dictionaries without being restricted
+*	 to using CFDistributedNotificationCenter. The keys for this dictionary
+ *	 can be found in GrowlDefines.h.
+*/
+GROWL_EXPORT void Growl_PostNotificationWithDictionary(CFDictionaryRef userInfo);
+
+/*!	@function	Growl_NotifyWithTitleDescriptionNameIconPriorityStickyClickContext
+ *	@abstract	Posts a Growl notification using parameter values.
+ *	@param	title	The title of the notification.
+ *	@param	description	The description of the notification.
+ *	@param	notificationName	The name of the notification as listed in the
+ *	 registration dictionary.
+ *	@param	iconData	Data representing a notification icon. Can be <code>NULL</code>.
+ *	@param	priority	The priority of the notification (-2 to +2, with -2
+ *	 being Very Low and +2 being Very High).
+ *	@param	isSticky	If true, requests that this notification wait for a
+ *	 response from the user.
+ *	@param	clickContext	An object to pass to the clickCallback, if any. Can
+ *	 be <code>NULL</code>, in which case the clickCallback is not called.
+ *	@discussion	Creates a temporary Growl_Notification, fills it out with the
+ *	 supplied information, and calls Growl_PostNotification on it.
+ *	 See struct Growl_Notification and Growl_PostNotification for more
+ *	 information.
+ *
+ *	 The icon data can be in any format supported by NSImage. As of Mac OS X
+ *	 10.3, this includes the .icns, TIFF, JPEG, GIF, PNG, PDF, and PICT formats.
+ */
+GROWL_EXPORT void Growl_NotifyWithTitleDescriptionNameIconPriorityStickyClickContext(
+ /*inhale*/
+	CFStringRef title,
+	CFStringRef description,
+	CFStringRef notificationName,
+	CFDataRef iconData,
+	signed int priority,
+	Boolean isSticky,
+	CFPropertyListRef clickContext);
+
+#pragma mark -
+
+//	@functiongroup	Registering
+
+/*!	@function Growl_RegisterWithDictionary
+ *	@abstract	Register your application with Growl without setting a delegate.
+ *	@discussion	When you call this function with a dictionary,
+ *	 GrowlApplicationBridge registers your application using that dictionary.
+ *	 If you pass <code>NULL</code>, GrowlApplicationBridge will ask the delegate
+ *	 (if there is one) for a dictionary, and if that doesn't work, it will look
+ *	 in your application's bundle for an auto-discoverable plist.
+ *	 (XXX refer to more information on that)
+ *
+ *	 If you pass a dictionary to this function, it must include the
+ *	 <code>GROWL_APP_NAME</code> key, unless a delegate is set.
+ *
+ *	 This function is mainly an alternative to the delegate system introduced
+ *	 with Growl 0.6. Without a delegate, you cannot receive callbacks such as
+ *	 <code>growlIsReady</code> (since they are sent to the delegate). You can,
+ *	 however, set a delegate after registering without one.
+ *
+ *	 This function was introduced in Growl.framework 0.7.
+ *	@result <code>false</code> if registration failed (e.g. if Growl isn't installed).
+ */
+GROWL_EXPORT Boolean Growl_RegisterWithDictionary(CFDictionaryRef regDict);
+
+/*!	@function	Growl_Reregister
+ *	@abstract	Updates your registration with Growl.
+ *	@discussion	If your application changes the contents of the
+ *	 GROWL_NOTIFICATIONS_ALL key in the registrationDictionary member of the
+ *	 Growl delegate, or if it changes the value of that member, or if it
+ *	 changes the contents of its auto-discoverable plist, call this function
+ *	 to have Growl update its registration information for your application.
+ *
+ *	 Otherwise, this function does not normally need to be called. If you're
+ *	 using a delegate, your application will be registered when you set the
+ *	 delegate if both the delegate and its registrationDictionary member are
+ *	 non-<code>NULL</code>.
+ *
+ *	 This function is now implemented using
+ *	 <code>Growl_RegisterWithDictionary</code>.
+ */
+GROWL_EXPORT void Growl_Reregister(void);
+
+#pragma mark -
+
+/*!	@function	Growl_SetWillRegisterWhenGrowlIsReady
+ *	@abstract	Tells GrowlApplicationBridge to register with Growl when Growl
+ *	 launches (or not).
+ *	@discussion	When Growl has started listening for notifications, it posts a
+ *	 <code>GROWL_IS_READY</code> notification on the Distributed Notification
+ *	 Center. GrowlApplicationBridge listens for this notification, using it to
+ *	 perform various tasks (such as calling your delegate's
+ *	 <code>growlIsReady</code> callback, if it has one). If this function is
+ *	 called with <code>true</code>, one of those tasks will be to reregister
+ *	 with Growl (in the manner of <code>Growl_Reregister</code>).
+ *
+ *	 This attribute is automatically set back to <code>false</code>
+ *	 (the default) after every <code>GROWL_IS_READY</code> notification.
+ *	@param	flag	<code>true</code> if you want GrowlApplicationBridge to register with
+ *	 Growl when next it is ready; <code>false</code> if not.
+ */
+GROWL_EXPORT void Growl_SetWillRegisterWhenGrowlIsReady(Boolean flag);
+/*!	@function	Growl_WillRegisterWhenGrowlIsReady
+ *	@abstract	Reports whether GrowlApplicationBridge will register with Growl
+ *	 when Growl next launches.
+ *	@result	<code>true</code> if GrowlApplicationBridge will register with
+ *	 Growl when next it posts GROWL_IS_READY; <code>false</code> if not.
+ */
+GROWL_EXPORT Boolean Growl_WillRegisterWhenGrowlIsReady(void);
+
+#pragma mark -
+
+//	@functiongroup	Obtaining registration dictionaries
+
+/*!	@function	Growl_CopyRegistrationDictionaryFromDelegate
+ *	@abstract	Asks the delegate for a registration dictionary.
+ *	@discussion	If no delegate is set, or if the delegate's
+ *	 <code>registrationDictionary</code> member is <code>NULL</code>, this
+ *	 function returns <code>NULL</code>.
+ *
+ *	 This function does not attempt to clean up the dictionary in any way - for
+ *	 example, if it is missing the <code>GROWL_APP_NAME</code> key, the result
+ *	 will be missing it too. Use
+ *	 <code>Growl_CreateRegistrationDictionaryByFillingInDictionary</code> or
+ *	 <code>Growl_CreateRegistrationDictionaryByFillingInDictionaryRestrictedToKeys</code>
+ *	 to try to fill in missing keys.
+ *
+ *	 This function was introduced in Growl.framework 0.7.
+ *	@result A registration dictionary.
+ */
+GROWL_EXPORT CFDictionaryRef Growl_CopyRegistrationDictionaryFromDelegate(void);
+
+/*!	@function	Growl_CopyRegistrationDictionaryFromBundle
+ *	@abstract	Looks in a bundle for a registration dictionary.
+ *	@discussion	This function looks in a bundle for an auto-discoverable
+ *	 registration dictionary file using <code>CFBundleCopyResourceURL</code>.
+ *	 If it finds one, it loads the file using <code>CFPropertyList</code> and
+ *	 returns the result.
+ *
+ *	 If you pass <code>NULL</code> as the bundle, the main bundle is examined.
+ *
+ *	 This function does not attempt to clean up the dictionary in any way - for
+ *	 example, if it is missing the <code>GROWL_APP_NAME</code> key, the result
+ *	 will be missing it too. Use
+ *	 <code>Growl_CreateRegistrationDictionaryByFillingInDictionary:</code> or
+ *	 <code>Growl_CreateRegistrationDictionaryByFillingInDictionaryRestrictedToKeys</code>
+ *	 to try to fill in missing keys.
+ *
+ *	 This function was introduced in Growl.framework 0.7.
+ *	@result A registration dictionary.
+ */
+GROWL_EXPORT CFDictionaryRef Growl_CopyRegistrationDictionaryFromBundle(CFBundleRef bundle);
+
+/*!	@function	Growl_CreateBestRegistrationDictionary
+ *	@abstract	Obtains a registration dictionary, filled out to the best of
+ *	 GrowlApplicationBridge's knowledge.
+ *	@discussion	This function creates a registration dictionary as best
+ *	 GrowlApplicationBridge knows how.
+ *
+ *	 First, GrowlApplicationBridge examines the Growl delegate (if there is
+ *	 one) and gets the registration dictionary from that. If no such dictionary
+ *	 was obtained, GrowlApplicationBridge looks in your application's main
+ *	 bundle for an auto-discoverable registration dictionary file. If that
+ *	 doesn't exist either, this function returns <code>NULL</code>.
+ *
+ *	 Second, GrowlApplicationBridge calls
+ *	 <code>Growl_CreateRegistrationDictionaryByFillingInDictionary</code> with
+ *	 whatever dictionary was obtained. The result of that function is the
+ *	 result of this function.
+ *
+ *	 GrowlApplicationBridge uses this function when you call
+ *	 <code>Growl_SetDelegate</code>, or when you call
+ *	 <code>Growl_RegisterWithDictionary</code> with <code>NULL</code>.
+ *
+ *	 This function was introduced in Growl.framework 0.7.
+ *	@result	A registration dictionary.
+ */
+GROWL_EXPORT CFDictionaryRef Growl_CreateBestRegistrationDictionary(void);
+
+#pragma mark -
+
+//	@functiongroup	Filling in registration dictionaries
+
+/*!	@function	Growl_CreateRegistrationDictionaryByFillingInDictionary
+ *	@abstract	Tries to fill in missing keys in a registration dictionary.
+ *	@param	regDict	The dictionary to fill in.
+ *	@result	The dictionary with the keys filled in.
+ *	@discussion	This function examines the passed-in dictionary for missing keys,
+ *	 and tries to work out correct values for them. As of 0.7, it uses:
+ *
+ *	 Key							             Value
+ *	 ---							             -----
+ *	 <code>GROWL_APP_NAME</code>                 <code>CFBundleExecutableName</code>
+ *	 <code>GROWL_APP_ICON</code>                 The icon of the application.
+ *	 <code>GROWL_APP_LOCATION</code>             The location of the application.
+ *	 <code>GROWL_NOTIFICATIONS_DEFAULT</code>    <code>GROWL_NOTIFICATIONS_ALL</code>
+ *
+ *	 Keys are only filled in if missing; if a key is present in the dictionary,
+ *	 its value will not be changed.
+ *
+ *	 This function was introduced in Growl.framework 0.7.
+ */
+GROWL_EXPORT CFDictionaryRef Growl_CreateRegistrationDictionaryByFillingInDictionary(CFDictionaryRef regDict);
+/*!	@function	Growl_CreateRegistrationDictionaryByFillingInDictionaryRestrictedToKeys
+ *	@abstract	Tries to fill in missing keys in a registration dictionary.
+ *	@param	regDict	The dictionary to fill in.
+ *	@param	keys	The keys to fill in. If <code>NULL</code>, any missing keys are filled in.
+ *	@result	The dictionary with the keys filled in.
+ *	@discussion	This function examines the passed-in dictionary for missing keys,
+ *	 and tries to work out correct values for them. As of 0.7, it uses:
+ *
+ *	 Key							             Value
+ *	 ---							             -----
+ *	 <code>GROWL_APP_NAME</code>                 <code>CFBundleExecutableName</code>
+ *	 <code>GROWL_APP_ICON</code>                 The icon of the application.
+ *	 <code>GROWL_APP_LOCATION</code>             The location of the application.
+ *	 <code>GROWL_NOTIFICATIONS_DEFAULT</code>    <code>GROWL_NOTIFICATIONS_ALL</code>
+ *
+ *	 Only those keys that are listed in <code>keys</code> will be filled in.
+ *	 Other missing keys are ignored. Also, keys are only filled in if missing;
+ *	 if a key is present in the dictionary, its value will not be changed.
+ *
+ *	 This function was introduced in Growl.framework 0.7.
+ */
+GROWL_EXPORT CFDictionaryRef Growl_CreateRegistrationDictionaryByFillingInDictionaryRestrictedToKeys(CFDictionaryRef regDict, CFSetRef keys);
+
+/*!	@brief	Tries to fill in missing keys in a notification dictionary.
+ *	@param	notifDict	The dictionary to fill in.
+ *	@return	The dictionary with the keys filled in. This will be a separate instance from \a notifDict.
+ *	@discussion	This function examines the \a notifDict for missing keys, and 
+ *	 tries to get them from the last known registration dictionary. As of 1.1, 
+ *	 the keys that it will look for are:
+ *
+ *	 \li <code>GROWL_APP_NAME</code>
+ *	 \li <code>GROWL_APP_ICON</code>
+ *
+ *	@since Growl.framework 1.1
+ */
+GROWL_EXPORT CFDictionaryRef Growl_CreateNotificationDictionaryByFillingInDictionary(CFDictionaryRef notifDict);
+
+#pragma mark -
+
+//	@functiongroup	Querying Growl's status
+
+/*!	@function	Growl_IsInstalled
+ *	@abstract	Determines whether the Growl prefpane and its helper app are
+ *	 installed.
+ *	@result	Returns true if Growl is installed, false otherwise.
+ */
+GROWL_EXPORT Boolean Growl_IsInstalled(void);
+
+/*!	@function	Growl_IsRunning
+ *	@abstract	Cycles through the process list to find whether GrowlHelperApp
+ *	 is running.
+ *	@result	Returns true if Growl is running, false otherwise.
+ */
+GROWL_EXPORT Boolean Growl_IsRunning(void);
+
+#pragma mark -
+
+//	@functiongroup	Launching Growl
+
+/*!	@typedef	GrowlLaunchCallback
+ *	@abstract	Callback to notify you that Growl is running.
+ *	@param	context	The context pointer passed to Growl_LaunchIfInstalled.
+ *	@discussion	Growl_LaunchIfInstalled calls this callback function if Growl
+ *	 was already running or if it launched Growl successfully.
+ */
+typedef void (*GrowlLaunchCallback)(void *context);
+
+/*!	@function	Growl_LaunchIfInstalled
+ *	@abstract	Launches GrowlHelperApp if it is not already running.
+ *	@param	callback	A callback function which will be called if Growl was successfully
+ *	 launched or was already running. Can be <code>NULL</code>.
+ *	@param	context	The context pointer to pass to the callback. Can be <code>NULL</code>.
+ *	@result	Returns true if Growl was successfully launched or was already
+ *	 running; returns false and does not call the callback otherwise.
+ *	@discussion	Returns true and calls the callback (if the callback is not
+ *	 <code>NULL</code>) if the Growl helper app began launching or was already
+ *	 running. Returns false and performs no other action if Growl could not be
+ *	 launched (e.g. because the Growl preference pane is not properly installed).
+ *
+ *	 If <code>Growl_CreateBestRegistrationDictionary</code> returns
+ *	 non-<code>NULL</code>, this function will register with Growl atomically.
+ *
+ *	 The callback should take a single argument; this is to allow applications
+ *	 to have context-relevant information passed back. It is perfectly
+ *	 acceptable for context to be <code>NULL</code>. The callback itself can be
+ *	 <code>NULL</code> if you don't want one.
+ */
+GROWL_EXPORT Boolean Growl_LaunchIfInstalled(GrowlLaunchCallback callback, void *context);
+
+#pragma mark -
+#pragma mark Constants
+
+/*!	@defined	GROWL_PREFPANE_BUNDLE_IDENTIFIER
+ *	@abstract	The CFBundleIdentifier of the Growl preference pane bundle.
+ *	@discussion	GrowlApplicationBridge uses this to determine whether Growl is
+ *	 currently installed, by searching for the Growl preference pane. Your
+ *	 application probably does not need to use this macro itself.
+ */
+#ifndef GROWL_PREFPANE_BUNDLE_IDENTIFIER
+#define GROWL_PREFPANE_BUNDLE_IDENTIFIER	CFSTR("com.growl.prefpanel")
+#endif
+
+__END_DECLS
+
+#endif /* _GROWLAPPLICATIONBRIDGE_CARBON_H_ */

Added: trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/Headers/GrowlApplicationBridge.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/Headers/GrowlApplicationBridge.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/Headers/GrowlApplicationBridge.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,575 @@
+//
+//  GrowlApplicationBridge.h
+//  Growl
+//
+//  Created by Evan Schoenberg on Wed Jun 16 2004.
+//  Copyright 2004-2006 The Growl Project. All rights reserved.
+//
+
+/*!
+ *	@header		GrowlApplicationBridge.h
+ *	@abstract   Defines the GrowlApplicationBridge class.
+ *	@discussion This header defines the GrowlApplicationBridge class as well as
+ *	 the GROWL_PREFPANE_BUNDLE_IDENTIFIER constant.
+ */
+
+#ifndef __GrowlApplicationBridge_h__
+#define __GrowlApplicationBridge_h__
+
+#import <Foundation/Foundation.h>
+#import <AppKit/AppKit.h>
+#import "GrowlDefines.h"
+
+//Forward declarations
+ at protocol GrowlApplicationBridgeDelegate;
+
+//Internal notification when the user chooses not to install (to avoid continuing to cache notifications awaiting installation)
+#define GROWL_USER_CHOSE_NOT_TO_INSTALL_NOTIFICATION @"User chose not to install"
+
+//------------------------------------------------------------------------------
+#pragma mark -
+
+/*!
+ *	@class      GrowlApplicationBridge
+ *	@abstract   A class used to interface with Growl.
+ *	@discussion This class provides a means to interface with Growl.
+ *
+ *	 Currently it provides a way to detect if Growl is installed and launch the
+ *	 GrowlHelperApp if it's not already running.
+ */
+ at interface GrowlApplicationBridge : NSObject {
+
+}
+
+/*!
+ *	@method isGrowlInstalled
+ *	@abstract Detects whether Growl is installed.
+ *	@discussion Determines if the Growl prefpane and its helper app are installed.
+ *	@result Returns YES if Growl is installed, NO otherwise.
+ */
++ (BOOL) isGrowlInstalled;
+
+/*!
+ *	@method isGrowlRunning
+ *	@abstract Detects whether GrowlHelperApp is currently running.
+ *	@discussion Cycles through the process list to find whether GrowlHelperApp is running and returns its findings.
+ *	@result Returns YES if GrowlHelperApp is running, NO otherwise.
+ */
++ (BOOL) isGrowlRunning;
+
+#pragma mark -
+
+/*!
+ *	@method setGrowlDelegate:
+ *	@abstract Set the object which will be responsible for providing and receiving Growl information.
+ *	@discussion This must be called before using GrowlApplicationBridge.
+ *
+ *	 The methods in the GrowlApplicationBridgeDelegate protocol are required
+ *	 and return the basic information needed to register with Growl.
+ *
+ *	 The methods in the GrowlApplicationBridgeDelegate_InformalProtocol
+ *	 informal protocol are individually optional.  They provide a greater
+ *	 degree of interaction between the application and growl such as informing
+ *	 the application when one of its Growl notifications is clicked by the user.
+ *
+ *	 The methods in the GrowlApplicationBridgeDelegate_Installation_InformalProtocol
+ *	 informal protocol are individually optional and are only applicable when
+ *	 using the Growl-WithInstaller.framework which allows for automated Growl
+ *	 installation.
+ *
+ *	 When this method is called, data will be collected from inDelegate, Growl
+ *	 will be launched if it is not already running, and the application will be
+ *	 registered with Growl.
+ *
+ *	 If using the Growl-WithInstaller framework, if Growl is already installed
+ *	 but this copy of the framework has an updated version of Growl, the user
+ *	 will be prompted to update automatically.
+ *
+ *	@param inDelegate The delegate for the GrowlApplicationBridge. It must conform to the GrowlApplicationBridgeDelegate protocol.
+ */
++ (void) setGrowlDelegate:(NSObject<GrowlApplicationBridgeDelegate> *)inDelegate;
+
+/*!
+ *	@method growlDelegate
+ *	@abstract Return the object responsible for providing and receiving Growl information.
+ *	@discussion See setGrowlDelegate: for details.
+ *	@result The Growl delegate.
+ */
++ (NSObject<GrowlApplicationBridgeDelegate> *) growlDelegate;
+
+#pragma mark -
+
+/*!
+ *	@method notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:
+ *	@abstract Send a Growl notification.
+ *	@discussion This is the preferred means for sending a Growl notification.
+ *	 The notification name and at least one of the title and description are
+ *	 required (all three are preferred).  All other parameters may be
+ *	 <code>nil</code> (or 0 or NO as appropriate) to accept default values.
+ *
+ *	 If using the Growl-WithInstaller framework, if Growl is not installed the
+ *	 user will be prompted to install Growl. If the user cancels, this method
+ *	 will have no effect until the next application session, at which time when
+ *	 it is called the user will be prompted again. The user is also given the
+ *	 option to not be prompted again.  If the user does choose to install Growl,
+ *	 the requested notification will be displayed once Growl is installed and
+ *	 running.
+ *
+ *	@param title		The title of the notification displayed to the user.
+ *	@param description	The full description of the notification displayed to the user.
+ *	@param notifName	The internal name of the notification. Should be human-readable, as it will be displayed in the Growl preference pane.
+ *	@param iconData		<code>NSData</code> object to show with the notification as its icon. If <code>nil</code>, the application's icon will be used instead.
+ *	@param priority		The priority of the notification. The default value is 0; positive values are higher priority and negative values are lower priority. Not all Growl displays support priority.
+ *	@param isSticky		If YES, the notification will remain on screen until clicked. Not all Growl displays support sticky notifications.
+ *	@param clickContext	A context passed back to the Growl delegate if it implements -(void)growlNotificationWasClicked: and the notification is clicked. Not all display plugins support clicking. The clickContext must be plist-encodable (completely of <code>NSString</code>, <code>NSArray</code>, <code>NSNumber</code>, <code>NSDictionary</code>, and <code>NSData</code> types).
+ */
++ (void) notifyWithTitle:(NSString *)title
+			 description:(NSString *)description
+		notificationName:(NSString *)notifName
+				iconData:(NSData *)iconData
+				priority:(signed int)priority
+				isSticky:(BOOL)isSticky
+			clickContext:(id)clickContext;
+
+/*!
+ *	@method notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:identifier:
+ *	@abstract Send a Growl notification.
+ *	@discussion This is the preferred means for sending a Growl notification.
+ *	 The notification name and at least one of the title and description are
+ *	 required (all three are preferred).  All other parameters may be
+ *	 <code>nil</code> (or 0 or NO as appropriate) to accept default values.
+ *
+ *	 If using the Growl-WithInstaller framework, if Growl is not installed the
+ *	 user will be prompted to install Growl. If the user cancels, this method
+ *	 will have no effect until the next application session, at which time when
+ *	 it is called the user will be prompted again. The user is also given the
+ *	 option to not be prompted again.  If the user does choose to install Growl,
+ *	 the requested notification will be displayed once Growl is installed and
+ *	 running.
+ *
+ *	@param title		The title of the notification displayed to the user.
+ *	@param description	The full description of the notification displayed to the user.
+ *	@param notifName	The internal name of the notification. Should be human-readable, as it will be displayed in the Growl preference pane.
+ *	@param iconData		<code>NSData</code> object to show with the notification as its icon. If <code>nil</code>, the application's icon will be used instead.
+ *	@param priority		The priority of the notification. The default value is 0; positive values are higher priority and negative values are lower priority. Not all Growl displays support priority.
+ *	@param isSticky		If YES, the notification will remain on screen until clicked. Not all Growl displays support sticky notifications.
+ *	@param clickContext	A context passed back to the Growl delegate if it implements -(void)growlNotificationWasClicked: and the notification is clicked. Not all display plugins support clicking. The clickContext must be plist-encodable (completely of <code>NSString</code>, <code>NSArray</code>, <code>NSNumber</code>, <code>NSDictionary</code>, and <code>NSData</code> types).
+ *	@param identifier	An identifier for this notification. Notifications with equal identifiers are coalesced.
+ */
++ (void) notifyWithTitle:(NSString *)title
+			 description:(NSString *)description
+		notificationName:(NSString *)notifName
+				iconData:(NSData *)iconData
+				priority:(signed int)priority
+				isSticky:(BOOL)isSticky
+			clickContext:(id)clickContext
+			  identifier:(NSString *)identifier;
+
+/*!	@method	notifyWithDictionary:
+ *	@abstract	Notifies using a userInfo dictionary suitable for passing to
+ *	 <code>NSDistributedNotificationCenter</code>.
+ *	@param	userInfo	The dictionary to notify with.
+ *	@discussion	Before Growl 0.6, your application would have posted
+ *	 notifications using <code>NSDistributedNotificationCenter</code> by
+ *	 creating a userInfo dictionary with the notification data. This had the
+ *	 advantage of allowing you to add other data to the dictionary for programs
+ *	 besides Growl that might be listening.
+ *
+ *	 This method allows you to use such dictionaries without being restricted
+ *	 to using <code>NSDistributedNotificationCenter</code>. The keys for this dictionary
+ *	 can be found in GrowlDefines.h.
+ */
++ (void) notifyWithDictionary:(NSDictionary *)userInfo;
+
+#pragma mark -
+
+/*!	@method	registerWithDictionary:
+ *	@abstract	Register your application with Growl without setting a delegate.
+ *	@discussion	When you call this method with a dictionary,
+ *	 GrowlApplicationBridge registers your application using that dictionary.
+ *	 If you pass <code>nil</code>, GrowlApplicationBridge will ask the delegate
+ *	 (if there is one) for a dictionary, and if that doesn't work, it will look
+ *	 in your application's bundle for an auto-discoverable plist.
+ *	 (XXX refer to more information on that)
+ *
+ *	 If you pass a dictionary to this method, it must include the
+ *	 <code>GROWL_APP_NAME</code> key, unless a delegate is set.
+ *
+ *	 This method is mainly an alternative to the delegate system introduced
+ *	 with Growl 0.6. Without a delegate, you cannot receive callbacks such as
+ *	 <code>-growlIsReady</code> (since they are sent to the delegate). You can,
+ *	 however, set a delegate after registering without one.
+ *
+ *	 This method was introduced in Growl.framework 0.7.
+ */
++ (BOOL) registerWithDictionary:(NSDictionary *)regDict;
+
+/*!	@method	reregisterGrowlNotifications
+ *	@abstract	Reregister the notifications for this application.
+ *	@discussion	This method does not normally need to be called.  If your
+ *	 application changes what notifications it is registering with Growl, call
+ *	 this method to have the Growl delegate's
+ *	 <code>-registrationDictionaryForGrowl</code> method called again and the
+ *	 Growl registration information updated.
+ *
+ *	 This method is now implemented using <code>-registerWithDictionary:</code>.
+ */
++ (void) reregisterGrowlNotifications;
+
+#pragma mark -
+
+/*!	@method	setWillRegisterWhenGrowlIsReady:
+ *	@abstract	Tells GrowlApplicationBridge to register with Growl when Growl
+ *	 launches (or not).
+ *	@discussion	When Growl has started listening for notifications, it posts a
+ *	 <code>GROWL_IS_READY</code> notification on the Distributed Notification
+ *	 Center. GrowlApplicationBridge listens for this notification, using it to
+ *	 perform various tasks (such as calling your delegate's
+ *	 <code>-growlIsReady</code> method, if it has one). If this method is
+ *	 called with <code>YES</code>, one of those tasks will be to reregister
+ *	 with Growl (in the manner of <code>-reregisterGrowlNotifications</code>).
+ *
+ *	 This attribute is automatically set back to <code>NO</code> (the default)
+ *	 after every <code>GROWL_IS_READY</code> notification.
+ *	@param	flag	<code>YES</code> if you want GrowlApplicationBridge to register with
+ *	 Growl when next it is ready; <code>NO</code> if not.
+ */
++ (void) setWillRegisterWhenGrowlIsReady:(BOOL)flag;
+/*!	@method	willRegisterWhenGrowlIsReady
+ *	@abstract	Reports whether GrowlApplicationBridge will register with Growl
+ *	 when Growl next launches.
+ *	@result	<code>YES</code> if GrowlApplicationBridge will register with Growl
+ *	 when next it posts GROWL_IS_READY; <code>NO</code> if not.
+ */
++ (BOOL) willRegisterWhenGrowlIsReady;
+
+#pragma mark -
+
+/*!	@method	registrationDictionaryFromDelegate
+ *	@abstract	Asks the delegate for a registration dictionary.
+ *	@discussion	If no delegate is set, or if the delegate's
+ *	 <code>-registrationDictionaryForGrowl</code> method returns
+ *	 <code>nil</code>, this method returns <code>nil</code>.
+ *
+ *	 This method does not attempt to clean up the dictionary in any way - for
+ *	 example, if it is missing the <code>GROWL_APP_NAME</code> key, the result
+ *	 will be missing it too. Use <code>+[GrowlApplicationBridge
+ *	 registrationDictionaryByFillingInDictionary:]</code> or
+ *	 <code>+[GrowlApplicationBridge
+ *	 registrationDictionaryByFillingInDictionary:restrictToKeys:]</code> to try
+ *	 to fill in missing keys.
+ *
+ *	 This method was introduced in Growl.framework 0.7.
+ *	@result A registration dictionary.
+ */
++ (NSDictionary *) registrationDictionaryFromDelegate;
+
+/*!	@method	registrationDictionaryFromBundle:
+ *	@abstract	Looks in a bundle for a registration dictionary.
+ *	@discussion	This method looks in a bundle for an auto-discoverable
+ *	 registration dictionary file using <code>-[NSBundle
+ *	 pathForResource:ofType:]</code>. If it finds one, it loads the file using
+ *	 <code>+[NSDictionary dictionaryWithContentsOfFile:]</code> and returns the
+ *	 result.
+ *
+ *	 If you pass <code>nil</code> as the bundle, the main bundle is examined.
+ *
+ *	 This method does not attempt to clean up the dictionary in any way - for
+ *	 example, if it is missing the <code>GROWL_APP_NAME</code> key, the result
+ *	 will be missing it too. Use <code>+[GrowlApplicationBridge
+ *	 registrationDictionaryByFillingInDictionary:]</code> or
+ *	 <code>+[GrowlApplicationBridge
+ *	 registrationDictionaryByFillingInDictionary:restrictToKeys:]</code> to try
+ *	 to fill in missing keys.
+ *
+ *	 This method was introduced in Growl.framework 0.7.
+ *	@result A registration dictionary.
+ */
++ (NSDictionary *) registrationDictionaryFromBundle:(NSBundle *)bundle;
+
+/*!	@method	bestRegistrationDictionary
+ *	@abstract	Obtains a registration dictionary, filled out to the best of
+ *	 GrowlApplicationBridge's knowledge.
+ *	@discussion	This method creates a registration dictionary as best
+ *	 GrowlApplicationBridge knows how.
+ *
+ *	 First, GrowlApplicationBridge contacts the Growl delegate (if there is
+ *	 one) and gets the registration dictionary from that. If no such dictionary
+ *	 was obtained, GrowlApplicationBridge looks in your application's main
+ *	 bundle for an auto-discoverable registration dictionary file. If that
+ *	 doesn't exist either, this method returns <code>nil</code>.
+ *
+ *	 Second, GrowlApplicationBridge calls
+ *	 <code>+registrationDictionaryByFillingInDictionary:</code> with whatever
+ *	 dictionary was obtained. The result of that method is the result of this
+ *	 method.
+ *
+ *	 GrowlApplicationBridge uses this method when you call
+ *	 <code>+setGrowlDelegate:</code>, or when you call
+ *	 <code>+registerWithDictionary:</code> with <code>nil</code>.
+ *
+ *	 This method was introduced in Growl.framework 0.7.
+ *	@result	A registration dictionary.
+ */
++ (NSDictionary *) bestRegistrationDictionary;
+
+#pragma mark -
+
+/*!	@method	registrationDictionaryByFillingInDictionary:
+ *	@abstract	Tries to fill in missing keys in a registration dictionary.
+ *	@discussion	This method examines the passed-in dictionary for missing keys,
+ *	 and tries to work out correct values for them. As of 0.7, it uses:
+ *
+ *	 Key							             Value
+ *	 ---							             -----
+ *	 <code>GROWL_APP_NAME</code>                 <code>CFBundleExecutableName</code>
+ *	 <code>GROWL_APP_ICON</code>                 The icon of the application.
+ *	 <code>GROWL_APP_LOCATION</code>             The location of the application.
+ *	 <code>GROWL_NOTIFICATIONS_DEFAULT</code>    <code>GROWL_NOTIFICATIONS_ALL</code>
+ *
+ *	 Keys are only filled in if missing; if a key is present in the dictionary,
+ *	 its value will not be changed.
+ *
+ *	 This method was introduced in Growl.framework 0.7.
+ *	@param	regDict	The dictionary to fill in.
+ *	@result	The dictionary with the keys filled in. This is an autoreleased
+ *	 copy of <code>regDict</code>.
+ */
++ (NSDictionary *) registrationDictionaryByFillingInDictionary:(NSDictionary *)regDict;
+/*!	@method	registrationDictionaryByFillingInDictionary:restrictToKeys:
+ *	@abstract	Tries to fill in missing keys in a registration dictionary.
+ *	@discussion	This method examines the passed-in dictionary for missing keys,
+ *	 and tries to work out correct values for them. As of 0.7, it uses:
+ *
+ *	 Key							             Value
+ *	 ---							             -----
+ *	 <code>GROWL_APP_NAME</code>                 <code>CFBundleExecutableName</code>
+ *	 <code>GROWL_APP_ICON</code>                 The icon of the application.
+ *	 <code>GROWL_APP_LOCATION</code>             The location of the application.
+ *	 <code>GROWL_NOTIFICATIONS_DEFAULT</code>    <code>GROWL_NOTIFICATIONS_ALL</code>
+ *
+ *	 Only those keys that are listed in <code>keys</code> will be filled in.
+ *	 Other missing keys are ignored. Also, keys are only filled in if missing;
+ *	 if a key is present in the dictionary, its value will not be changed.
+ *
+ *	 This method was introduced in Growl.framework 0.7.
+ *	@param	regDict	The dictionary to fill in.
+ *	@param	keys	The keys to fill in. If <code>nil</code>, any missing keys are filled in.
+ *	@result	The dictionary with the keys filled in. This is an autoreleased
+ *	 copy of <code>regDict</code>.
+ */
++ (NSDictionary *) registrationDictionaryByFillingInDictionary:(NSDictionary *)regDict restrictToKeys:(NSSet *)keys;
+
+/*!	@brief	Tries to fill in missing keys in a notification dictionary.
+ *	@param	notifDict	The dictionary to fill in.
+ *	@return	The dictionary with the keys filled in. This will be a separate instance from \a notifDict.
+ *	@discussion	This function examines the \a notifDict for missing keys, and 
+ *	 tries to get them from the last known registration dictionary. As of 1.1, 
+ *	 the keys that it will look for are:
+ *
+ *	 \li <code>GROWL_APP_NAME</code>
+ *	 \li <code>GROWL_APP_ICON</code>
+ *
+ *	@since Growl.framework 1.1
+ */
++ (NSDictionary *) notificationDictionaryByFillingInDictionary:(NSDictionary *)regDict;
+
++ (NSDictionary *) frameworkInfoDictionary;
+ at end
+
+//------------------------------------------------------------------------------
+#pragma mark -
+
+/*!
+ *	@protocol GrowlApplicationBridgeDelegate
+ *	@abstract Required protocol for the Growl delegate.
+ *	@discussion The methods in this protocol are required and are called
+ *	 automatically as needed by GrowlApplicationBridge. See
+ *	 <code>+[GrowlApplicationBridge setGrowlDelegate:]</code>.
+ *	 See also <code>GrowlApplicationBridgeDelegate_InformalProtocol</code>.
+ */
+
+ at protocol GrowlApplicationBridgeDelegate
+
+// -registrationDictionaryForGrowl has moved to the informal protocol as of 0.7.
+
+ at end
+
+//------------------------------------------------------------------------------
+#pragma mark -
+
+/*!
+ *	@category NSObject(GrowlApplicationBridgeDelegate_InformalProtocol)
+ *	@abstract Methods which may be optionally implemented by the GrowlDelegate.
+ *	@discussion The methods in this informal protocol will only be called if implemented by the delegate.
+ */
+ at interface NSObject (GrowlApplicationBridgeDelegate_InformalProtocol)
+
+/*!
+ *	@method registrationDictionaryForGrowl
+ *	@abstract Return the dictionary used to register this application with Growl.
+ *	@discussion The returned dictionary gives Growl the complete list of
+ *	 notifications this application will ever send, and it also specifies which
+ *	 notifications should be enabled by default.  Each is specified by an array
+ *	 of <code>NSString</code> objects.
+ *
+ *	 For most applications, these two arrays can be the same (if all sent
+ *	 notifications should be displayed by default).
+ *
+ *	 The <code>NSString</code> objects of these arrays will correspond to the
+ *	 <code>notificationName:</code> parameter passed in
+ *	 <code>+[GrowlApplicationBridge
+ *	 notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:]</code> calls.
+ *
+ *	 The dictionary should have the required key object pairs:
+ *	 key: GROWL_NOTIFICATIONS_ALL		object: <code>NSArray</code> of <code>NSString</code> objects
+ *	 key: GROWL_NOTIFICATIONS_DEFAULT	object: <code>NSArray</code> of <code>NSString</code> objects
+ *
+ *   The dictionary may have the following key object pairs:
+ *   key: GROWL_NOTIFICATIONS_HUMAN_READABLE_NAMES	object: <code>NSDictionary</code> of key: notification name		object: human-readable notification name
+ *
+ *	 You do not need to implement this method if you have an auto-discoverable
+ *	 plist file in your app bundle. (XXX refer to more information on that)
+ *
+ *	@result The <code>NSDictionary</code> to use for registration.
+ */
+- (NSDictionary *) registrationDictionaryForGrowl;
+
+/*!
+ *	@method applicationNameForGrowl
+ *	@abstract Return the name of this application which will be used for Growl bookkeeping.
+ *	@discussion This name is used both internally and in the Growl preferences.
+ *
+ *	 This should remain stable between different versions and incarnations of
+ *	 your application.
+ *	 For example, "SurfWriter" is a good app name, whereas "SurfWriter 2.0" and
+ *	 "SurfWriter Lite" are not.
+ *
+ *	 You do not need to implement this method if you are providing the
+ *	 application name elsewhere, meaning in an auto-discoverable plist file in
+ *	 your app bundle (XXX refer to more information on that) or in the result
+ *	 of -registrationDictionaryForGrowl.
+ *
+ *	@result The name of the application using Growl.
+ */
+- (NSString *) applicationNameForGrowl;
+
+/*!
+ *	@method applicationIconForGrowl
+ *	@abstract Return the <code>NSImage</code> to treat as the application icon.
+ *	@discussion The delegate may optionally return an <code>NSImage</code>
+ *	 object to use as the application icon. If this method is not implemented,
+ *	 {{{-applicationIconDataForGrowl}}} is tried. If that method is not
+ *	 implemented, the application's own icon is used. Neither method is
+ *	 generally needed.
+ *	@result The <code>NSImage</code> to treat as the application icon.
+ */
+- (NSImage *) applicationIconForGrowl;
+
+/*!
+ *	@method applicationIconDataForGrowl
+ *	@abstract Return the <code>NSData</code> to treat as the application icon.
+ *	@discussion The delegate may optionally return an <code>NSData</code>
+ *	 object to use as the application icon; if this is not implemented, the
+ *	 application's own icon is used.  This is not generally needed.
+ *	@result The <code>NSData</code> to treat as the application icon.
+ *	@deprecated In version 1.1, in favor of {{{-applicationIconForGrowl}}}.
+ */
+- (NSData *) applicationIconDataForGrowl;
+
+/*!
+ *	@method growlIsReady
+ *	@abstract Informs the delegate that Growl has launched.
+ *	@discussion Informs the delegate that Growl (specifically, the
+ *	 GrowlHelperApp) was launched successfully. The application can take actions
+ *   with the knowledge that Growl is installed and functional.
+ */
+- (void) growlIsReady;
+
+/*!
+ *	@method growlNotificationWasClicked:
+ *	@abstract Informs the delegate that a Growl notification was clicked.
+ *	@discussion Informs the delegate that a Growl notification was clicked.  It
+ *	 is only sent for notifications sent with a non-<code>nil</code>
+ *	 clickContext, so if you want to receive a message when a notification is
+ *	 clicked, clickContext must not be <code>nil</code> when calling
+ *	 <code>+[GrowlApplicationBridge notifyWithTitle: description:notificationName:iconData:priority:isSticky:clickContext:]</code>.
+ *	@param clickContext The clickContext passed when displaying the notification originally via +[GrowlApplicationBridge notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:].
+ */
+- (void) growlNotificationWasClicked:(id)clickContext;
+
+/*!
+ *	@method growlNotificationTimedOut:
+ *	@abstract Informs the delegate that a Growl notification timed out.
+ *	@discussion Informs the delegate that a Growl notification timed out. It
+ *	 is only sent for notifications sent with a non-<code>nil</code>
+ *	 clickContext, so if you want to receive a message when a notification is
+ *	 clicked, clickContext must not be <code>nil</code> when calling
+ *	 <code>+[GrowlApplicationBridge notifyWithTitle: description:notificationName:iconData:priority:isSticky:clickContext:]</code>.
+ *	@param clickContext The clickContext passed when displaying the notification originally via +[GrowlApplicationBridge notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:].
+ */
+- (void) growlNotificationTimedOut:(id)clickContext;
+
+ at end
+
+#pragma mark -
+/*!
+ *	@category NSObject(GrowlApplicationBridgeDelegate_Installation_InformalProtocol)
+ *	@abstract Methods which may be optionally implemented by the Growl delegate when used with Growl-WithInstaller.framework.
+ *	@discussion The methods in this informal protocol will only be called if
+ *	 implemented by the delegate.  They allow greater control of the information
+ *	 presented to the user when installing or upgrading Growl from within your
+ *	 application when using Growl-WithInstaller.framework.
+ */
+ at interface NSObject (GrowlApplicationBridgeDelegate_Installation_InformalProtocol)
+
+/*!
+ *	@method growlInstallationWindowTitle
+ *	@abstract Return the title of the installation window.
+ *	@discussion If not implemented, Growl will use a default, localized title.
+ *	@result An NSString object to use as the title.
+ */
+- (NSString *)growlInstallationWindowTitle;
+
+/*!
+ *	@method growlUpdateWindowTitle
+ *	@abstract Return the title of the upgrade window.
+ *	@discussion If not implemented, Growl will use a default, localized title.
+ *	@result An NSString object to use as the title.
+ */
+- (NSString *)growlUpdateWindowTitle;
+
+/*!
+ *	@method growlInstallationInformation
+ *	@abstract Return the information to display when installing.
+ *	@discussion This information may be as long or short as desired (the window
+ *	 will be sized to fit it).  It will be displayed to the user as an
+ *	 explanation of what Growl is and what it can do in your application.  It
+ *	 should probably note that no download is required to install.
+ *
+ *	 If this is not implemented, Growl will use a default, localized explanation.
+ *	@result An NSAttributedString object to display.
+ */
+- (NSAttributedString *)growlInstallationInformation;
+
+/*!
+ *	@method growlUpdateInformation
+ *	@abstract Return the information to display when upgrading.
+ *	@discussion This information may be as long or short as desired (the window
+ *	 will be sized to fit it).  It will be displayed to the user as an
+ *	 explanation that an updated version of Growl is included in your
+ *	 application and no download is required.
+ *
+ *	 If this is not implemented, Growl will use a default, localized explanation.
+ *	@result An NSAttributedString object to display.
+ */
+- (NSAttributedString *)growlUpdateInformation;
+
+ at end
+
+//private
+ at interface GrowlApplicationBridge (GrowlInstallationPrompt_private)
++ (void) _userChoseNotToInstallGrowl;
+ at end
+
+#endif /* __GrowlApplicationBridge_h__ */

Added: trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/Headers/GrowlDefines.h
===================================================================
--- trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/Headers/GrowlDefines.h	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/Headers/GrowlDefines.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,348 @@
+//
+//  GrowlDefines.h
+//
+
+#ifndef _GROWLDEFINES_H
+#define _GROWLDEFINES_H
+
+#ifdef __OBJC__
+#define XSTR(x) (@x)
+#define STRING_TYPE NSString *
+#else
+#define XSTR CFSTR
+#define STRING_TYPE CFStringRef
+#endif
+
+/*!	@header GrowlDefines.h
+ *	@abstract   Defines all the notification keys.
+ *	@discussion Defines all the keys used for registration with Growl and for
+ *	 Growl notifications.
+ *
+ *	 Most applications should use the functions or methods of Growl.framework
+ *	 instead of posting notifications such as those described here.
+ *	@updated 2004-01-25
+ */
+
+// UserInfo Keys for Registration
+#pragma mark UserInfo Keys for Registration
+
+/*!	@group Registration userInfo keys */
+/*	@abstract	Keys for the userInfo dictionary of a GROWL_APP_REGISTRATION distributed notification.
+ *	@discussion The values of these keys describe the application and the
+ *	 notifications it may post.
+ *
+ *	 Your application must register with Growl before it can post Growl
+ *	 notifications (and have them not be ignored). However, as of Growl 0.6,
+ *	 posting GROWL_APP_REGISTRATION notifications directly is no longer the
+ *	 preferred way to register your application. Your application should instead
+ *	 use Growl.framework's delegate system.
+ *	 See +[GrowlApplicationBridge setGrowlDelegate:] or Growl_SetDelegate for
+ *	 more information.
+ */
+
+/*!	@defined GROWL_APP_NAME
+ *	@abstract The name of your application.
+ *	@discussion The name of your application. This should remain stable between
+ *	 different versions and incarnations of your application.
+ *	 For example, "SurfWriter" is a good app name, whereas "SurfWriter 2.0" and
+ *	 "SurfWriter Lite" are not.
+ */
+#define GROWL_APP_NAME					XSTR("ApplicationName")
+/*!	@defined GROWL_APP_ID
+ *	@abstract The bundle identifier of your application.
+ *	@discussion The bundle identifier of your application. This key should
+ *   be unique for your application while there may be several applications
+ *   with the same GROWL_APP_NAME.
+ *   This key is optional.
+ */
+#define GROWL_APP_ID					XSTR("ApplicationId")
+/*!	@defined GROWL_APP_ICON
+ *	@abstract The image data for your application's icon.
+ *	@discussion Image data representing your application's icon. This may be
+ *	 superimposed on a notification icon as a badge, used as the notification
+ *	 icon when a notification-specific icon is not supplied, or ignored
+ *	 altogether, depending on the display. Must be in a format supported by
+ *	 NSImage, such as TIFF, PNG, GIF, JPEG, BMP, PICT, or PDF.
+ *
+ *	 Optional. Not supported by all display plugins.
+ */
+#define GROWL_APP_ICON					XSTR("ApplicationIcon")
+/*!	@defined GROWL_NOTIFICATIONS_DEFAULT
+ *	@abstract The array of notifications to turn on by default.
+ *	@discussion These are the names of the notifications that should be enabled
+ *	 by default when your application registers for the first time. If your
+ *	 application reregisters, Growl will look here for any new notification
+ *	 names found in GROWL_NOTIFICATIONS_ALL, but ignore any others.
+ */
+#define GROWL_NOTIFICATIONS_DEFAULT		XSTR("DefaultNotifications")
+/*!	@defined GROWL_NOTIFICATIONS_ALL
+ *	@abstract The array of all notifications your application can send.
+ *	@discussion These are the names of all of the notifications that your
+ *	 application may post. See GROWL_NOTIFICATION_NAME for a discussion of good
+ *	 notification names.
+ */
+#define GROWL_NOTIFICATIONS_ALL			XSTR("AllNotifications")
+/*! @defined GROWL_NOTIFICATIONS_HUMAN_READABLE_DESCRIPTIONS
+ *  @abstract A dictionary of human-readable names for your notifications.
+ *  @discussion By default, the Growl UI will display notifications by the names given in GROWL_NOTIFICATIONS_ALL
+ *  which correspond to the GROWL_NOTIFICATION_NAME. This dictionary specifies the human-readable name to display.
+ *  The keys of the dictionary are GROWL_NOTIFICATION_NAME strings; the objects are the human-readable versions.
+ *  For any GROWL_NOTIFICATION_NAME not specific in this dictionary, the GROWL_NOTIFICATION_NAME will be displayed.
+ *
+ *  This key is optional.
+ */
+#define GROWL_NOTIFICATIONS_HUMAN_READABLE_NAMES		XSTR("HumanReadableNames")
+/*! @defined GROWL_NOTIFICATIONS_DESCRIPTIONS
+*  @abstract A dictionary of descriptions of _when_ each notification occurs
+*  @discussion This is an NSDictionary whose keys are GROWL_NOTIFICATION_NAME strings and whose objects are
+*  descriptions of _when_ each notification occurs, such as "You received a new mail message" or
+*  "A file finished downloading".
+*
+*  This key is optional.
+*/
+#define GROWL_NOTIFICATIONS_DESCRIPTIONS		XSTR("NotificationDescriptions")
+
+/*!	@defined	GROWL_TICKET_VERSION
+ *	@abstract	The version of your registration ticket.
+ *	@discussion	Include this key in a ticket plist file that you put in your
+ *	 application bundle for auto-discovery. The current ticket version is 1.
+ */
+#define GROWL_TICKET_VERSION			XSTR("TicketVersion")
+// UserInfo Keys for Notifications
+#pragma mark UserInfo Keys for Notifications
+
+/*!	@group Notification userInfo keys */
+/*	@abstract	Keys for the userInfo dictionary of a GROWL_NOTIFICATION distributed notification.
+ *	@discussion The values of these keys describe the content of a Growl
+ *	 notification.
+ *
+ *	 Not all of these keys are supported by all displays. Only the name, title,
+ *	 and description of a notification are universal. Most of the built-in
+ *	 displays do support all of these keys, and most other visual displays
+ *	 probably will also. But, as of 0.6, the Log, MailMe, and Speech displays
+ *	 support only textual data.
+ */
+
+/*!	@defined GROWL_NOTIFICATION_NAME
+ *	@abstract The name of the notification.
+ *	@discussion The name of the notification. Note that if you do not define
+ *  GROWL_NOTIFICATIONS_HUMAN_READABLE_NAMES when registering your ticket originally this name
+ *  will the one displayed within the Growl preference pane and should be human-readable.
+ */
+#define GROWL_NOTIFICATION_NAME			XSTR("NotificationName")
+/*!	@defined GROWL_NOTIFICATION_TITLE
+ *	@abstract The title to display in the notification.
+ *	@discussion The title of the notification. Should be very brief.
+ *	 The title usually says what happened, e.g. "Download complete".
+ */
+#define GROWL_NOTIFICATION_TITLE		XSTR("NotificationTitle")
+/*!	@defined GROWL_NOTIFICATION_DESCRIPTION
+ *	@abstract The description to display in the notification.
+ *	@discussion The description should be longer and more verbose than the title.
+ *	 The description usually tells the subject of the action,
+ *	 e.g. "Growl-0.6.dmg downloaded in 5.02 minutes".
+ */
+#define GROWL_NOTIFICATION_DESCRIPTION  	XSTR("NotificationDescription")
+/*!	@defined GROWL_NOTIFICATION_ICON
+ *	@discussion Image data for the notification icon. Must be in a format
+ *	 supported by NSImage, such as TIFF, PNG, GIF, JPEG, BMP, PICT, or PDF.
+ *
+ *	 Optional. Not supported by all display plugins.
+ */
+#define GROWL_NOTIFICATION_ICON			XSTR("NotificationIcon")
+/*!	@defined GROWL_NOTIFICATION_APP_ICON
+ *	@discussion Image data for the application icon, in case GROWL_APP_ICON does
+ *	 not apply for some reason. Must be in a format supported by NSImage, such
+ *	 as TIFF, PNG, GIF, JPEG, BMP, PICT, or PDF.
+ *
+ *	 Optional. Not supported by all display plugins.
+ */
+#define GROWL_NOTIFICATION_APP_ICON		XSTR("NotificationAppIcon")
+/*!	@defined GROWL_NOTIFICATION_PRIORITY
+ *	@discussion The priority of the notification as an integer number from
+ *	 -2 to +2 (+2 being highest).
+ *
+ *	 Optional. Not supported by all display plugins.
+ */
+#define GROWL_NOTIFICATION_PRIORITY		XSTR("NotificationPriority")
+/*!	@defined GROWL_NOTIFICATION_STICKY
+ *	@discussion A Boolean number controlling whether the notification is sticky.
+ *
+ *	 Optional. Not supported by all display plugins.
+ */
+#define GROWL_NOTIFICATION_STICKY		XSTR("NotificationSticky")
+/*!	@defined GROWL_NOTIFICATION_CLICK_CONTEXT
+ *	@abstract Identifies which notification was clicked.
+ *	@discussion An identifier for the notification for clicking purposes.
+ *
+ *	 This will be passed back to the application when the notification is
+ *	 clicked. It must be plist-encodable (a data, dictionary, array, number, or
+ *	 string object), and it should be unique for each notification you post.
+ *	 A good click context would be a UUID string returned by NSProcessInfo or
+ *	 CFUUID.
+ *
+ *	 Optional. Not supported by all display plugins.
+ */
+#define GROWL_NOTIFICATION_CLICK_CONTEXT			XSTR("NotificationClickContext")
+
+/*!	@defined GROWL_DISPLAY_PLUGIN
+ *	@discussion The name of a display plugin which should be used for this notification.
+ *    Optional. If this key is not set or the specified display plugin does not
+ *    exist, the display plugin stored in the application ticket is used. This key
+ *    allows applications to use different default display plugins for their
+ *    notifications. The user can still override those settings in the preference
+ *    pane.
+ */
+#define GROWL_DISPLAY_PLUGIN				XSTR("NotificationDisplayPlugin")
+
+/*!	@defined GROWL_NOTIFICATION_IDENTIFIER
+ *	@abstract An identifier for the notification for coalescing purposes.
+ *   Notifications with the same identifier fall into the same class; only
+ *   the last notification of a class is displayed on the screen. If a
+ *   notification of the same class is currently being displayed, it is
+ *   replaced by this notification.
+ *
+ *	 Optional. Not supported by all display plugins.
+ */
+#define GROWL_NOTIFICATION_IDENTIFIER	XSTR("GrowlNotificationIdentifier")
+
+/*!	@defined GROWL_APP_PID
+ *	@abstract The process identifier of the process which sends this
+ *   notification. If this field is set, the application will only receive
+ *   clicked and timed out notifications which originate from this process.
+ *
+ *	 Optional.
+ */
+#define GROWL_APP_PID					XSTR("ApplicationPID")
+
+/*!	@defined GROWL_NOTIFICATION_PROGRESS
+*	@abstract If this key is set, it should contain a double value wrapped
+*     in a NSNumber which describes some sort of progress (from 0.0 to 100.0).
+*     If this is key is not set, no progress bar is shown.
+*
+*	 Optional. Not supported by all display plugins.
+*/
+#define GROWL_NOTIFICATION_PROGRESS		XSTR("NotificationProgress")
+
+// Notifications
+#pragma mark Notifications
+
+/*!	@group Notification names */
+/*	@abstract	Names of distributed notifications used by Growl.
+ *	@discussion	These are notifications used by applications (directly or
+ *	 indirectly) to interact with Growl, and by Growl for interaction between
+ *	 its components.
+ *
+ *	 Most of these should no longer be used in Growl 0.6 and later, in favor of
+ *	 Growl.framework's GrowlApplicationBridge APIs.
+ */
+
+/*!	@defined GROWL_APP_REGISTRATION
+ *	@abstract The distributed notification for registering your application.
+ *	@discussion This is the name of the distributed notification that can be
+ *	 used to register applications with Growl.
+ *
+ *	 The userInfo dictionary for this notification can contain these keys:
+ *	 <ul>
+ *	 	<li>GROWL_APP_NAME</li>
+ *	 	<li>GROWL_APP_ICON</li>
+ *	 	<li>GROWL_NOTIFICATIONS_ALL</li>
+ *	 	<li>GROWL_NOTIFICATIONS_DEFAULT</li>
+ *	 </ul>
+ *
+ *	 No longer recommended as of Growl 0.6. An alternate method of registering
+ *	 is to use Growl.framework's delegate system.
+ *	 See +[GrowlApplicationBridge setGrowlDelegate:] or Growl_SetDelegate for
+ *	 more information.
+ */
+#define GROWL_APP_REGISTRATION			XSTR("GrowlApplicationRegistrationNotification")
+/*!	@defined GROWL_APP_REGISTRATION_CONF
+ *	@abstract The distributed notification for confirming registration.
+ *	@discussion The name of the distributed notification sent to confirm the
+ *	 registration. Used by the Growl preference pane. Your application probably
+ *	 does not need to use this notification.
+ */
+#define GROWL_APP_REGISTRATION_CONF		XSTR("GrowlApplicationRegistrationConfirmationNotification")
+/*!	@defined GROWL_NOTIFICATION
+ *	@abstract The distributed notification for Growl notifications.
+ *	@discussion This is what it all comes down to. This is the name of the
+ *	 distributed notification that your application posts to actually send a
+ *	 Growl notification.
+ *
+ *	 The userInfo dictionary for this notification can contain these keys:
+ *	 <ul>
+ *	 	<li>GROWL_NOTIFICATION_NAME (required)</li>
+ *	 	<li>GROWL_NOTIFICATION_TITLE (required)</li>
+ *	 	<li>GROWL_NOTIFICATION_DESCRIPTION (required)</li>
+ *	 	<li>GROWL_NOTIFICATION_ICON</li>
+ *	 	<li>GROWL_NOTIFICATION_APP_ICON</li>
+ *	 	<li>GROWL_NOTIFICATION_PRIORITY</li>
+ *	 	<li>GROWL_NOTIFICATION_STICKY</li>
+ *	 	<li>GROWL_NOTIFICATION_CLICK_CONTEXT</li>
+ *	 	<li>GROWL_APP_NAME (required)</li>
+ *	 </ul>
+ *
+ *	 No longer recommended as of Growl 0.6. Three alternate methods of posting
+ *	 notifications are +[GrowlApplicationBridge notifyWithTitle:description:notificationName:iconData:priority:isSticky:clickContext:],
+ *	 Growl_NotifyWithTitleDescriptionNameIconPriorityStickyClickContext, and
+ *	 Growl_PostNotification.
+ */
+#define GROWL_NOTIFICATION				XSTR("GrowlNotification")
+/*!	@defined GROWL_SHUTDOWN
+*	@abstract The distributed notification name that tells Growl to shutdown.
+*	@discussion The Growl preference pane posts this notification when the
+*	 "Stop Growl" button is clicked.
+*/
+#define GROWL_SHUTDOWN					XSTR("GrowlShutdown")
+/*!	@defined GROWL_PING
+ *	@abstract A distributed notification to check whether Growl is running.
+ *	@discussion This is used by the Growl preference pane. If it receives a
+ *	 GROWL_PONG, the preference pane takes this to mean that Growl is running.
+ */
+#define GROWL_PING						XSTR("Honey, Mind Taking Out The Trash")
+/*!	@defined GROWL_PONG
+ *	@abstract The distributed notification sent in reply to GROWL_PING.
+ *	@discussion GrowlHelperApp posts this in reply to GROWL_PING.
+ */
+#define GROWL_PONG						XSTR("What Do You Want From Me, Woman")
+/*!	@defined GROWL_IS_READY
+ *	@abstract The distributed notification sent when Growl starts up.
+ *	@discussion GrowlHelperApp posts this when it has begin listening on all of
+ *	 its sources for new notifications. GrowlApplicationBridge (in
+ *	 Growl.framework), upon receiving this notification, reregisters using the
+ *	 registration dictionary supplied by its delegate.
+ */
+#define GROWL_IS_READY					XSTR("Lend Me Some Sugar; I Am Your Neighbor!")
+/*!	@defined GROWL_NOTIFICATION_CLICKED
+ *	@abstract The distributed notification sent when a supported notification is clicked.
+ *	@discussion When a Growl notification with a click context is clicked on by
+ *	 the user, Growl posts this distributed notification.
+ *	 The GrowlApplicationBridge responds to this notification by calling a
+ *	 callback in its delegate.
+ */
+#define GROWL_NOTIFICATION_CLICKED		XSTR("GrowlClicked!")
+#define GROWL_NOTIFICATION_TIMED_OUT	XSTR("GrowlTimedOut!")
+
+/*!	@group Other symbols */
+/* Symbols which don't fit into any of the other categories. */
+
+/*!	@defined GROWL_KEY_CLICKED_CONTEXT
+ *	@abstract Used internally as the key for the clickedContext passed over DNC.
+ *	@discussion This key is used in GROWL_NOTIFICATION_CLICKED, and contains the
+ *	 click context that was supplied in the original notification.
+ */
+#define GROWL_KEY_CLICKED_CONTEXT		XSTR("ClickedContext")
+/*!	@defined GROWL_REG_DICT_EXTENSION
+ *	@abstract The filename extension for registration dictionaries.
+ *	@discussion The GrowlApplicationBridge in Growl.framework registers with
+ *	 Growl by creating a file with the extension of .(GROWL_REG_DICT_EXTENSION)
+ *	 and opening it in the GrowlHelperApp. This happens whether or not Growl is
+ *	 running; if it was stopped, it quits immediately without listening for
+ *	 notifications.
+ */
+#define GROWL_REG_DICT_EXTENSION		XSTR("growlRegDict")
+
+
+#define GROWL_POSITION_PREFERENCE_KEY			@"GrowlSelectedPosition"
+
+#endif //ndef _GROWLDEFINES_H

Added: trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/Resources/Info.plist
===================================================================
--- trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/Resources/Info.plist	                        (rev 0)
+++ trunk/src/uimacnew09/Frameworks/Growl.framework/Versions/Current/Resources/Info.plist	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,24 @@
+<?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>Growl</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.growl.growlframework</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.2</string>
+	<key>CFBundleSignature</key>
+	<string>GRRR</string>
+	<key>CFBundleVersion</key>
+	<string>1.2</string>
+	<key>NSPrincipalClass</key>
+	<string>GrowlApplicationBridge</string>
+</dict>
+</plist>

Added: trunk/src/uimacnew09/ImageAndTextCell.h
===================================================================
--- trunk/src/uimacnew09/ImageAndTextCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/ImageAndTextCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,20 @@
+//
+//  ImageAndTextCell.h
+//
+//  Copyright (c) 2001-2002, Apple. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+ at interface ImageAndTextCell : NSTextFieldCell {
+ at private
+    NSImage	*image;
+}
+
+- (void)setImage:(NSImage *)anImage;
+- (NSImage *)image;
+
+- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView;
+- (NSSize)cellSize;
+
+ at end

Added: trunk/src/uimacnew09/ImageAndTextCell.m
===================================================================
--- trunk/src/uimacnew09/ImageAndTextCell.m	                        (rev 0)
+++ trunk/src/uimacnew09/ImageAndTextCell.m	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,128 @@
+/*
+	ImageAndTextCell.m
+	Copyright (c) 2001-2004, Apple Computer, Inc., all rights reserved.
+	Author: Chuck Pisula
+
+	Milestones:
+	Initially created 3/1/01
+
+        Subclass of NSTextFieldCell which can display text and an image simultaneously.
+*/
+
+/*
+ IMPORTANT:  This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in
+ consideration of your agreement to the following terms, and your use, installation, 
+ modification or redistribution of this Apple software constitutes acceptance of these 
+ terms.  If you do not agree with these terms, please do not use, install, modify or 
+ redistribute this Apple software.
+ 
+ In consideration of your agreement to abide by the following terms, and subject to these 
+ terms, Apple grants you a personal, non-exclusive license, under AppleÕs copyrights in 
+ this original Apple software (the "Apple Software"), to use, reproduce, modify and 
+ redistribute the Apple Software, with or without modifications, in source and/or binary 
+ forms; provided that if you redistribute the Apple Software in its entirety and without 
+ modifications, you must retain this notice and the following text and disclaimers in all 
+ such redistributions of the Apple Software.  Neither the name, trademarks, service marks 
+ or logos of Apple Computer, Inc. may be used to endorse or promote products derived from 
+ the Apple Software without specific prior written permission from Apple. Except as expressly
+ stated in this notice, no other rights or licenses, express or implied, are granted by Apple
+ herein, including but not limited to any patent rights that may be infringed by your 
+ derivative works or by other works in which the Apple Software may be incorporated.
+ 
+ The Apple Software is provided by Apple on an "AS IS" basis.  APPLE MAKES NO WARRANTIES, 
+ EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, 
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS 
+ USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+ 
+ IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL 
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 
+ OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, 
+ REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND 
+ WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR 
+ OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#import "ImageAndTextCell.h"
+
+ at implementation ImageAndTextCell
+
+- (void)dealloc {
+    [image release];
+    image = nil;
+    [super dealloc];
+}
+
+- copyWithZone:(NSZone *)zone {
+    ImageAndTextCell *cell = (ImageAndTextCell *)[super copyWithZone:zone];
+    cell->image = [image retain];
+    return cell;
+}
+
+- (void)setImage:(NSImage *)anImage {
+    if (anImage != image) {
+        [image release];
+        image = [anImage retain];
+    }
+}
+
+- (NSImage *)image {
+    return image;
+}
+
+- (NSRect)imageFrameForCellFrame:(NSRect)cellFrame {
+    if (image != nil) {
+        NSRect imageFrame;
+        imageFrame.size = [image size];
+        imageFrame.origin = cellFrame.origin;
+        imageFrame.origin.x += 3;
+        imageFrame.origin.y += ceil((cellFrame.size.height - imageFrame.size.height) / 2);
+        return imageFrame;
+    }
+    else
+        return NSZeroRect;
+}
+
+- (void)editWithFrame:(NSRect)aRect inView:(NSView *)controlView editor:(NSText *)textObj delegate:(id)anObject event:(NSEvent *)theEvent {
+    NSRect textFrame, imageFrame;
+    NSDivideRect (aRect, &imageFrame, &textFrame, 3 + [image size].width, NSMinXEdge);
+    [super editWithFrame: textFrame inView: controlView editor:textObj delegate:anObject event: theEvent];
+}
+
+- (void)selectWithFrame:(NSRect)aRect inView:(NSView *)controlView editor:(NSText *)textObj delegate:(id)anObject start:(int)selStart length:(int)selLength {
+    NSRect textFrame, imageFrame;
+    NSDivideRect (aRect, &imageFrame, &textFrame, 3 + [image size].width, NSMinXEdge);
+    [super selectWithFrame: textFrame inView: controlView editor:textObj delegate:anObject start:selStart length:selLength];
+}
+
+- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView {
+    if (image != nil) {
+        NSSize	imageSize;
+        NSRect	imageFrame;
+
+        imageSize = [image size];
+        NSDivideRect(cellFrame, &imageFrame, &cellFrame, 3 + imageSize.width, NSMinXEdge);
+        if ([self drawsBackground]) {
+            [[self backgroundColor] set];
+            NSRectFill(imageFrame);
+        }
+        imageFrame.origin.x += 3;
+        imageFrame.size = imageSize;
+
+        if ([controlView isFlipped])
+            imageFrame.origin.y += ceil((cellFrame.size.height + imageFrame.size.height) / 2);
+        else
+            imageFrame.origin.y += ceil((cellFrame.size.height - imageFrame.size.height) / 2);
+
+        [image compositeToPoint:imageFrame.origin operation:NSCompositeSourceOver];
+    }
+    [super drawWithFrame:cellFrame inView:controlView];
+}
+
+- (NSSize)cellSize {
+    NSSize cellSize = [super cellSize];
+    cellSize.width += (image ? [image size].width : 0) + 3;
+    return cellSize;
+}
+
+ at end
+

Added: trunk/src/uimacnew09/Info.plist
===================================================================
--- trunk/src/uimacnew09/Info.plist	                        (rev 0)
+++ trunk/src/uimacnew09/Info.plist	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleName</key>
+	<string>Unison</string>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>English</string>
+	<key>CFBundleExecutable</key>
+	<string>Unison</string>
+	<key>CFBundleIconFile</key>
+	<string>Unison.icns</string>
+	<key>CFBundleIdentifier</key>
+	<string>edu.upenn.cis.Unison</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundlePackageType</key>
+	<string>APPL</string>
+	<key>CFBundleSignature</key>
+	<string>????</string>
+	<key>CFBundleShortVersionString</key>
+	<string>$(MARKETING_VERSION)</string>
+	<key>CFBundleGetInfoString</key>
+	<string>${MARKETING_VERSION}, ©1999-2007, licensed under GNU GPL.</string>
+	<key>NSHumanReadableCopyright</key>
+	<string>©1999-2006, licensed under GNU GPL.</string>
+	<key>NSMainNibFile</key>
+	<string>MainMenu</string>
+	<key>NSPrincipalClass</key>
+	<string>NSApplication</string>
+</dict>
+</plist>

Added: trunk/src/uimacnew09/Info.plist.template
===================================================================
--- trunk/src/uimacnew09/Info.plist.template	                        (rev 0)
+++ trunk/src/uimacnew09/Info.plist.template	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleName</key>
+	<string>Unison</string>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>English</string>
+	<key>CFBundleExecutable</key>
+	<string>Unison</string>
+	<key>CFBundleIconFile</key>
+	<string>Unison.icns</string>
+	<key>CFBundleIdentifier</key>
+	<string>edu.upenn.cis.Unison</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundlePackageType</key>
+	<string>APPL</string>
+	<key>CFBundleSignature</key>
+	<string>????</string>
+	<key>CFBundleVersion</key>
+	<string>@@VERSION@@</string>
+	<key>CFBundleShortVersionString</key>
+	<string>@@VERSION@@</string>
+	<key>CFBundleGetInfoString</key>
+	<string>@@VERSION@@. ©1999-2007, licensed under GNU GPL.</string>
+	<key>NSHumanReadableCopyright</key>
+	<string>©1999-2006, licensed under GNU GPL.</string>
+	<key>NSMainNibFile</key>
+	<string>MainMenu</string>
+	<key>NSPrincipalClass</key>
+	<string>NSApplication</string>
+</dict>
+</plist>

Added: trunk/src/uimacnew09/MyController.h
===================================================================
--- trunk/src/uimacnew09/MyController.h	                        (rev 0)
+++ trunk/src/uimacnew09/MyController.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,137 @@
+/* MyController */
+/* Copyright (c) 2003, see file COPYING for details. */
+
+#import <Cocoa/Cocoa.h>
+
+#import "ProfileController.h"
+#import "PreferencesController.h"
+#import "NotificationController.h"
+#import "ReconItem.h"
+#import "ReconTableView.h"
+#import "UnisonToolbar.h"
+#import "ImageAndTextCell.h"
+#import "ProgressCell.h"
+#import "Bridge.h"
+
+ at interface MyController : NSObject
+{
+  IBOutlet NSWindow *mainWindow;
+  UnisonToolbar *toolbar;
+  
+  IBOutlet NSWindow *cltoolWindow;
+  IBOutlet NSButton *cltoolPref;
+  
+  IBOutlet ProfileController *profileController;
+  IBOutlet NSView *chooseProfileView;
+  NSString *myProfile;
+  
+  IBOutlet PreferencesController *preferencesController;
+  IBOutlet NSView *preferencesView;
+  
+  IBOutlet NSView *updatesView;
+  IBOutlet NSView *ConnectingView;
+  
+  NSView *blankView;
+  
+  IBOutlet ReconTableView *tableView;
+  IBOutlet NSTextField *updatesText;
+  IBOutlet NSTextField *detailsTextView;
+  IBOutlet NSTextField *statusText;
+  
+  IBOutlet NSWindow *passwordWindow;
+  IBOutlet NSTextField *passwordPrompt;
+  IBOutlet NSTextField *passwordText;
+  IBOutlet NSButton *passwordCancelButton;
+  BOOL waitingForPassword;
+  
+  IBOutlet NSWindow *aboutWindow;
+  IBOutlet NSTextField *versionText;
+  
+  IBOutlet NSProgressIndicator *progressBar;
+  
+  IBOutlet NotificationController *notificationController;
+  
+  BOOL syncable;
+  BOOL duringSync;	
+  BOOL afterSync;
+  
+  NSMutableArray *reconItems;
+  ParentReconItem *rootItem;
+  OCamlValue *preconn;
+  
+  BOOL doneFirstDiff;
+  IBOutlet NSWindow *diffWindow;
+  IBOutlet NSTextView *diffView;
+  IBOutlet NSSegmentedControl *tableModeSelector;
+  IBOutlet NSProgressIndicator *connectingAnimation;
+  
+  IBOutlet NSWindow *preferencesWindow;
+  IBOutlet NSButton* checkOpenProfile;
+  IBOutlet NSComboBox *profileBox;
+  IBOutlet NSTextField *detailsFontLabel;
+  IBOutlet NSTextField *diffFontLabel;
+  IBOutlet NSButton *chooseDetailsFont;
+  IBOutlet NSButton *chooseDiffFont;
+
+  IBOutlet NSSplitView *splitView;
+
+  id fontChangeTarget;
+}
+
+- (id)init;
+- (void)awakeFromNib;
+
+- (void)chooseProfiles;
+- (IBAction)createButton:(id)sender;
+- (IBAction)saveProfileButton:(id)sender;
+- (IBAction)cancelProfileButton:(id)sender;
+- (NSString *)profile;
+- (void)profileSelected:(NSString *)aProfile;
+
+- (IBAction)showPreferences:(id)sender;
+- (IBAction)restartButton:(id)sender;
+- (IBAction)rescan:(id)sender;
+
+- (IBAction)openButton:(id)sender;
+- (void)connect:(NSString *)profileName;
+- (void)raisePasswordWindow:(NSString *)prompt;
+- (void)controlTextDidEndEditing:(NSNotification *)notification;
+- (IBAction)endPasswordWindow:(id)sender;
+- (void)afterOpen;
+
+- (IBAction)syncButton:(id)sender;
+- (IBAction)tableModeChanged:(id)sender;
+- (void)initTableMode;
+
+- (NSMutableArray *)reconItems;
+- (void)updateForChangedItems;
+- (void)updateReconItems:(OCamlValue *)items;
+- (id)updateForIgnore:(id)i;
+
+- (void)statusTextSet:(NSString *)s;
+- (void)diffViewTextSet:(NSString *)title bodyText:(NSString *)body;
+- (void)displayDetails:(ReconItem *)item;
+- (void)clearDetails;
+
+- (IBAction)raiseCltoolWindow:(id)sender;
+- (IBAction)cltoolYesButton:(id)sender;
+- (IBAction)cltoolNoButton:(id)sender;
+
+- (IBAction)raiseAboutWindow:(id)sender;
+- (IBAction)raiseWindow:(NSWindow *)theWindow;
+- (IBAction)onlineHelp:(id)sender;
+- (IBAction)installCommandLineTool:(id)sender;
+
+- (BOOL)validateItem:(IBAction *) action;
+- (BOOL)validateMenuItem:(NSMenuItem *)menuItem;
+- (BOOL)validateToolbarItem:(NSToolbarItem *)toolbarItem;
+
+- (void)resizeWindowToSize:(NSSize)newSize;
+- (float)toolbarHeightForWindow:(NSWindow *)window;
+
+- (IBAction) checkOpenProfileChanged:(id)sender;
+- (IBAction) chooseFont:(id)sender;
+- (void) updateFontDisplay;
+
+ at end
+

Added: trunk/src/uimacnew09/MyController.m
===================================================================
--- trunk/src/uimacnew09/MyController.m	                        (rev 0)
+++ trunk/src/uimacnew09/MyController.m	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,1094 @@
+/* Copyright (c) 2003, see file COPYING for details. */
+
+#import "MyController.h"
+
+#define CAML_NAME_SPACE
+#include <caml/callback.h>
+#include <caml/alloc.h>
+#include <caml/mlvalues.h>
+#include <caml/memory.h>
+
+ at interface NSString (_UnisonUtil)
+- (NSString *)trim;
+ at end
+
+ at implementation MyController
+
+static MyController *me; // needed by reloadTable and displayStatus, below
+
+// BCP (11/09): Added per Onne Gorter:
+// if user closes main window, terminate app, instead of keeping an empty app around with no window
+- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)theApplication { 
+  return YES;
+}
+
+- (id)init
+{
+  if (([super init])) {
+    
+    /* Initialize locals */
+    me = self;
+    doneFirstDiff = NO;
+    
+    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
+    NSDictionary *appDefaults = [NSDictionary dictionaryWithObjectsAndKeys:
+                                 /* By default, invite user to install cltool */
+                                 @"YES",  @"CheckCltool",
+                                 @"NO", @"openProfileAtStartup",
+                                 @"",   @"profileToOpen",
+                                 @"NO", @"deleteLogOnExit",
+                                 @"",   @"detailsFont",
+                                 @"",   @"diffFont",
+                                 nil];
+    
+    [defaults registerDefaults:appDefaults];
+    fontChangeTarget = nil;
+  }
+  
+  return self;
+}
+
+- (void) applicationWillTerminate:(NSNotification *)aNotification {
+  NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
+  [defaults setObject:[NSArchiver archivedDataWithRootObject:[detailsTextView font]] forKey:@"detailsFont"];
+  [defaults setObject:[NSArchiver archivedDataWithRootObject:[diffView font]] forKey:@"diffFont"];
+  [defaults synchronize];
+}
+
+- (void)awakeFromNib
+{
+  [splitView setAutosaveName:@"splitView"];
+  
+  NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];  
+  NSFont *defaultFont = [NSFont fontWithName:@"Monaco" size:11];
+  NSData *detailsFontData = [defaults dataForKey:@"detailsFont"];
+  if (detailsFontData) {
+    NSFont *tmpFont = (NSFont*) [NSUnarchiver unarchiveObjectWithData:detailsFontData];
+    if (tmpFont)
+      [detailsTextView setFont:tmpFont];
+    else
+      [detailsTextView setFont:defaultFont];
+  } else
+    [detailsTextView setFont:defaultFont];
+  
+  NSData *diffFontData = [defaults dataForKey:@"diffFont"];
+  if (diffFontData) {
+    NSFont *tmpFont = (NSFont*) [NSUnarchiver unarchiveObjectWithData:diffFontData];
+    if (tmpFont)
+      [diffView setFont:tmpFont];
+    else
+      [diffView setFont:defaultFont];
+  } else
+    [diffView setFont:defaultFont];
+  
+  blankView = [[NSView alloc] init];
+	
+  /* Double clicking in the profile list will open the profile */
+  [[profileController tableView] setTarget:self];
+  [[profileController tableView] setDoubleAction:@selector(openButton:)];
+  
+	[tableView setAutoresizesOutlineColumn:NO];
+  
+	// use combo-cell for path
+  [[tableView tableColumnWithIdentifier:@"path"] setDataCell:[[[ImageAndTextCell alloc] init] autorelease]];
+  
+	// Custom progress cell
+	ProgressCell *progressCell = [[ProgressCell alloc] init];
+	[[tableView tableColumnWithIdentifier:@"percentTransferred"] setDataCell:progressCell];
+	
+  /* Set up the version string in the about box.  We use a custom
+   about box just because PRCS doesn't seem capable of getting the
+   version into the InfoPlist.strings file; otherwise we'd use the
+   standard about box. */
+  [versionText setStringValue:ocamlCall("S", "unisonGetVersion")];
+  
+  /* Command-line processing */
+  OCamlValue *clprofile = (id)ocamlCall("@", "unisonInit0");
+  
+  /* Add toolbar */
+  toolbar = [[[UnisonToolbar alloc] 
+              initWithIdentifier: @"unisonToolbar" :self :tableView] autorelease];
+  [mainWindow setToolbar: toolbar];
+	[toolbar takeTableModeView:tableModeSelector];
+	[self initTableMode];
+	
+  
+  /* Set up the first window the user will see */
+  if (clprofile) {
+    /* A profile name was given on the command line */
+		NSString *profileName = [clprofile getField:0 withType:'S'];
+    [self profileSelected:profileName];
+    
+    /* If invoked from terminal we need to bring the app to the front */
+    [NSApp activateIgnoringOtherApps:YES];
+    
+    /* Start the connection */
+    [self connect:profileName];
+  }
+  else {
+    /* If invoked from terminal we need to bring the app to the front */
+    [NSApp activateIgnoringOtherApps:YES];
+    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"openProfileAtStartup"]) {
+      NSString *profileToOpen = [[NSUserDefaults standardUserDefaults] 
+                                 stringForKey:@"profileToOpen"];
+      if ([[profileToOpen trim] compare:@""] != NSOrderedSame &&
+          [[profileController getProfiles] indexOfObject:profileToOpen] != NSNotFound) {
+        [self profileSelected:profileToOpen];
+        [self connect:profileToOpen];
+      } else {
+        /* Bring up the dialog to choose a profile */
+        [self chooseProfiles];
+      }
+    } else {
+      /* Bring up the dialog to choose a profile */
+      [self chooseProfiles];
+    }
+  }
+  
+  [mainWindow display];
+  [mainWindow makeKeyAndOrderFront:nil];
+  
+  /* unless user has clicked Don't ask me again, ask about cltool */
+  if ( ([[NSUserDefaults standardUserDefaults] boolForKey:@"CheckCltool"]) &&
+      (![[NSFileManager defaultManager]
+         fileExistsAtPath:@"/usr/bin/unison"]) )
+    [self raiseCltoolWindow:nil];
+}
+
+- (IBAction) checkOpenProfileChanged:(id)sender {
+  [profileBox setEnabled:[checkOpenProfile state]];
+  if ([profileBox isEnabled] && [profileBox indexOfSelectedItem] < 0) {
+    [profileBox selectItemAtIndex:0];
+    [[NSUserDefaults standardUserDefaults] setObject:[profileBox itemObjectValueAtIndex:0] forKey:@"profileToOpen"];
+  }
+}
+
+- (IBAction) chooseFont:(id)sender {
+  [[NSFontPanel sharedFontPanel] makeKeyAndOrderFront:self];
+  [[NSFontManager sharedFontManager] setDelegate:self];
+  fontChangeTarget = sender;
+}
+
+- (void) changeFont:(id)sender {
+  NSFont *newFont = [sender convertFont:[detailsTextView font]];
+  if (fontChangeTarget == chooseDetailsFont)
+    [detailsTextView setFont:newFont];
+  else if (fontChangeTarget == chooseDiffFont)
+    [diffView setFont:newFont];
+  [self updateFontDisplay];
+}
+
+- (void) updateFontDisplay {
+  NSFont *detailsFont = [detailsTextView font];
+  NSFont *diffFont = [diffView font];
+  [detailsFontLabel setStringValue:[NSString stringWithFormat:@"%@ : %d", [detailsFont displayName], (NSInteger) [detailsFont pointSize]]];
+  [diffFontLabel setStringValue:[NSString stringWithFormat:@"%@ : %d", [diffFont displayName], (NSInteger) [diffFont pointSize]]];
+}
+
+- (void)chooseProfiles
+{
+    [mainWindow setContentView:blankView];
+    [self resizeWindowToSize:[chooseProfileView frame].size];
+    [mainWindow setContentMinSize:
+        NSMakeSize(NSWidth([[mainWindow contentView] frame]),150)];
+    [mainWindow setContentMaxSize:NSMakeSize(FLT_MAX, FLT_MAX)];
+    [mainWindow setContentView:chooseProfileView];
+    [toolbar setView:@"chooseProfileView"];
+    [mainWindow setTitle:@"Unison"];
+	
+    // profiles get keyboard input
+    [mainWindow makeFirstResponder:[profileController tableView]];
+    [chooseProfileView display];
+}
+
+- (IBAction)createButton:(id)sender
+{
+    [preferencesController reset];
+    [mainWindow setContentView:blankView];
+    [self resizeWindowToSize:[preferencesView frame].size];
+    [mainWindow setContentMinSize:
+        NSMakeSize(400,NSHeight([[mainWindow contentView] frame]))];
+    [mainWindow setContentMaxSize:
+        NSMakeSize(FLT_MAX,NSHeight([[mainWindow contentView] frame]))];
+    [mainWindow setContentView:preferencesView];
+    [toolbar setView:@"preferencesView"];
+}
+
+- (IBAction)saveProfileButton:(id)sender
+{
+    if ([preferencesController validatePrefs]) {
+        // so the list contains the new profile
+        [profileController initProfiles];
+        [self chooseProfiles];
+    }
+}
+
+- (IBAction)cancelProfileButton:(id)sender
+{
+    [self chooseProfiles];
+}
+
+/* Only valid once a profile has been selected */
+- (NSString *)profile {
+    return myProfile;
+}
+
+- (void)profileSelected:(NSString *)aProfile
+{
+    [aProfile retain];
+    [myProfile release];
+    myProfile = aProfile;
+    [mainWindow setTitle: [NSString stringWithFormat:@"Unison: %@", myProfile]];
+}
+
+- (IBAction)showPreferences:(id)sender {
+  [profileBox removeAllItems];
+  [profileBox addItemsWithObjectValues:[profileController getProfiles]];
+  NSUInteger index = [[profileController getProfiles] indexOfObject:
+                      [[NSUserDefaults standardUserDefaults] 
+                       stringForKey:@"profileToOpen"]];
+  if (index == NSNotFound) {
+    [checkOpenProfile setState:NSOffState];
+    [profileBox setStringValue:@""];
+  } else
+    [profileBox selectItemAtIndex:index];
+
+  [profileBox setEnabled:[checkOpenProfile state]];
+  if ([profileBox isEnabled] && [profileBox indexOfSelectedItem] < 0)
+    [profileBox selectItemAtIndex:0];
+
+  [self updateFontDisplay];
+
+  [self raiseWindow:preferencesWindow];
+}
+
+- (IBAction)restartButton:(id)sender
+{
+    [tableView setEditable:NO];
+    [self chooseProfiles];
+}
+
+- (IBAction)rescan:(id)sender
+{
+    /* There is a delay between turning off the button and it
+       actually being disabled. Make sure we don't respond. */
+    if ([self validateItem:@selector(rescan:)]) {
+        waitingForPassword = NO;
+        [self afterOpen];
+    }
+}
+
+- (IBAction)openButton:(id)sender
+{
+    NSString *profile = [profileController selected];
+    [self profileSelected:profile];
+    [self connect:profile];
+    return;
+}
+
+- (void)updateToolbar
+{
+    [toolbar validateVisibleItems];	
+	[tableModeSelector setEnabled:((syncable && !duringSync) || afterSync)];
+
+	// Why?
+    [updatesView setNeedsDisplay:YES];
+}
+
+- (void)updateTableViewWithReset:(BOOL)shouldResetSelection
+{
+	[tableView reloadData]; 
+	if (shouldResetSelection) {
+		[tableView selectRowIndexes:[NSIndexSet indexSetWithIndex:0] byExtendingSelection:NO];
+		shouldResetSelection = NO;
+	}
+	[updatesView setNeedsDisplay:YES];	    
+}
+
+- (void)updateProgressBar:(NSNumber *)newProgress
+{
+	// NSLog(@"Updating progress bar: %i - %i", (int)[newProgress doubleValue], (int)[progressBar doubleValue]);
+	[progressBar incrementBy:([newProgress doubleValue] - [progressBar doubleValue])];
+}
+
+- (void)updateTableViewSelection
+{
+    int n = [tableView numberOfSelectedRows];
+    if (n == 1) [self displayDetails:[tableView itemAtRow:[tableView selectedRow]]];
+    else [self clearDetails];
+}
+
+- (void)outlineViewSelectionDidChange:(NSNotification *)note
+{
+	[self updateTableViewSelection];
+}
+
+- (void)connect:(NSString *)profileName
+{
+  // contact server, propagate prefs
+  NSLog(@"Connecting to %@...", profileName);
+  
+  // Switch to ConnectingView
+  [mainWindow setContentView:blankView];
+  [self resizeWindowToSize:[updatesView frame].size];
+  [mainWindow setContentMinSize:NSMakeSize(150,150)];
+  [mainWindow setContentMaxSize:NSMakeSize(FLT_MAX, FLT_MAX)];
+  [mainWindow setContentView:ConnectingView];
+  [toolbar setView:@"connectingView"];
+  
+  // Update (almost) immediately
+  [ConnectingView display];
+  [connectingAnimation startAnimation:self];
+  
+  syncable = NO;
+  afterSync = NO;    
+    
+	[self updateToolbar];
+    
+	// will spawn thread on OCaml side and callback when complete
+  (void)ocamlCall("xS", "unisonInit1", profileName);
+}
+
+CAMLprim value unisonInit1Complete(value v)
+{
+  id pool = [[NSAutoreleasePool alloc] init];
+  if (v == Val_unit) {
+    NSLog(@"Connected.");
+    [me->connectingAnimation stopAnimation:me];
+		[me->preconn release];
+		me->preconn = NULL;
+    [me performSelectorOnMainThread:@selector(afterOpen:) withObject:nil waitUntilDone:FALSE]; 
+  } else {
+    // prompting required
+		me->preconn = [[OCamlValue alloc] initWithValue:Field(v,0)]; // value of Some
+		[me performSelectorOnMainThread:@selector(unisonInit1Complete:) withObject:nil waitUntilDone:FALSE]; 
+	}
+  [pool release];
+  return Val_unit;
+}
+
+- (void)unisonInit1Complete:(id)ignore
+{
+	@try {
+		OCamlValue *prompt = ocamlCall("@@", "openConnectionPrompt", preconn);
+		if (!prompt) {
+			// turns out, no prompt needed, but must finish opening connection
+			ocamlCall("x@", "openConnectionEnd", preconn);
+			NSLog(@"Connected.");
+			waitingForPassword = NO;
+			[self afterOpen];
+			return;
+		}
+		waitingForPassword = YES;
+
+		[self raisePasswordWindow:[prompt getField:0 withType:'S']]; 
+	} @catch (NSException *ex) {
+	    NSRunAlertPanel(@"Connection Error", [ex description], @"OK", nil, nil);
+		[self chooseProfiles];
+		return;
+	}
+
+    NSLog(@"Connected.");
+}
+
+- (void)raisePasswordWindow:(NSString *)prompt
+{
+    // FIX: some prompts don't ask for password, need to look at it
+    NSLog(@"Got the prompt: '%@'",prompt);
+    if ((int)ocamlCall("iS", "unisonPasswordMsg", prompt)) {
+        [passwordPrompt setStringValue:@"Please enter your password"];
+        [NSApp beginSheet:passwordWindow
+            modalForWindow:mainWindow
+            modalDelegate:nil
+            didEndSelector:nil
+            contextInfo:nil];
+        return;
+    }
+    if ((int)ocamlCall("iS", "unisonPassphraseMsg", prompt)) {
+        [passwordPrompt setStringValue:@"Please enter your passphrase"];
+        [NSApp beginSheet:passwordWindow
+            modalForWindow:mainWindow
+            modalDelegate:nil
+            didEndSelector:nil
+            contextInfo:nil];
+        return;
+    }
+    if ((int)ocamlCall("iS", "unisonAuthenticityMsg", prompt)) {
+        int i = NSRunAlertPanel(@"New host",prompt,@"Yes",@"No",nil);
+        if (i == NSAlertDefaultReturn) {
+			ocamlCall("x at s", "openConnectionReply", preconn, "yes");
+			prompt = ocamlCall("S@", "openConnectionPrompt", preconn);
+            if (!prompt) {
+                // all done with prompts, finish opening connection
+				ocamlCall("x@", "openConnectionEnd", preconn);
+                waitingForPassword = NO;
+                [self afterOpen];
+                return;
+            }
+            else {
+				[self raisePasswordWindow:[NSString 
+                    stringWithUTF8String:String_val(Field(prompt,0))]];
+                return;
+            }
+        }
+        if (i == NSAlertAlternateReturn) {
+			ocamlCall("x@", "openConnectionCancel", preconn);
+            return;
+        }
+        else {
+            NSLog(@"Unrecognized response '%d' from NSRunAlertPanel",i);
+			ocamlCall("x@", "openConnectionCancel", preconn);
+            return;
+        }
+    }
+    NSLog(@"Unrecognized message from ssh: %@",prompt);
+	ocamlCall("x@", "openConnectionCancel", preconn);
+}
+
+// The password window will invoke this when Enter occurs, b/c we
+// are the delegate.
+- (void)controlTextDidEndEditing:(NSNotification *)notification
+{
+    NSNumber *reason = [[notification userInfo] objectForKey:@"NSTextMovement"];
+    int code = [reason intValue];
+    if (code == NSReturnTextMovement)
+        [self endPasswordWindow:self];
+}
+// Or, the Continue button will invoke this when clicked
+- (IBAction)endPasswordWindow:(id)sender
+{
+    [passwordWindow orderOut:self];
+    [NSApp endSheet:passwordWindow];
+    if ([sender isEqualTo:passwordCancelButton]) {
+		ocamlCall("x@", "openConnectionCancel", preconn);
+        [self chooseProfiles];
+        return;
+    }
+    NSString *password = [passwordText stringValue];
+	ocamlCall("x at S", "openConnectionReply", preconn, password);
+
+    OCamlValue *prompt = ocamlCall("@@", "openConnectionPrompt", preconn);
+    if (!prompt) {
+        // all done with prompts, finish opening connection
+		ocamlCall("x@", "openConnectionEnd", preconn);
+        waitingForPassword = NO;
+        [self afterOpen];
+    }
+    else {
+		[self raisePasswordWindow:[prompt getField:0 withType:'S']]; 
+    }
+}
+
+- (void)afterOpen:(id)ignore
+{
+	[self afterOpen];
+}
+
+- (void)afterOpen
+{
+    if (waitingForPassword) return;
+    // move to updates window after clearing it
+	[self updateReconItems:nil];
+	[progressBar setDoubleValue:0.0];
+	[progressBar stopAnimation:self];
+    // [self clearDetails];
+    [mainWindow setContentView:blankView];
+    [self resizeWindowToSize:[updatesView frame].size];
+    [mainWindow setContentMinSize:
+        NSMakeSize(NSWidth([[mainWindow contentView] frame]),200)];
+    [mainWindow setContentMaxSize:NSMakeSize(FLT_MAX, FLT_MAX)];
+    [mainWindow setContentView:updatesView];
+    [toolbar setView:@"updatesView"];
+
+    syncable = NO;
+    afterSync = NO;
+
+    [tableView deselectAll:self];
+	[self updateToolbar];
+	[self updateProgressBar:[NSNumber numberWithDouble:0.0]];
+    
+    // this should depend on the number of reconitems, and is now done
+    // in updateReconItems:
+    // reconItems table gets keyboard input
+    //[mainWindow makeFirstResponder:tableView];
+    [tableView scrollRowToVisible:0];
+
+	[preconn release];
+    preconn = nil; // so old preconn can be garbage collected
+	// This will run in another thread spawned in OCaml and will return immediately
+	// We'll get a call back to unisonInit2Complete() when it is complete
+	ocamlCall("x", "unisonInit2");
+}
+
+
+- (void)afterUpdate:(id)retainedReconItems
+{
+	// NSLog(@"In afterUpdate:...");
+    [self updateReconItems:retainedReconItems];
+	[retainedReconItems release];
+
+    [notificationController updateFinishedFor:[self profile]];
+
+    // label the left and right columns with the roots
+	NSString *leftHost = [(NSString *)ocamlCall("S", "unisonFirstRootString") trim];
+	NSString *rightHost = [(NSString *)ocamlCall("S", "unisonSecondRootString") trim];
+	/*
+    [[[tableView tableColumnWithIdentifier:@"left"] headerCell] setObjectValue:lefthost];
+    [[[tableView tableColumnWithIdentifier:@"right"] headerCell] setObjectValue:rightHost];
+    */
+    [mainWindow setTitle: [NSString stringWithFormat:@"Unison: %@ (%@ <-> %@)", 
+			[self profile], leftHost, rightHost]];
+	
+	// initial sort
+	[tableView setSortDescriptors:[NSArray arrayWithObjects: 
+		[[tableView tableColumnWithIdentifier:@"fileSizeString"] sortDescriptorPrototype],
+		[[tableView tableColumnWithIdentifier:@"path"] sortDescriptorPrototype],
+		nil]];
+
+	[self updateTableViewWithReset:([reconItems count] > 0)];
+	[self updateToolbar];
+}
+
+CAMLprim value unisonInit2Complete(value v)
+{
+  id pool = [[NSAutoreleasePool alloc] init];
+  [me performSelectorOnMainThread:@selector(afterUpdate:) withObject:[[OCamlValue alloc] initWithValue:v] waitUntilDone:FALSE]; 
+  [pool release];
+  return Val_unit;
+}
+
+- (IBAction)syncButton:(id)sender
+{
+    [tableView setEditable:NO];
+    syncable = NO;
+    duringSync = YES;
+ 
+	[self updateToolbar];
+    
+	// This will run in another thread spawned in OCaml and will return immediately
+	// We'll get a call back to syncComplete() when it is complete
+	ocamlCall("x", "unisonSynchronize");
+}
+
+- (void)afterSync:(id)ignore
+{
+    [notificationController syncFinishedFor:[self profile]];
+    duringSync = NO;
+    afterSync = YES;
+    [self updateToolbar];
+    
+    int i;
+    for (i = 0; i < [reconItems count]; i++) {
+        [[reconItems objectAtIndex:i] resetProgress];
+    }
+
+	[self updateTableViewSelection];
+		
+	[self updateTableViewWithReset:FALSE];
+}
+
+CAMLprim value syncComplete()
+{
+  id pool = [[NSAutoreleasePool alloc] init];
+  [me performSelectorOnMainThread:@selector(afterSync:) withObject:nil waitUntilDone:FALSE];
+  if ([[NSUserDefaults standardUserDefaults] boolForKey:@"deleteLogOnExit"])
+    [[NSFileManager defaultManager] removeItemAtPath:[@"~/unison.log" stringByExpandingTildeInPath] error:nil];
+  [pool release];
+  return Val_unit;
+}
+
+// A function called from ocaml
+- (void)reloadTable:(NSNumber *)i
+{
+	// NSLog(@"*** ReloadTable: %i", [i intValue]);
+
+    [[reconItems objectAtIndex:[i intValue]] resetProgress];
+	[self updateTableViewWithReset:FALSE];
+}
+
+CAMLprim value reloadTable(value row)
+{
+  id pool = [[NSAutoreleasePool alloc] init];
+	// NSLog(@"OCaml says... ReloadTable: %i", Int_val(row));
+	NSNumber *num = [[NSNumber alloc] initWithInt:Int_val(row)];
+  [me performSelectorOnMainThread:@selector(reloadTable:) withObject:num waitUntilDone:FALSE]; 
+	[num release];
+  [pool release];
+  return Val_unit;
+}
+
+- (int)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item {
+	if (item == nil) item = rootItem;
+	return [[item children] count];
+}
+
+- (BOOL)outlineView:(NSOutlineView *)outlineView isItemExpandable:(id)item {
+    return [item isKindOfClass:[ParentReconItem class]];
+}
+
+- (id)outlineView:(NSOutlineView *)outlineView child:(int)index ofItem:(id)item {
+	if (item == nil) item = rootItem;
+	return [[item children] objectAtIndex:index];
+}
+
+- (id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)tableColumn byItem:(id)item {
+    NSString *identifier = [tableColumn identifier];
+	if (item == nil) item = rootItem;
+
+	if ([identifier isEqualToString:@"percentTransferred"] && (!duringSync && !afterSync)) return nil;
+
+	return [item valueForKey:identifier];
+}
+
+static NSDictionary *_SmallGreyAttributes = nil;
+
+- (void)outlineView:(NSOutlineView *)outlineView willDisplayCell:(NSCell *)cell forTableColumn:(NSTableColumn *)tableColumn item:(id)item {    
+	NSString *identifier = [tableColumn identifier];
+    if ([identifier isEqualToString:@"path"]) {
+		// The file icon
+		[(ImageAndTextCell*)cell setImage:[item fileIcon]];
+		
+		// For parents, format the file count into the text
+		int fileCount = [item fileCount];
+		if (fileCount > 1) {
+			NSString *countString = [NSString stringWithFormat:@"  (%i files)", fileCount];
+			NSString *fullString = [(NSString *)[cell objectValue] stringByAppendingString:countString];
+			NSMutableAttributedString *as = [[NSMutableAttributedString alloc] initWithString:fullString];
+
+			if (!_SmallGreyAttributes) {		
+				NSColor *txtColor = [NSColor grayColor];
+				NSFont *txtFont = [NSFont systemFontOfSize:9.0];
+				_SmallGreyAttributes = [[NSDictionary dictionaryWithObjectsAndKeys:txtFont,
+					NSFontAttributeName, txtColor, NSForegroundColorAttributeName,  nil] retain];
+			}
+			[as setAttributes:_SmallGreyAttributes range:NSMakeRange([fullString length] - [countString length], [countString length])];
+			[cell setAttributedStringValue:as];
+			[as release];
+		}
+    } else if ([identifier isEqualToString:@"percentTransferred"]) {
+		[(ProgressCell*)cell setIcon:[item direction]];		
+		[(ProgressCell*)cell setStatusString:[item progressString]];
+		[(ProgressCell*)cell setIsActive:[item isKindOfClass:[LeafReconItem class]]];		
+    }
+}
+
+- (void)outlineView:(NSOutlineView *)outlineView 
+      sortDescriptorsDidChange:(NSArray *)oldDescriptors {
+	NSArray *originalSelection = [outlineView selectedObjects];
+	
+	// do we want to catch case of object changes to allow resort in same direction for progress / direction?
+	// Could check if our objects change and if the first item at the head of new and old were the same
+	[rootItem sortUsingDescriptors:[outlineView sortDescriptors]];
+	[outlineView reloadData];
+	[outlineView setSelectedObjects:originalSelection];
+}
+
+// Delegate methods
+
+- (BOOL)outlineView:(NSOutlineView *)outlineView shouldEditTableColumn:(NSTableColumn *)tableColumn item:(id)item {
+    return NO;
+}
+
+- (NSMutableArray *)reconItems // used in ReconTableView only
+{
+    return reconItems;
+}
+
+- (int)tableMode
+{
+	return [tableModeSelector selectedSegment];
+}
+
+- (IBAction)tableModeChanged:(id)sender
+{
+	[[NSUserDefaults standardUserDefaults] setInteger:[self tableMode]+1 forKey:@"TableLayout"];
+	[self updateForChangedItems];
+}
+
+- (void)initTableMode
+{
+	int mode = [[NSUserDefaults standardUserDefaults] integerForKey:@"TableLayout"] - 1;
+	if (mode == -1) mode = 1;
+	[tableModeSelector setSelectedSegment:mode];
+}
+
+- (void)updateReconItems:(OCamlValue *)caml_reconItems
+{
+    [reconItems release];
+    reconItems = [[NSMutableArray alloc] init];
+	int i, n =[caml_reconItems count];
+    for (i=0; i<n; i++) {
+		LeafReconItem *item = [[LeafReconItem alloc] initWithRiAndIndex:(id)[caml_reconItems getField:i withType:'@'] index:i];
+        [reconItems addObject:item];
+		[item release];
+    }
+	[self updateForChangedItems];
+}
+
+- (void)expandConflictedParent:(ParentReconItem *)parent
+{
+	if ([parent hasConflictedChildren]) {
+		// NSLog(@"Expanding conflictedParent: %@", [parent fullPath]);
+		[tableView expandItem:parent expandChildren:NO];
+		NSArray *children = [parent children];
+		int i = 0, count = [children count];
+		for (;i < count; i++) {
+			id child = [children objectAtIndex:i];
+			if ([child isKindOfClass:[ParentReconItem class]]) [self expandConflictedParent:child];
+		}
+	}
+}
+
+- (void)updateForChangedItems
+{
+	int tableMode = [self tableMode];
+	
+	[rootItem release];
+	ParentReconItem *root = rootItem = [[ParentReconItem alloc] init];
+	
+	if (tableMode != 0 && [reconItems count]) {
+		// Special roll-up root item for outline displays
+		root = [[ParentReconItem alloc] init];
+		[rootItem addChild:root nested:NO];
+		[root setPath:@"All Changes..."];
+		[root setFullPath:@""];
+		[root release];
+	}
+	
+    int j = 0, n =[reconItems count];
+    for (; j<n; j++) {
+		[root addChild:[reconItems objectAtIndex:j] nested:(tableMode != 0)];
+    }
+	
+	if (tableMode == 1) [root collapseParentsWithSingleChildren:YES];
+
+	[tableView reloadData];
+	
+	if (NO) {
+		// Pre-expand entire tree
+		int i = [[rootItem children] count];
+		while (i--) {
+			[tableView expandItem:[[rootItem children] objectAtIndex:i] expandChildren:YES];
+		}
+	} else if (tableMode != 0) {
+		// Always open root node
+		[tableView expandItem:rootItem expandChildren:NO];
+
+		// then smart expand to reveal conflicts / changes in direction
+		[self expandConflictedParent:root];
+		
+		// then open more levels if we can do so without causing scrolling
+		[tableView expandChildrenIfSpace];
+	}
+	
+    // Make sure details get updated (or cleared)
+	[self updateTableViewSelection];
+
+    // Only enable sync if there are reconitems
+    if ([reconItems count]>0) {
+        [tableView setEditable:YES];
+
+        // reconItems table gets keyboard input
+        [mainWindow makeFirstResponder:tableView];
+
+        syncable = YES;
+    }
+    else {
+        [tableView setEditable:NO];
+        afterSync = YES; // rescan should be enabled
+	
+        // reconItems table no longer gets keyboard input
+        [mainWindow makeFirstResponder:nil];
+    }
+	[self updateToolbar];
+}
+
+- (id)updateForIgnore:(id)item
+{
+    int j = (int)ocamlCall("ii", "unisonUpdateForIgnore", [reconItems indexOfObjectIdenticalTo:item]);
+	NSLog(@"Updating for ignore...");
+    [self updateReconItems:(OCamlValue *)ocamlCall("@", "unisonState")];
+    return [reconItems objectAtIndex:j];
+}
+
+// A function called from ocaml
+CAMLprim value displayStatus(value s)
+{
+  id pool = [[NSAutoreleasePool alloc] init];
+	NSString *str = [[NSString alloc] initWithUTF8String:String_val(s)];
+    // NSLog(@"displayStatus: %@", str);
+    [me performSelectorOnMainThread:@selector(statusTextSet:) withObject:str waitUntilDone:FALSE];
+	[str release];
+  [pool release];
+  return Val_unit;
+}
+
+- (void)statusTextSet:(NSString *)s {
+    /* filter out strings with # reconitems, and empty strings */
+    if (!NSEqualRanges([s rangeOfString:@"reconitems"], 
+         NSMakeRange(NSNotFound,0))) return;
+    [statusText setStringValue:s];
+}
+
+// Called from ocaml to dislpay progress bar
+CAMLprim value displayGlobalProgress(value p)
+{
+  id pool = [[NSAutoreleasePool alloc] init];
+	NSNumber *num = [[NSNumber alloc] initWithDouble:Double_val(p)];
+  [me performSelectorOnMainThread:@selector(updateProgressBar:) 
+		withObject:num waitUntilDone:FALSE]; 
+	[num release];
+  [pool release];
+  return Val_unit;
+}
+
+// Called from ocaml to display diff
+CAMLprim value displayDiff(value s, value s2)
+{
+  id pool = [[NSAutoreleasePool alloc] init];
+  [me performSelectorOnMainThread:@selector(diffViewTextSet:) 
+						withObject:[NSArray arrayWithObjects:[NSString stringWithUTF8String:String_val(s)],
+											[NSString stringWithUTF8String:String_val(s2)], nil]
+						waitUntilDone:FALSE];
+  [pool release];
+  return Val_unit;
+}
+
+// Called from ocaml to display diff error messages
+CAMLprim value displayDiffErr(value s)
+{
+  id pool = [[NSAutoreleasePool alloc] init];
+  NSString * str = [NSString stringWithUTF8String:String_val(s)];
+  str = [[str componentsSeparatedByString:@"\n"] componentsJoinedByString:@" "];
+	[me->statusText performSelectorOnMainThread:@selector(setStringValue:) 
+				withObject:str waitUntilDone:FALSE];
+  [pool release];
+  return Val_unit;
+}
+
+- (void)diffViewTextSet:(NSArray *)args
+{
+	[self diffViewTextSet:[args objectAtIndex:0] bodyText:[args objectAtIndex:1]];
+}
+
+- (void)diffViewTextSet:(NSString *)title bodyText:(NSString *)body {
+   if ([body length]==0) return;
+   [diffWindow setTitle:title];
+   //[diffView setFont:diffFont];
+   [diffView setString:body];
+   if (!doneFirstDiff) {
+       /* On first open, position the diff window to the right of
+       the main window, but without going off the mainwindow's screen */
+       float screenOriginX = [[mainWindow screen] visibleFrame].origin.x;
+       float screenWidth = [[mainWindow screen] visibleFrame].size.width;
+       float mainOriginX = [mainWindow frame].origin.x;
+       float mainOriginY = [mainWindow frame].origin.y;
+       float mainWidth = [mainWindow frame].size.width;
+       float mainHeight = [mainWindow frame].size.height;       
+       float diffWidth = [diffWindow frame].size.width;
+
+       float diffX = mainOriginX+mainWidth;
+       float maxX = screenOriginX+screenWidth-diffWidth;
+       if (diffX > maxX) diffX = maxX;
+       float diffY = mainOriginY + mainHeight;
+       
+       NSPoint diffOrigin = NSMakePoint(diffX,diffY);
+       [diffWindow cascadeTopLeftFromPoint:diffOrigin];
+       
+       doneFirstDiff = YES;
+   }
+   [diffWindow orderFront:nil];
+}
+
+- (void)displayDetails:(ReconItem *)item
+{
+	//[detailsTextView setFont:diffFont];
+	NSString *text = [item details];
+	if (!text) text = @"";
+	[detailsTextView setStringValue:text];
+}
+
+- (void)clearDetails
+{
+    [detailsTextView setStringValue:@""];
+}
+
+- (IBAction)raiseCltoolWindow:(id)sender
+{
+  [cltoolPref setState:[[NSUserDefaults standardUserDefaults] boolForKey:@"CheckCltool"] ? NSOffState : NSOnState];
+  [self raiseWindow: cltoolWindow];
+}
+
+- (IBAction)cltoolYesButton:(id)sender;
+{
+  [[NSUserDefaults standardUserDefaults] setBool:([cltoolPref state] != NSOnState) forKey:@"CheckCltool"];
+  [self installCommandLineTool:self];
+  [cltoolWindow close];
+}
+
+- (IBAction)cltoolNoButton:(id)sender;
+{
+  [[NSUserDefaults standardUserDefaults] setBool:([cltoolPref state] != NSOnState) forKey:@"CheckCltool"];
+  [cltoolWindow close];
+}
+
+- (IBAction)raiseAboutWindow:(id)sender
+{
+    [self raiseWindow: aboutWindow];
+}
+
+- (void)raiseWindow:(NSWindow *)theWindow
+{
+    NSRect screenFrame = [[mainWindow screen] visibleFrame];
+    NSRect mainWindowFrame = [mainWindow frame];
+    NSRect theWindowFrame = [theWindow frame];
+    
+    float winX = mainWindowFrame.origin.x + 
+        (mainWindowFrame.size.width - theWindowFrame.size.width)/2;
+    float winY = mainWindowFrame.origin.y + 
+        (mainWindowFrame.size.height + theWindowFrame.size.height)/2;
+
+    if (winX<screenFrame.origin.x) winX=screenFrame.origin.x;
+    float maxX = screenFrame.origin.x+screenFrame.size.width-
+        theWindowFrame.size.width;
+    if (winX>maxX) winX=maxX;
+    float minY = screenFrame.origin.y+theWindowFrame.size.height;
+    if (winY<minY) winY=minY;
+    float maxY = screenFrame.origin.y+screenFrame.size.height;
+    if (winY>maxY) winY=maxY;
+
+    [theWindow cascadeTopLeftFromPoint:
+        NSMakePoint(winX,winY)];
+    
+    [theWindow makeKeyAndOrderFront:nil];
+}
+
+- (IBAction)onlineHelp:(id)sender
+{
+    [[NSWorkspace sharedWorkspace]
+        openURL:[NSURL URLWithString:@"http://www.cis.upenn.edu/~bcpierce/unison/docs.html"]];
+}
+
+/* from http://developer.apple.com/documentation/Security/Conceptual/authorization_concepts/index.html */
+#include <Security/Authorization.h>
+#include <Security/AuthorizationTags.h>
+- (IBAction)installCommandLineTool:(id)sender
+{
+  /* Install the command-line tool in /usr/bin/unison.
+     Requires root privilege, so we ask for it and 
+     pass the task off to /bin/sh. */
+
+  OSStatus myStatus;
+
+  AuthorizationFlags myFlags = kAuthorizationFlagDefaults;
+  AuthorizationRef myAuthorizationRef;
+  myStatus = AuthorizationCreate(NULL, kAuthorizationEmptyEnvironment,
+				 myFlags, &myAuthorizationRef);
+  if (myStatus != errAuthorizationSuccess) return;
+
+  {
+    AuthorizationItem myItems = {kAuthorizationRightExecute, 0,
+				 NULL, 0};
+    AuthorizationRights myRights = {1, &myItems};
+    myFlags = kAuthorizationFlagDefaults |
+      kAuthorizationFlagInteractionAllowed |
+      kAuthorizationFlagPreAuthorize |
+      kAuthorizationFlagExtendRights;
+    myStatus =
+      AuthorizationCopyRights(myAuthorizationRef,&myRights,NULL,myFlags,NULL);
+  }
+  if (myStatus == errAuthorizationSuccess) {
+    NSBundle *bundle = [NSBundle mainBundle];
+    NSString *bundle_path = [bundle bundlePath];
+    NSString *exec_path =
+      [bundle_path stringByAppendingString:@"/Contents/MacOS/cltool"];
+    // Not sure why but this doesn't work:
+    // [bundle pathForResource:@"cltool" ofType:nil];
+
+    if (exec_path == nil) return;
+    char *args[] = { "-f", (char *)[exec_path UTF8String], 
+		     "/usr/bin/unison", NULL };
+
+    myFlags = kAuthorizationFlagDefaults;
+    myStatus = AuthorizationExecuteWithPrivileges
+      (myAuthorizationRef, "/bin/cp", myFlags, args,
+       NULL);
+  }
+  AuthorizationFree (myAuthorizationRef, kAuthorizationFlagDefaults);
+
+  /*
+  if (myStatus == errAuthorizationCanceled)
+    NSLog(@"The attempt was canceled\n");
+  else if (myStatus) 
+      NSLog(@"There was an authorization error: %ld\n", myStatus);
+  */
+}
+
+- (BOOL)validateItem:(IBAction *) action
+{
+    if (action == @selector(syncButton:)) return syncable;
+    // FIXME Restarting during sync is disabled because it causes UI corruption
+    else if (action == @selector(restartButton:)) return !duringSync;
+    else if (action == @selector(rescan:)) return ((syncable && !duringSync) || afterSync);
+    else return YES;
+}
+
+- (BOOL)validateMenuItem:(NSMenuItem *)menuItem
+{
+    return [self validateItem:[menuItem action]];
+}
+
+- (BOOL)validateToolbarItem:(NSToolbarItem *)toolbarItem
+{
+    return [self validateItem:[toolbarItem action]];
+}
+
+- (void)resizeWindowToSize:(NSSize)newSize
+{
+    NSRect aFrame;
+
+    float newHeight = newSize.height+[self toolbarHeightForWindow:mainWindow];
+    float newWidth = newSize.width;
+
+    aFrame = [NSWindow contentRectForFrameRect:[mainWindow frame]
+                       styleMask:[mainWindow styleMask]];
+
+    aFrame.origin.y += aFrame.size.height;
+    aFrame.origin.y -= newHeight;
+    aFrame.size.height = newHeight;
+    aFrame.size.width = newWidth;
+
+    aFrame = [NSWindow frameRectForContentRect:aFrame
+                       styleMask:[mainWindow styleMask]];
+
+    [mainWindow setFrame:aFrame display:YES animate:YES];
+}
+
+- (float)toolbarHeightForWindow:(NSWindow *)window
+{
+    NSToolbar *aToolbar;
+    float toolbarHeight = 0.0;
+    NSRect windowFrame;
+
+    aToolbar = [window toolbar];
+    if(aToolbar && [aToolbar isVisible])
+    {
+        windowFrame = [NSWindow contentRectForFrameRect:[window frame]
+            styleMask:[window styleMask]];
+        toolbarHeight = NSHeight(windowFrame)
+            - NSHeight([[window contentView] frame]);
+    }
+    return toolbarHeight;
+}
+
+ at end
+
+ at implementation NSString (_UnisonUtil)
+- (NSString *)trim
+{
+	NSCharacterSet *ws = [NSCharacterSet whitespaceCharacterSet];
+	int len = [self length], i = len;
+	while (i && [ws characterIsMember:[self characterAtIndex:i-1]]) i--;
+	return (i == len) ? self : [self substringToIndex:i];
+}
+ at end

Added: trunk/src/uimacnew09/NotificationController.h
===================================================================
--- trunk/src/uimacnew09/NotificationController.h	                        (rev 0)
+++ trunk/src/uimacnew09/NotificationController.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,23 @@
+//
+//  NotificationController.h
+//  uimac
+//
+//  Created by Alan Schmitt on 02/02/06.
+//  Copyright 2006, see file COPYING for details. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+#import <Growl/Growl.h>
+
+ at interface NotificationController : NSObject <GrowlApplicationBridgeDelegate>
+{
+}
+
+- (void)updateFinishedFor: (NSString *)profile;
+- (void)syncFinishedFor: (NSString *)profile;
+
+/* Implement the GrowlApplicationBridgeDelegate protocol */
+- (NSDictionary *)registrationDictionaryForGrowl;
+- (NSString *)applicationNameForGrowl;
+
+ at end

Added: trunk/src/uimacnew09/NotificationController.m
===================================================================
--- trunk/src/uimacnew09/NotificationController.m	                        (rev 0)
+++ trunk/src/uimacnew09/NotificationController.m	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,65 @@
+//
+//  NotificationController.m
+//  uimac
+//
+//  Created by Alan Schmitt on 02/02/06.
+//  Copyright 2006, see file COPYING for details. All rights reserved.
+//
+
+#import "NotificationController.h"
+
+#define NOTIFY_UPDATE   @"Scan finished"
+#define NOTIFY_SYNC     @"Synchronization finished"
+
+/* Show a simple notification */
+static void simpleNotify(NSString *name, NSString *descFmt, NSString *profile);
+
+ at implementation NotificationController
+
+- (void)awakeFromNib
+{
+    [GrowlApplicationBridge setGrowlDelegate:self];
+}
+
+- (void)updateFinishedFor: (NSString *)profile
+{
+    simpleNotify(NOTIFY_UPDATE,
+                 @"Profile '%@' is finished scanning for updates",
+                 profile);
+}
+
+- (void)syncFinishedFor: (NSString *)profile {
+    simpleNotify(NOTIFY_SYNC,
+                 @"Profile '%@' is finished synchronizing",
+                 profile);
+}
+
+- (NSDictionary *)registrationDictionaryForGrowl
+{
+    NSArray* notifications = [NSArray arrayWithObjects:
+        NOTIFY_UPDATE,
+        NOTIFY_SYNC,
+        nil];
+    return [NSDictionary dictionaryWithObjectsAndKeys:
+        notifications,      GROWL_NOTIFICATIONS_ALL,
+        notifications,      GROWL_NOTIFICATIONS_DEFAULT,
+        nil];
+}
+
+- (NSString *)applicationNameForGrowl
+{
+    return @"Unison";
+}
+
+ at end
+
+static void simpleNotify(NSString *name, NSString *descFmt, NSString *profile)
+{
+    [GrowlApplicationBridge notifyWithTitle:name
+                                description:[NSString stringWithFormat:descFmt, profile]
+                           notificationName:name
+                                   iconData:nil
+                                   priority:0
+                                   isSticky:false
+                               clickContext:nil];
+}
\ No newline at end of file

Added: trunk/src/uimacnew09/PreferencesController.h
===================================================================
--- trunk/src/uimacnew09/PreferencesController.h	                        (rev 0)
+++ trunk/src/uimacnew09/PreferencesController.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,20 @@
+/* PreferencesController */
+
+#import <Cocoa/Cocoa.h>
+
+ at interface PreferencesController : NSObject
+{
+    IBOutlet NSTextField *firstRootText;
+    IBOutlet NSButtonCell *localButtonCell;
+    IBOutlet NSTextField *profileNameText;
+    IBOutlet NSButtonCell *remoteButtonCell;
+    IBOutlet NSTextField *secondRootHost;
+    IBOutlet NSTextField *secondRootText;
+    IBOutlet NSTextField *secondRootUser;
+}
+- (IBAction)anyEnter:(id)sender;
+- (IBAction)localClick:(id)sender;
+- (IBAction)remoteClick:(id)sender;
+- (BOOL)validatePrefs;
+- (void)reset;
+ at end

Added: trunk/src/uimacnew09/PreferencesController.m
===================================================================
--- trunk/src/uimacnew09/PreferencesController.m	                        (rev 0)
+++ trunk/src/uimacnew09/PreferencesController.m	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,89 @@
+#import "PreferencesController.h"
+#import "Bridge.h"
+
+ at implementation PreferencesController
+
+- (void)reset
+{
+    [profileNameText setStringValue:@""];
+    [firstRootText setStringValue:@""];
+    [secondRootUser setStringValue:@""];
+    [secondRootHost setStringValue:@""];
+    [secondRootText setStringValue:@""];
+    [remoteButtonCell setState:NSOnState];
+    [localButtonCell setState:NSOffState];
+    [secondRootUser setSelectable:YES];
+    [secondRootUser setEditable:YES];
+    [secondRootHost setSelectable:YES];
+    [secondRootHost setEditable:YES];
+}
+
+- (BOOL)validatePrefs
+{
+    NSString *profileName = [profileNameText stringValue];
+    if (profileName == nil | [profileName isEqualTo:@""]) {
+        // FIX: should check for already existing names too
+        NSRunAlertPanel(@"Error",@"You must enter a profile name",@"OK",nil,nil);
+        return NO;
+    }
+    NSString *firstRoot = [firstRootText stringValue];
+    if (firstRoot == nil | [firstRoot isEqualTo:@""]) {
+        NSRunAlertPanel(@"Error",@"You must enter a first root",@"OK",nil,nil);
+        return NO;
+    }
+    NSString *secondRoot;
+    if ([remoteButtonCell state] == NSOnState) {
+        NSString *user = [secondRootUser stringValue];
+        if (user == nil | [user isEqualTo:@""]) {
+            NSRunAlertPanel(@"Error",@"You must enter a user",@"OK",nil,nil);
+            return NO;
+        }
+        NSString *host = [secondRootHost stringValue];
+        if (host == nil | [host isEqualTo:@""]) {
+            NSRunAlertPanel(@"Error",@"You must enter a host",@"OK",nil,nil);
+            return NO;
+        }
+        NSString *file = [secondRootText stringValue];
+        // OK for empty file, e.g., ssh://foo@bar/
+        secondRoot = [NSString stringWithFormat:@"ssh://%@@%@/%@",user,host,file];
+    }
+    else {
+        secondRoot = [secondRootText stringValue];
+        if (secondRoot == nil | [secondRoot isEqualTo:@""]) {
+            NSRunAlertPanel(@"Error",@"You must enter a second root file",@"OK",nil,nil);
+            return NO;
+        }
+    }
+	ocamlCall("xSSS", "unisonProfileInit", profileName, firstRoot, secondRoot);
+    return YES;
+}
+
+/* The target when enter is pressed in any of the text fields */
+// FIX: this is broken, it takes tab, mouse clicks, etc.
+- (IBAction)anyEnter:(id)sender
+{
+    NSLog(@"enter");
+    [self validatePrefs];
+}
+
+- (IBAction)localClick:(id)sender
+{
+    NSLog(@"local");
+    [secondRootUser setStringValue:@""];
+    [secondRootHost setStringValue:@""];
+    [secondRootUser setSelectable:NO];
+    [secondRootUser setEditable:NO];
+    [secondRootHost setSelectable:NO];
+    [secondRootHost setEditable:NO];
+}
+
+- (IBAction)remoteClick:(id)sender
+{
+    NSLog(@"remote");
+    [secondRootUser setSelectable:YES];
+    [secondRootUser setEditable:YES];
+    [secondRootHost setSelectable:YES];
+    [secondRootHost setEditable:YES];
+}
+
+ at end

Added: trunk/src/uimacnew09/ProfileController.h
===================================================================
--- trunk/src/uimacnew09/ProfileController.h	                        (rev 0)
+++ trunk/src/uimacnew09/ProfileController.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,20 @@
+/* ProfileController */
+/* Copyright (c) 2003, see file COPYING for details. */
+
+#import <Cocoa/Cocoa.h>
+
+ at interface ProfileController : NSObject
+{
+    IBOutlet NSTableView *tableView;
+    NSMutableArray *profiles;
+    int defaultIndex; // -1 if no default, else the index in profiles of @"default"
+}
+- (void)initProfiles;
+- (int)numberOfRowsInTableView:(NSTableView *)aTableView;
+- (id)tableView:(NSTableView *)aTableView
+    objectValueForTableColumn:(NSTableColumn *)aTableColumn
+    row:(int)rowIndex;
+- (NSString *)selected;
+- (NSTableView *)tableView; // allows MyController to set up firstResponder
+- (NSMutableArray*) getProfiles;
+ at end

Added: trunk/src/uimacnew09/ProfileController.m
===================================================================
--- trunk/src/uimacnew09/ProfileController.m	                        (rev 0)
+++ trunk/src/uimacnew09/ProfileController.m	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,80 @@
+/* Copyright (c) 2003, see file COPYING for details. */
+
+#import "ProfileController.h"
+#import "Bridge.h"
+
+ at implementation ProfileController
+
+NSString *unisonDirectory()
+{
+    return (NSString *)ocamlCall("S", "unisonDirectory");
+}
+
+- (void)initProfiles
+{
+    NSString *directory = unisonDirectory();
+    NSArray *files = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:directory error:nil];
+    unsigned int count = [files count];
+    unsigned int i,j;
+    
+    [profiles release];
+    profiles = [[NSMutableArray alloc] init];
+    defaultIndex = -1;
+    
+    for (i = j = 0; i < count; i++) {
+        NSString *file = [files objectAtIndex:i];
+        if ([[file pathExtension] isEqualTo:@"prf"]) {
+            NSString *withoutExtension = [file stringByDeletingPathExtension];
+            [profiles insertObject:withoutExtension atIndex:j];
+            if ([@"default" isEqualTo:withoutExtension]) defaultIndex = j;
+            j++;
+        }
+    }
+    if (j > 0)
+        [tableView selectRowIndexes:[NSIndexSet indexSetWithIndex:0] byExtendingSelection:NO];
+}
+
+- (void)awakeFromNib
+{
+    // start with the default profile selected
+    [self initProfiles];
+    if (defaultIndex >= 0)
+        [tableView selectRowIndexes:[NSIndexSet indexSetWithIndex:defaultIndex] byExtendingSelection:NO];
+    // on awake the scroll bar is inactive, but after adding profiles we might need it;
+    // reloadData makes it happen.  Q: is setNeedsDisplay more efficient?
+    [tableView reloadData];
+}
+
+- (int)numberOfRowsInTableView:(NSTableView *)aTableView
+{
+    if (!profiles) return 0;
+    else return [profiles count];
+}
+
+- (id)tableView:(NSTableView *)aTableView
+    objectValueForTableColumn:(NSTableColumn *)aTableColumn
+    row:(int)rowIndex
+{
+    if (rowIndex >= 0 && rowIndex < [profiles count])
+        return [profiles objectAtIndex:rowIndex];
+    else return @"[internal error!]";
+}
+
+- (NSString *)selected
+{
+    int rowIndex = [tableView selectedRow];
+    if (rowIndex >= 0 && rowIndex < [profiles count])
+        return [profiles objectAtIndex:rowIndex];
+    else return @"[internal error!]";
+}
+
+- (NSTableView *)tableView
+{
+    return tableView;
+}
+
+- (NSMutableArray*)getProfiles {
+  return profiles;
+}
+
+ at end

Added: trunk/src/uimacnew09/ProfileTableView.h
===================================================================
--- trunk/src/uimacnew09/ProfileTableView.h	                        (rev 0)
+++ trunk/src/uimacnew09/ProfileTableView.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,11 @@
+/* ProfileTableView */
+
+#import <Cocoa/Cocoa.h>
+
+ at class MyController;
+
+ at interface ProfileTableView : NSTableView
+{
+    IBOutlet MyController *myController;
+}
+ at end

Added: trunk/src/uimacnew09/ProfileTableView.m
===================================================================
--- trunk/src/uimacnew09/ProfileTableView.m	                        (rev 0)
+++ trunk/src/uimacnew09/ProfileTableView.m	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,36 @@
+#import "MyController.h"
+#import "ProfileTableView.h"
+
+ at implementation ProfileTableView
+
+- (void)keyDown:(NSEvent *)event
+{
+    /* some keys return zero-length strings */
+    if ([[event characters] length] == 0) {
+        [super keyDown:event];
+        return;
+    }
+
+    unichar c = [[event characters] characterAtIndex:0];
+    switch (c) {
+    case '\r':
+        [myController openButton:self];
+        break;
+    default:
+        [super keyDown:event];
+        break;
+    }
+}
+
+/* Override default highlight colour to match ReconTableView */
+- (id)_highlightColorForCell:(NSCell *)cell
+{   
+    if(([[self window] firstResponder] == self) &&
+        [[self window] isMainWindow] &&
+        [[self window] isKeyWindow])
+
+        return [NSColor colorWithCalibratedRed:0.7 green:0.75 blue:0.8 alpha:1.0];
+    else return [NSColor colorWithCalibratedRed:0.8 green:0.8 blue:0.8 alpha:1.0];
+}
+
+ at end

Added: trunk/src/uimacnew09/ProgressCell.h
===================================================================
--- trunk/src/uimacnew09/ProgressCell.h	                        (rev 0)
+++ trunk/src/uimacnew09/ProgressCell.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,15 @@
+#import <Cocoa/Cocoa.h>
+
+ at interface ProgressCell : NSCell
+{
+	float _minVal, _maxVal;  // defaults to 0.0, 100.0
+	BOOL _isActive;
+	BOOL _useFullView;       // default: NO
+	BOOL _isError;           // default: NO
+	NSImage *_icon;
+	NSString *_statusString;
+}
+- (void)setStatusString:(NSString *)string;
+- (void)setIcon:(NSImage *)image;
+- (void)setIsActive:(BOOL)yn;
+ at end

Added: trunk/src/uimacnew09/ProgressCell.m
===================================================================
--- trunk/src/uimacnew09/ProgressCell.m	                        (rev 0)
+++ trunk/src/uimacnew09/ProgressCell.m	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,199 @@
+/******************************************************************************
+ * Copyright 2008 (see file COPYING for more information)
+ *
+ * Loosely based on TorrentCell from Transmission (.png files are from 
+ * the original).  
+ *****************************************************************************/
+
+#import "ProgressCell.h"
+
+#define BAR_HEIGHT 12.0
+
+static NSImage *_ProgressWhite, *_ProgressBlue, *_ProgressGray, *_ProgressGreen,
+		*_ProgressAdvanced, *_ProgressEndWhite, *_ProgressEndBlue,
+		*_ProgressEndGray, *_ProgressEndGreen, *_ProgressLightGreen,
+		*_ProgressEndAdvanced, * _ErrorImage;
+static NSSize ZeroSize;
+
+ at implementation ProgressCell
+
++ (void) initialize
+{
+	NSSize startSize = NSMakeSize(100.0, BAR_HEIGHT);
+	ZeroSize = NSMakeSize(0.0, 0.0);
+	
+	_ProgressWhite = [NSImage imageNamed: @"ProgressBarWhite.png"];
+	[_ProgressWhite setScalesWhenResized: YES];
+	
+	_ProgressBlue = [NSImage imageNamed: @"ProgressBarBlue.png"];
+	[_ProgressBlue setScalesWhenResized: YES];
+	[_ProgressBlue setSize: startSize];
+	
+	_ProgressGray = [NSImage imageNamed: @"ProgressBarGray.png"];
+	[_ProgressGray setScalesWhenResized: YES];
+	[_ProgressGray setSize: startSize];
+	
+	_ProgressGreen = [NSImage imageNamed: @"ProgressBarGreen.png"];
+	[_ProgressGreen setScalesWhenResized: YES];
+	
+	_ProgressLightGreen = [NSImage imageNamed: @"ProgressBarLightGreen.png"];
+	[_ProgressLightGreen setScalesWhenResized: YES];
+	
+	_ProgressAdvanced = [NSImage imageNamed: @"ProgressBarAdvanced.png"];
+	[_ProgressAdvanced setScalesWhenResized: YES];
+	
+	_ProgressEndWhite = [NSImage imageNamed: @"ProgressBarEndWhite.png"];
+	_ProgressEndBlue = [NSImage imageNamed: @"ProgressBarEndBlue.png"];
+	_ProgressEndGray = [NSImage imageNamed: @"ProgressBarEndGray.png"];
+	_ProgressEndGreen = [NSImage imageNamed: @"ProgressBarEndGreen.png"];
+	_ProgressEndAdvanced = [NSImage imageNamed: @"ProgressBarEndAdvanced.png"];
+	
+	_ErrorImage = [[NSImage imageNamed: @"Error.tiff"] copy];
+	[_ErrorImage setFlipped: YES];
+}
+
+- (id)init
+{
+	self = [super init];
+	_minVal = 0.0;
+	_maxVal = 100.0;
+	_isActive = YES;
+
+	return self;
+}
+
+// BCP: Removed (11/09) per Onne Gorter
+// - (void)dealloc
+// {
+// 	[_icon release];
+// 	[_statusString release];
+// 	[super dealloc];
+// }
+
+- (void)setStatusString:(NSString *)string
+{
+  // BCP: Removed (11/09) per Onne Gorter
+  //	[_statusString autorelease];
+  //	_statusString = [string retain];
+  // Added:
+	_statusString = string;
+}
+
+- (void)setIcon:(NSImage *)image
+{
+  // BCP: Removed (11/09) per Onne Gorter
+  //	[_icon autorelease];
+  //	_icon = [image retain];
+  // Added:
+	_icon = image;
+}
+
+- (void)setIsActive:(BOOL)yn
+{
+	_isActive = yn;
+}
+
+- (void)drawBarImage:(NSImage *)barImage width:(float)width point:(NSPoint)point
+{
+    if (width <= 0.0)
+        return;
+    
+    if ([barImage size].width < width)
+        [barImage setSize: NSMakeSize(width * 2.0, BAR_HEIGHT)];
+
+    [barImage compositeToPoint: point fromRect: NSMakeRect(0, 0, width, BAR_HEIGHT) operation: NSCompositeSourceOver];
+}
+
+- (void)drawBar:(float)width point:(NSPoint)point
+{
+	id objectValue = [self objectValue];
+	if (!objectValue) return;
+	
+    float value = [objectValue floatValue];
+	float progress = (value - _minVal)/ (_maxVal - _minVal);
+
+    width -= 2.0;
+    float completedWidth, remainingWidth = 0.0;
+    
+    //bar images and widths
+    NSImage * barLeftEnd, * barRightEnd, * barComplete, * barRemaining;
+	if (progress >= 1.0) {
+        completedWidth = width;
+        barLeftEnd = _ProgressEndGreen;
+        barRightEnd = _ProgressEndGreen;
+        barComplete = _ProgressGreen;
+        barRemaining = _ProgressLightGreen;
+	} 
+	else {
+        completedWidth = progress * width;
+        remainingWidth = width - completedWidth;
+		barLeftEnd = (remainingWidth == width) ? _ProgressEndWhite
+						: ((_isActive) ? _ProgressEndBlue : _ProgressEndGray);
+		barRightEnd = (completedWidth < width) ? _ProgressEndWhite
+						: ((_isActive) ? _ProgressEndBlue : _ProgressEndGray);
+        barComplete = _isActive ? _ProgressBlue : _ProgressGray;
+        barRemaining = _ProgressWhite;
+    }
+    
+    [barLeftEnd compositeToPoint: point operation: NSCompositeSourceOver];
+    
+    point.x += 1.0;
+    [self drawBarImage: barComplete width: completedWidth point: point];
+    
+    point.x += completedWidth;
+    [self drawBarImage: barRemaining width: remainingWidth point: point];
+    
+    point.x += remainingWidth;
+    [barRightEnd compositeToPoint: point operation: NSCompositeSourceOver];
+}
+
+- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)view
+{
+    NSPoint pen = cellFrame.origin;
+    const float PADDING = 3.0;
+        
+	// progress bar
+	pen.y += PADDING + BAR_HEIGHT;
+	float mainWidth = cellFrame.size.width;
+	float barWidth = mainWidth;
+	[self drawBar: barWidth point: pen];
+    
+	//icon
+	NSImage * image = _isError ? _ErrorImage : _icon;
+	if (image) {
+        NSSize imageSize = [image size];
+        NSRect imageFrame;
+		imageFrame.origin = cellFrame.origin;
+        imageFrame.size = imageSize;
+        imageFrame.origin.x += ceil((cellFrame.size.width - imageSize.width) / 2);
+        imageFrame.origin.y += [view isFlipped] ?
+				  ceil((cellFrame.size.height + imageSize.height) / 2)
+				: ceil((cellFrame.size.height - imageSize.height) / 2);
+        [image compositeToPoint:imageFrame.origin operation:NSCompositeSourceOver];
+	}
+
+	// status string
+	if (_statusString) {
+	    BOOL highlighted = [self isHighlighted] && [[self highlightColorWithFrame: cellFrame inView: view]
+                                                        isEqual: [NSColor alternateSelectedControlColor]];
+		NSMutableParagraphStyle * paragraphStyle = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
+		[paragraphStyle setLineBreakMode: NSLineBreakByTruncatingTail];
+		
+		NSDictionary * statusAttributes = [[NSDictionary alloc] initWithObjectsAndKeys:
+						highlighted ? [NSColor whiteColor] : [NSColor darkGrayColor], NSForegroundColorAttributeName,
+						[NSFont boldSystemFontOfSize: 9.0], NSFontAttributeName,
+						paragraphStyle, NSParagraphStyleAttributeName, nil];
+		[paragraphStyle release];
+
+		NSSize statusSize = [_statusString sizeWithAttributes: statusAttributes];
+		pen = cellFrame.origin;
+		pen.x += (cellFrame.size.width - statusSize.width) * 0.5;
+		pen.y += (cellFrame.size.height - statusSize.height) * 0.5;
+		
+		[_statusString drawInRect: NSMakeRect(pen.x, pen.y, statusSize.width, statusSize.height)
+						withAttributes: statusAttributes];
+	    [statusAttributes release];
+	}
+}
+
+ at end

Added: trunk/src/uimacnew09/ReconItem.h
===================================================================
--- trunk/src/uimacnew09/ReconItem.h	                        (rev 0)
+++ trunk/src/uimacnew09/ReconItem.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,80 @@
+/* ReconItem */
+
+#import <Cocoa/Cocoa.h>
+
+ at class OCamlValue;
+
+ at interface ReconItem : NSObject
+{
+	ReconItem *parent;
+    NSString *path;
+    NSString *fullPath;
+    BOOL selected;
+    NSImage *direction;
+    NSString *directionSortString;
+	int fileSize;
+	int bytesTransferred;
+    BOOL resolved;
+}
+- (BOOL)selected;
+- (void)setSelected:(BOOL)x;
+- (NSString *)path;
+- (NSString *)fullPath;
+- (NSString *)left;
+- (NSString *)right;
+- (NSImage *)direction;
+- (NSImage *)fileIcon;
+- (int)fileCount;
+- (int)fileSize;
+- (NSString *)fileSizeString;
+- (int)bytesTransferred;
+- (NSString *)bytesTransferredString;
+- (void)setDirection:(char *)d;
+- (void) doAction:(unichar)action;
+- (void) doIgnore:(unichar)action;
+- (NSString *)progress;
+- (NSString *)progressString;
+- (void)resetProgress;
+- (NSString *)details;
+- (NSString *)updateDetails;
+- (BOOL)isConflict;
+- (BOOL)changedFromDefault;
+- (void)revertDirection;
+- (BOOL)canDiff;
+- (void)showDiffs;
+- (NSString *)leftSortKey;
+- (NSString *)rightSortKey;
+- (NSString *)replicaSortKey:(NSString *)sortString;
+- (NSString *)directionSortKey;
+- (NSString *)progressSortKey;
+- (NSString *)pathSortKey;
+- (NSArray *)children;
+- (ReconItem *)collapseParentsWithSingleChildren:(BOOL)isRoot;
+- (ReconItem *)parent;
+- (void)setPath:(NSString *)aPath;
+- (void)setFullPath:(NSString *)p;
+- (void)setParent:(ReconItem *)p;
+- (void)willChange;
+ at end
+
+ at interface LeafReconItem : ReconItem
+{
+    NSString *left;
+    NSString *right;
+    NSString *progress;
+    NSString *details;
+    OCamlValue *ri; // an ocaml Common.reconItem
+    int index; // index in Ri list
+}
+- initWithRiAndIndex:(OCamlValue *)v index:(int)i;
+ at end
+
+ at interface ParentReconItem : ReconItem
+{
+	NSMutableArray *_children;
+	int fileCount;
+}
+- (void)addChild:(ReconItem *)item nested:(BOOL)useNesting;
+- (void)sortUsingDescriptors:(NSArray *)sortDescriptors;
+- (BOOL)hasConflictedChildren;
+ at end

Added: trunk/src/uimacnew09/ReconItem.m
===================================================================
--- trunk/src/uimacnew09/ReconItem.m	                        (rev 0)
+++ trunk/src/uimacnew09/ReconItem.m	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,841 @@
+#import "ReconItem.h"
+#import "Bridge.h"
+
+#import <Carbon/Carbon.h>
+
+ at implementation ReconItem
+
+- init {
+	[super init];
+	selected = NO; // NB only used/updated during sorts. Not a 
+				   // reliable indicator of whether item is selected
+	fileSize = -1;
+	bytesTransferred = -1;
+	return self;
+}
+
+- (void)dealloc
+{
+    [path release];
+    [fullPath release];
+    // [direction release];  // assuming retained by cache, so not retained
+    // [directionSortString release];  // no retain/release necessary because is constant
+	[super dealloc];
+}
+
+- (ReconItem *)parent 
+{
+	return parent;
+}
+
+- (void)setParent:(ReconItem *)p
+{
+	parent = p;
+}
+
+- (void)willChange
+{
+	// propagate up parent chain
+	[parent willChange];
+}
+
+- (NSArray *)children
+{
+	return nil;
+}
+
+- (BOOL)selected
+{
+    return selected;
+}
+
+- (void)setSelected:(BOOL)x
+{
+    selected = x;
+}
+
+- (NSString *)path
+{
+    return path;
+}
+
+- (void)setPath:(NSString *)aPath
+{
+	[path autorelease];
+	path = [aPath retain];
+	
+	// invalidate
+	[fullPath autorelease];
+	fullPath = nil;
+}
+
+- (NSString *)fullPath
+{
+	if (!fullPath) {
+		NSString *parentPath = [parent fullPath];
+		[self setFullPath:(([parentPath length] > 0) ? [parentPath stringByAppendingFormat:@"/%@", path] : path)];
+	}
+
+    return fullPath;
+}
+
+- (void)setFullPath:(NSString *)p
+{
+	[fullPath autorelease];
+	fullPath = [p retain];
+}
+
+- (NSString *)left
+{
+    return nil;
+}
+
+- (NSString *)right
+{
+    return nil;
+}
+
+static NSMutableDictionary *_ChangeIconsByType = nil;
+
+- (NSImage *)changeIconFor:(NSString *)type other:(NSString *)other
+{
+	if (![type length]) {
+		if ([other isEqual:@"Created"]) {
+			type = @"Absent";
+		} else if ([other length]) {
+			type = @"Unmodified";		
+		} else
+			return nil;
+	}
+
+	NSImage *result = [_ChangeIconsByType objectForKey:type];
+	if (!result) {
+		NSString *imageName = [NSString stringWithFormat:@"Change_%@.png", type];
+		result = [NSImage imageNamed:imageName];
+		if (!_ChangeIconsByType) _ChangeIconsByType = [[NSMutableDictionary alloc] init];
+		[_ChangeIconsByType setObject:result forKey:type];
+	}
+	return result;
+}
+
+- (NSImage *)leftIcon
+{
+	return [self changeIconFor:[self left] other:[self right]];
+}
+
+- (NSImage *)rightIcon
+{
+	return [self changeIconFor:[self right] other:[self left]];
+}
+
+
+- (int)computeFileSize
+{
+	return 0;
+}
+
+- (int)bytesTransferred
+{
+	return 0;
+}
+
+- (int)fileCount
+{
+	return 1;
+}
+
+- (int)fileSize
+{
+	if (fileSize == -1) fileSize = [self computeFileSize];
+	return fileSize;
+}
+
+- (NSString *)formatFileSize:(int)intSize
+{
+	float size = (float)intSize;
+	if (size == 0) return @"--";
+	if (size < 1024) return @"< 1KB"; // return [NSString stringWithFormat:@"%i bytes", size];
+	size /= 1024;
+	if (size < 1024) return [NSString stringWithFormat:@"%i KB", (int)size];
+	size /= 1024;
+	if (size < 1024) return [NSString stringWithFormat:@"%1.1f MB", size];
+	size = size / 1024;
+	return [NSString stringWithFormat:@"%1.1f GB", size];
+}
+
+- (NSString *)fileSizeString
+{
+	return [self formatFileSize:[self fileSize]];
+}
+
+- (NSString *)bytesTransferredString
+{
+	return [self formatFileSize:[self bytesTransferred]];
+}
+
+- (NSNumber *)percentTransferred
+{
+	int size = [self computeFileSize];
+	return (size > 0) ? [NSNumber numberWithFloat:(((float)[self bytesTransferred]) / (float)size) * 100.0]
+					  : nil;
+}
+
+static NSMutableDictionary *_iconsByExtension = nil;
+
+- (NSImage *)iconForExtension:(NSString *)extension
+{
+	NSImage *icon = [_iconsByExtension objectForKey:extension];
+	if (!_iconsByExtension) _iconsByExtension = [[NSMutableDictionary alloc] init];
+	if (!icon) {
+		icon = [[NSWorkspace sharedWorkspace] iconForFileType:extension];
+		[icon setSize:NSMakeSize(16.0, 16.0)];
+		[_iconsByExtension setObject:icon forKey:extension];
+	}
+	return icon;
+}
+
+- (NSImage *)fileIcon
+{
+	return [self iconForExtension:NSFileTypeForHFSTypeCode(kOpenFolderIcon)];
+}
+
+- (NSString *)dirString
+{
+	return @"<-?->";
+}
+
+- (NSImage *)direction
+{
+    if (direction) return direction;    
+    NSString * dirString = [self dirString];
+
+    BOOL changedFromDefault = [self changedFromDefault];
+    
+    if ([dirString isEqual:@"<-?->"]) {
+        if (changedFromDefault | resolved) {
+            direction = [NSImage imageNamed: @"table-skip.tif"];
+			directionSortString = @"3";
+		}
+        else {
+            direction = [NSImage imageNamed: @"table-conflict.tif"];
+			directionSortString = @"2";
+        }
+    }
+    
+    else if ([dirString isEqual:@"---->"]) {
+        if (changedFromDefault) {
+            direction = [NSImage imageNamed: @"table-right-blue.tif"];
+            directionSortString = @"6";
+        }
+	else {
+            direction = [NSImage imageNamed: @"table-right-green.tif"];
+            directionSortString = @"8";
+        }
+    }
+    
+    else if ([dirString isEqual:@"<----"]) {
+        if (changedFromDefault) {
+            direction = [NSImage imageNamed: @"table-left-blue.tif"];
+            directionSortString = @"5";
+        }
+        else {
+            direction = [NSImage imageNamed: @"table-left-green.tif"];
+            directionSortString = @"7";
+        }
+    }
+
+    else if ([dirString isEqual:@"<-M->"]) {
+        direction = [NSImage imageNamed: @"table-merge.tif"];
+        directionSortString = @"4";
+    }
+    
+	else if ([dirString isEqual:@"<--->"]) {
+		direction = [NSImage imageNamed: @"table-mixed.tif"];
+		directionSortString = @"9";
+	}
+
+    else {
+        direction = [NSImage imageNamed: @"table-error.tif"];
+        directionSortString = @"1";
+    }
+    
+    [direction retain];
+    return direction;
+}
+
+- (void)setDirection:(char *)d
+{
+    [direction autorelease];
+    direction = nil;
+}
+
+- (void)doAction:(unichar)action
+{
+    switch (action) {
+    case '>':
+        [self setDirection:"unisonRiSetRight"];
+        break;
+    case '<':
+        [self setDirection:"unisonRiSetLeft"];
+        break;
+    case '/':
+        [self setDirection:"unisonRiSetConflict"];
+        resolved = YES;
+        break;
+    case '-':
+        [self setDirection:"unisonRiForceOlder"];
+        break;
+    case '+':
+        [self setDirection:"unisonRiForceNewer"];
+        break;
+    case 'm':
+        [self setDirection:"unisonRiSetMerge"];
+        break;
+    case 'd':
+        [self showDiffs];
+        break;
+    case 'R':
+        [self revertDirection];
+        break;
+    default:
+        NSLog(@"ReconItem.doAction : unknown action");
+        break;
+    }
+}
+
+- (void)doIgnore:(unichar)action
+{
+    switch (action) {
+    case 'I':
+		ocamlCall("xS", "unisonIgnorePath", [self fullPath]);
+        break;
+    case 'E':
+		ocamlCall("xS", "unisonIgnoreExt", [self path]);
+        break;
+    case 'N':
+		ocamlCall("xS", "unisonIgnoreName", [self path]);
+        break;
+    default:
+        NSLog(@"ReconItem.doIgnore : unknown ignore");
+        break;
+    }
+}
+
+/* Sorting functions. These have names equal to
+   column identifiers + "SortKey", and return NSStrings that
+   can be automatically sorted with their compare method */
+
+- (NSString *) leftSortKey
+{
+    return [self replicaSortKey:[self left]];
+}
+
+- (NSString *) rightSortKey
+{
+    return [self replicaSortKey:[self right]];
+}
+
+- (NSString *) replicaSortKey:(NSString *)sortString
+{
+    /* sort order for left and right replicas */
+
+    if ([sortString isEqualToString:@"Created"]) return @"1";
+    else if ([sortString isEqualToString:@"Deleted"]) return @"2";
+    else if ([sortString isEqualToString:@"Modified"]) return @"3";
+    else if ([sortString isEqualToString:@""]) return @"4";
+    else return @"5";
+}
+
+- (NSString *) directionSortKey
+{
+    /* Since the direction indicators are unsortable images, use
+       directionSortString instead */
+
+    if ([directionSortString isEqual:@""])
+        [self direction];
+    return directionSortString;
+}
+
+- (NSString *) progressSortKey
+{
+    /* Percentages, "done" and "" are sorted OK without help,
+       but "start " should be sorted after "" and before "0%" */
+
+    NSString * progressString = [self progress];
+    if ([progressString isEqualToString:@"start "]) progressString = @" ";
+    return progressString;
+}
+
+- (NSString *) pathSortKey
+{
+    /* default alphanumeric sort is fine for paths */
+    return [self path];
+}
+
+- (NSString *)progress
+{
+	return nil;
+}
+
+- (BOOL)transferInProgress
+{
+	int soFar = [self bytesTransferred];
+	return (soFar > 0) && (soFar != [self fileSize]);
+}
+
+- (void)resetProgress
+{
+}
+
+- (NSString *)progressString
+{
+	NSString *progress = [self progress];
+	if ([progress length] == 0 || [progress hasSuffix:@"%"])
+		progress = [self transferInProgress] ? [self bytesTransferredString] : @"";
+	else if ([progress isEqual:@"done"]) progress = @"";
+	return progress;
+}
+
+- (NSString *)details
+{
+	return nil;
+}
+
+- (NSString *)updateDetails
+{
+    return [self details];
+}
+
+- (BOOL)isConflict
+{
+	return NO;
+}
+
+- (BOOL)changedFromDefault
+{
+	return NO;
+}
+
+- (void)revertDirection
+{
+	[self willChange];
+    [direction release];
+    direction = nil;
+    resolved = NO;
+}
+
+- (BOOL)canDiff
+{
+	return NO;
+}
+
+- (void)showDiffs
+{
+}
+
+- (ReconItem *)collapseParentsWithSingleChildren:(BOOL)isRoot
+{
+	return self;
+}
+ at end
+
+
+// --- Leaf items -- actually corresponding to ReconItems in OCaml
+ at implementation LeafReconItem
+
+- initWithRiAndIndex:(OCamlValue *)v index:(int)i
+{
+    [super init];
+    ri = [v retain];
+	index = i;
+    resolved = NO;
+    directionSortString = @"";
+    return self;
+}
+
+-(void)dealloc
+{
+    [ri release];
+    [left release];
+    [right release];
+    [progress release];
+    [details release];
+	
+    [super dealloc];
+}
+
+- (NSString *)path
+{
+    if (!path) path = [(NSString *)ocamlCall("S@", "unisonRiToPath", ri) retain];
+    return path;
+}
+
+- (NSString *)left
+{
+    if (!left) left = [(NSString *)ocamlCall("S@", "unisonRiToLeft", ri) retain];
+	return left;
+}
+
+- (NSString *)right
+{
+    if (!right)	right = [(NSString *)ocamlCall("S@", "unisonRiToRight", ri) retain];    
+	return right;
+}
+
+- (int)computeFileSize
+{
+	return (int)ocamlCall("i@", "unisonRiToFileSize", ri);
+}
+
+- (int)bytesTransferred
+{
+	if (bytesTransferred == -1) {
+		// need to force to fileSize if done, otherwise may not match up to 100%
+		bytesTransferred = ([[self progress] isEqual:@"done"]) ? [self fileSize]
+			: (int)ocamlCall("i@", "unisonRiToBytesTransferred", ri);
+	}
+	return bytesTransferred;
+}
+
+- (NSImage *)fileIcon
+{
+	NSString *extension = [[self path] pathExtension];
+	
+	if ([@"" isEqual:extension]) {
+		NSString *type = (NSString *)ocamlCall("S@", "unisonRiToFileType", ri);
+		extension = [type isEqual:@"dir"] 
+			? NSFileTypeForHFSTypeCode(kGenericFolderIcon)
+			: NSFileTypeForHFSTypeCode(kGenericDocumentIcon);
+	}
+	return [self iconForExtension:extension];
+}
+
+- (NSString *)dirString
+{
+	return (NSString *)ocamlCall("S@", "unisonRiToDirection", ri);
+}
+
+- (void)setDirection:(char *)d
+{
+	[self willChange];
+    [super setDirection:d];
+	ocamlCall("x@", d, ri);
+}
+
+- (NSString *)progress
+{
+    if (!progress) {
+		progress = 	[(NSString *)ocamlCall("S@", "unisonRiToProgress", ri) retain];
+		if ([progress isEqual:@"FAILED"]) [self updateDetails];
+    }
+	return progress;
+}
+
+- (void)resetProgress
+{
+    // Get rid of the memoized progress because we expect it to change
+	[self willChange];
+	bytesTransferred = -1;
+    [progress release];
+	
+	// Force update now so we get the result while the OCaml thread is available
+	// [self progress];
+	// [self bytesTransferred];
+    progress = nil;
+}
+
+- (NSString *)details
+{
+    if (details) return details;
+    return [self updateDetails];
+}
+
+- (NSString *)updateDetails
+{
+	[details autorelease];
+	details = [(NSString *)ocamlCall("S@", "unisonRiToDetails", ri) retain];
+    return details;
+}
+
+- (BOOL)isConflict
+{
+	return ((int)ocamlCall("i@", "unisonRiIsConflict", ri) ? YES : NO);
+}
+
+- (BOOL)changedFromDefault
+{
+	return ((int)ocamlCall("i@", "changedFromDefault", ri) ? YES : NO);
+}
+
+- (void)revertDirection
+{
+	ocamlCall("x@", "unisonRiRevert", ri);
+	[super revertDirection];
+}
+
+- (BOOL)canDiff
+{
+	return ((int)ocamlCall("i@", "canDiff", ri) ? YES : NO);
+}
+
+- (void)showDiffs
+{
+	ocamlCall("x at i", "runShowDiffs", ri, index);
+}
+
+ at end
+
+ at interface NSImage (TintedImage)
+- (NSImage *)tintedImageWithColor:(NSColor *) tint operation:(NSCompositingOperation) op;
+ at end
+
+ at implementation NSImage (TintedImage)
+
+- (NSImage *)tintedImageWithColor:(NSColor *) tint operation:(NSCompositingOperation) op  
+{
+	NSSize size = [self size];
+	NSRect imageBounds = NSMakeRect(0, 0, size.width, size.height);    
+	NSImage *newImage = [[NSImage alloc] initWithSize:size];
+	
+	[newImage lockFocus];
+	[self compositeToPoint:NSZeroPoint operation:NSCompositeSourceOver];
+	[tint set];
+	NSRectFillUsingOperation(imageBounds, op);
+	[newImage unlockFocus];
+	
+	return [newImage autorelease];
+}
+
+ at end
+
+// ----  Parent nodes in grouped items
+ at implementation ParentReconItem
+
+- init 
+{
+	[super init];
+	_children = [[NSMutableArray alloc] init];
+	return self;
+}
+
+- initWithPath:(NSString *)aPath
+{
+	[self init];
+	path = [aPath retain];
+	return self;
+}
+
+- (void)dealloc
+{
+	[_children release];
+	[super dealloc];
+}
+
+- (NSArray *)children;
+{
+	return _children;
+}
+
+- (void)addChild:(ReconItem *)item pathArray:(NSArray *)pathArray level:(int)level
+{
+	NSString *element = [pathArray count] ? [pathArray objectAtIndex:level] : @"";
+
+	// if we're at the leaf of the path, then add the item
+	if (((0 == [pathArray count]) && (0 == level)) || (level == [pathArray count]-1)) {
+		[item setParent:self];
+		[item setPath:element];
+		[_children addObject:item];
+		return;
+	}
+		
+	// find / add matching parent node
+	ReconItem *last = [_children lastObject];
+	if (last == nil || ![last isKindOfClass:[ParentReconItem class]] || ![[last path] isEqual:element]) {
+		last = [[ParentReconItem alloc] initWithPath:element];
+		[last setParent:self];
+		[_children addObject:last];
+		[last release];
+	}
+	
+	[(ParentReconItem *)last addChild:item pathArray:pathArray level:level+1];
+}
+
+- (void)addChild:(ReconItem *)item nested:(BOOL)nested
+{
+	[item setPath:nil]; // invalidate/reset
+	
+	if (nested) {
+		[self addChild:item pathArray:[[item path] pathComponents] level:0];
+	} else {
+		[item setParent:self];
+		[_children addObject:item];
+	}
+}
+
+- (void)sortUsingDescriptors:(NSArray *)sortDescriptors
+{
+	// sort our children
+	[_children sortUsingDescriptors:sortDescriptors];
+	
+	// then have them sort theirs
+	int i = [_children count];
+	while (i--) {
+		id child = [_children objectAtIndex:i];
+		if ([child isKindOfClass:[ParentReconItem class]]) [child sortUsingDescriptors:sortDescriptors];
+	}
+}
+
+- (ReconItem *)collapseParentsWithSingleChildren:(BOOL)isRoot
+{
+	// replace ourselves?
+	if (!isRoot && [_children count] == 1) {
+		ReconItem *child = [_children lastObject];
+		[child setPath:[path stringByAppendingFormat:@"/%@", [child path]]];
+		return [child collapseParentsWithSingleChildren:NO];
+	}
+	
+	// recurse
+	int i = [_children count];
+	while (i--) {
+		ReconItem *child = [_children objectAtIndex:i];
+		ReconItem *replacement = [child collapseParentsWithSingleChildren:NO];
+		if (child != replacement) {
+			[_children replaceObjectAtIndex:i withObject:replacement];
+			[replacement setParent:self];
+		}
+	}
+	return self;
+}
+
+- (void)willChange
+{
+	// invalidate child-based state
+	// Assuming caches / constant, so not retained / released
+	// [direction autorelease]; 
+	// [directionSortString autorelease]; 
+	direction = nil;
+	directionSortString = nil;
+	bytesTransferred = -1;
+	// fileSize = -1;
+    // resolved = NO;
+
+	// propagate up parent chain
+	[parent willChange];
+}
+
+// Propagation methods
+- (void)doAction:(unichar)action
+{
+	int i = [_children count];
+	while (i--) {
+		ReconItem *child = [_children objectAtIndex:i];
+		[child doAction:action]; 
+	}
+}
+
+- (void)doIgnore:(unichar)action
+{
+	// handle Path ignores at this level, name and extension at the child nodes
+	if (action == 'I') {
+		[super doIgnore:'I'];
+	} else {
+		int i = [_children count];
+		while (i--) {
+			ReconItem *child = [_children objectAtIndex:i];
+			[child doIgnore:action]; 
+		}
+	}
+}
+
+// Rollup methods
+- (int)fileCount
+{
+	if (fileCount == 0) {
+		int i = [_children count];
+		while (i--) {
+			ReconItem *child = [_children objectAtIndex:i];
+			fileCount += [child fileCount]; 
+		}
+	}
+	return fileCount;
+}
+
+- (int)computeFileSize
+{
+	int size = 0;
+	int i = [_children count];
+	while (i--) {
+		ReconItem *child = [_children objectAtIndex:i];
+		size += [child fileSize]; 
+	}
+	return size;
+}
+
+- (int)bytesTransferred
+{
+	if (bytesTransferred == -1) {
+		bytesTransferred = 0;
+		int i = [_children count];
+		while (i--) {
+			ReconItem *child = [_children objectAtIndex:i];
+			bytesTransferred += [child bytesTransferred]; 
+		}
+	}
+	return bytesTransferred;
+}
+
+
+
+- (NSString *)dirString
+{
+	NSString *rollup = nil;
+	int i = [_children count];
+	while (i--) {
+		ReconItem *child = [_children objectAtIndex:i];
+		NSString *dirString = [child dirString];
+		if (!rollup || [dirString isEqual:rollup]) {
+			rollup = dirString;
+		} else {
+			// conflict
+			if ([dirString isEqual:@"---->"] || [dirString isEqual:@"<----"] || [dirString isEqual:@"<--->"]) {
+				if ([rollup isEqual:@"---->"] || [rollup isEqual:@"<----"] || [rollup isEqual:@"<--->"]) {
+					rollup = @"<--->";
+				}
+			} else {
+				rollup = @"<-?->";
+			}
+		}
+	}
+	// NSLog(@"dirString for %@: %@", path, rollup);
+	return rollup;
+}
+
+- (BOOL)hasConflictedChildren
+{
+	NSString *dirString = [self dirString];
+	BOOL result = [dirString isEqual:@"<--->"] || [dirString isEqual:@"<-?->"];
+	// NSLog(@"hasConflictedChildren (%@): %@: %i", [self path], dirString, result);
+	return result;
+}
+
+static NSMutableDictionary *_parentImages = nil;
+static NSColor *_veryLightGreyColor = nil;
+- (NSImage *)direction
+{
+	if (!_parentImages) {
+		_parentImages = [[NSMutableDictionary alloc] init];
+		_veryLightGreyColor = [[NSColor colorWithCalibratedRed:0.9 green:0.9 blue:0.9 alpha:1.0] retain];
+		// [NSColor lightGrayColor]
+	}
+	NSImage *baseImage = [super direction];
+	NSImage *parentImage = [_parentImages objectForKey:baseImage];
+	if (!parentImage) {
+		// make parent images a grey version of the leaf images
+		parentImage = [baseImage tintedImageWithColor:_veryLightGreyColor operation:NSCompositeSourceIn];
+		[_parentImages setObject:parentImage forKey:baseImage];
+	}
+	return parentImage;
+}
+
+ at end
+

Added: trunk/src/uimacnew09/ReconTableView.h
===================================================================
--- trunk/src/uimacnew09/ReconTableView.h	                        (rev 0)
+++ trunk/src/uimacnew09/ReconTableView.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,43 @@
+//
+//  ReconTableView.h
+//  
+//  NSTableView extended to handle additional keyboard events for the reconcile window.
+//  The keyDown: method is redefined.
+//
+//  Created by Trevor Jim on Wed Aug 27 2003.
+//  Copyright (c) 2003, licensed under GNU GPL.
+//
+
+#import <AppKit/AppKit.h>
+
+ at interface ReconTableView : NSOutlineView {
+    BOOL editable;
+}
+- (BOOL)editable;
+- (void)setEditable:(BOOL)x;
+- (BOOL)validateItem:(IBAction *) action;
+- (BOOL)validateMenuItem:(NSMenuItem *)menuItem;
+- (BOOL)validateToolbarItem:(NSToolbarItem *)toolbarItem;
+- (IBAction)ignorePath:(id)sender;
+- (IBAction)ignoreExt:(id)sender;
+- (IBAction)ignoreName:(id)sender;
+- (IBAction)copyLR:(id)sender;
+- (IBAction)copyRL:(id)sender;
+- (IBAction)leaveAlone:(id)sender;
+- (IBAction)forceOlder:(id)sender;
+- (IBAction)forceNewer:(id)sender;
+- (IBAction)selectConflicts:(id)sender;
+- (IBAction)revert:(id)sender;
+- (IBAction)merge:(id)sender;
+- (IBAction)showDiff:(id)sender;
+- (BOOL)canDiffSelection;
+ at end
+
+ at interface NSOutlineView (_UnisonExtras)
+- (NSArray *)selectedObjects;
+- (NSEnumerator *)selectedObjectEnumerator;
+- (void)setSelectedObjects:(NSArray *)selection;
+
+- (void)expandChildrenIfSpace;
+
+ at end

Added: trunk/src/uimacnew09/ReconTableView.m
===================================================================
--- trunk/src/uimacnew09/ReconTableView.m	                        (rev 0)
+++ trunk/src/uimacnew09/ReconTableView.m	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,298 @@
+//
+//  ReconTableView.m
+//  Unison
+//
+//  Created by Trevor Jim on Wed Aug 27 2003.
+//  Copyright (c) 2003.  See file COPYING for details.
+//
+
+#import "ReconTableView.h"
+#import "ReconItem.h"
+#import "MyController.h"
+
+ at implementation NSOutlineView (_UnisonExtras)
+
+- (NSArray *)selectedObjects
+{
+	NSMutableArray *result = [NSMutableArray array];
+  NSIndexSet *set = [self selectedRowIndexes];
+  NSUInteger index = [set firstIndex];
+  while (index != NSNotFound) {
+    [result addObject:[self itemAtRow:index]];
+    index = [set indexGreaterThanIndex: index];
+  }
+  return result;
+}
+
+- (void)setSelectedObjects:(NSArray *)selectedObjects
+{
+	NSMutableIndexSet *set = [NSMutableIndexSet indexSet];
+	int i = [selectedObjects count];
+	while (i--) {
+		int index = [self rowForItem:[selectedObjects objectAtIndex:i]];
+		if (index >= 0)	[set addIndex:index];
+	}
+	[self selectRowIndexes:set byExtendingSelection:NO];
+}
+
+- (NSEnumerator *)selectedObjectEnumerator
+{
+	return [[self selectedObjects] objectEnumerator];
+}
+
+- (int)rowCapacityWithoutScrolling 
+{
+	float bodyHeight = [self visibleRect].size.height;
+	bodyHeight -=  [[self headerView] visibleRect].size.height;
+	return bodyHeight / ([self rowHeight] + 2.0);
+}
+
+- (BOOL)_canAcceptRowCountWithoutScrolling:(int)rows
+{
+	return ([self numberOfRows] + rows) <= [self rowCapacityWithoutScrolling];
+}
+
+- (BOOL)_expandChildrenIfSpace:(id)parent level:(int)level
+{
+	BOOL didExpand = NO;
+	id dataSource = [self dataSource];
+	int count = [dataSource outlineView:self numberOfChildrenOfItem:parent];
+	if (level == 0) {
+		if (count && ([self isItemExpanded:parent] || [self _canAcceptRowCountWithoutScrolling:count])) {
+			[self expandItem:parent expandChildren:NO];
+			didExpand = YES;
+		}
+	} else {
+		// try expanding each of our children.  If all expand, then return YES,
+		// indicating that it may be worth trying the next level
+		int i;
+		for (i=0; i < count; i++) {
+			id child = [dataSource outlineView:self child:i ofItem:parent];
+			didExpand = [self _expandChildrenIfSpace:child level:level-1] || didExpand;
+		}
+	}
+
+	return didExpand;
+}
+
+- (void)expandChildrenIfSpace
+{
+	int level = 1;
+	while ([self _expandChildrenIfSpace:nil level:level]) level++;
+}
+
+ at end
+
+ at implementation ReconTableView
+
+- (BOOL)editable
+{
+    return editable;
+}
+
+- (void)setEditable:(BOOL)x
+{
+    editable = x;
+}
+
+- (BOOL)validateItem:(IBAction *) action
+{
+    if (action == @selector(selectAll:)
+        || action == @selector(selectConflicts:)
+        || action == @selector(copyLR:)
+        || action == @selector(copyRL:)
+        || action == @selector(leaveAlone:)
+        || action == @selector(forceNewer:)
+        || action == @selector(forceOlder:)
+        || action == @selector(revert:)
+        || action == @selector(ignorePath:)
+        || action == @selector(ignoreExt:)
+        || action == @selector(ignoreName:))
+        return editable;
+    else if (action == @selector(merge:)) {
+        if (!editable) return NO;
+        else return [self canDiffSelection];
+    }
+    else if (action == @selector(showDiff:)) {
+        if ((!editable) || (!([self numberOfSelectedRows]==1)))
+            return NO;
+	else return [self canDiffSelection];
+    }
+    else return YES;
+}
+
+- (BOOL)validateMenuItem:(NSMenuItem *)menuItem
+{
+	return [self validateItem:[menuItem action]];
+}
+
+- (BOOL)validateToolbarItem:(NSToolbarItem *)toolbarItem
+{
+       return [self validateItem:[toolbarItem action]];
+}
+
+- (void)doIgnore:(unichar)c
+{
+    NSEnumerator *e = [self selectedObjectEnumerator];
+	ReconItem *item, *last = nil;
+    while (item = [e nextObject]) {
+        [item doIgnore:c];
+		last = item;
+    }
+    if (last) { // something was selected
+        MyController* controller = (MyController*) [self dataSource];
+        last = [controller updateForIgnore:last];
+        [self selectRowIndexes:[NSIndexSet indexSetWithIndex:[self rowForItem:last]] byExtendingSelection:NO];
+        [self reloadData];
+    }
+}
+
+- (IBAction)ignorePath:(id)sender
+{
+    [self doIgnore:'I'];
+}
+
+- (IBAction)ignoreExt:(id)sender
+{
+    [self doIgnore:'E'];
+}
+
+- (IBAction)ignoreName:(id)sender
+{
+    [self doIgnore:'N'];
+}
+
+- (void)doAction:(unichar)c
+{
+    int numSelected = 0;
+    NSEnumerator *e = [self selectedObjectEnumerator];
+	ReconItem *item, *last = nil;
+    while (item = [e nextObject]) {
+        numSelected++;
+        [item doAction:c];
+		last = item;
+    }
+    if (numSelected>0) {
+		int nextRow = [self rowForItem:last] + 1;
+        if (numSelected == 1 && [self numberOfRows] > nextRow && c!='d') {
+            // Move to next row, unless already at last row, or if more than one row selected
+            [self selectRowIndexes:[NSIndexSet indexSetWithIndex:nextRow] byExtendingSelection:NO];
+            [self scrollRowToVisible:nextRow];
+        }
+        [self reloadData];
+    }
+}
+
+- (IBAction)copyLR:(id)sender
+{
+    [self doAction:'>'];
+}
+
+- (IBAction)copyRL:(id)sender
+{
+    [self doAction:'<'];
+}
+
+- (IBAction)leaveAlone:(id)sender
+{
+    [self doAction:'/'];
+}
+
+- (IBAction)forceOlder:(id)sender
+{
+    [self doAction:'-'];
+}
+
+- (IBAction)forceNewer:(id)sender
+{
+    [self doAction:'+'];
+}
+
+- (IBAction)selectConflicts:(id)sender
+{
+    [self deselectAll:self];
+    MyController* controller = (MyController*) [self dataSource];
+    NSMutableArray *reconItems = [controller reconItems];
+    int i = 0;
+    for (; i < [reconItems count]; i++) {
+		ReconItem *item = [reconItems objectAtIndex:i]; 
+        if ([item isConflict])
+            [self selectRowIndexes:[NSIndexSet indexSetWithIndex:[self rowForItem:item]] byExtendingSelection:YES];
+    }
+}
+
+- (IBAction)revert:(id)sender
+{
+    [self doAction:'R'];
+}
+
+- (IBAction)merge:(id)sender
+{
+    [self doAction:'m'];
+}
+
+- (IBAction)showDiff:(id)sender
+{
+    [self doAction:'d'];
+}
+
+/* There are menu commands for these, but we add some shortcuts so you don't
+   have to press the Command key */
+- (void)keyDown:(NSEvent *)event
+{
+    /* some keys return zero-length strings */
+    if ([[event characters] length] == 0) {
+        [super keyDown:event];
+        return;
+    }
+
+    /* actions are disabled when when menu items are */
+    if (!editable) {
+        [super keyDown:event];
+        return;
+    }
+
+    unichar c = [[event characters] characterAtIndex:0];
+    switch (c) {
+    case '>':
+    case NSRightArrowFunctionKey:
+        [self doAction:'>'];
+        break;
+    case '<':
+    case NSLeftArrowFunctionKey:
+        [self doAction:'<'];
+        break;
+    case '?':
+    case '/':
+        [self doAction:'/'];
+        break;
+    default:
+        [super keyDown:event];
+        break;
+    }
+}
+
+- (BOOL)canDiffSelection
+{
+    BOOL canDiff = YES;
+    NSEnumerator *e = [self selectedObjectEnumerator];
+	ReconItem *item;
+    while (item = [e nextObject]) {
+        if (![item canDiff]) canDiff= NO;
+    }    
+    return canDiff;
+}
+
+/* Override default highlight colour because it's hard to see the 
+   conflict/resolution icons */
+- (id)_highlightColorForCell:(NSCell *)cell
+{   
+    if(([[self window] firstResponder] == self) &&
+        [[self window] isMainWindow] &&
+        [[self window] isKeyWindow])
+
+        return [NSColor colorWithCalibratedRed:0.7 green:0.75 blue:0.8 alpha:1.0];
+    else return [NSColor colorWithCalibratedRed:0.8 green:0.8 blue:0.8 alpha:1.0];
+}
+
+ at end

Added: trunk/src/uimacnew09/TrevorsUnison.icns
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/TrevorsUnison.icns
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/Unison.icns
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/Unison.icns
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/UnisonToolbar.h
===================================================================
--- trunk/src/uimacnew09/UnisonToolbar.h	                        (rev 0)
+++ trunk/src/uimacnew09/UnisonToolbar.h	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,33 @@
+//
+//  UnisonToolbar.h
+//  
+//  Extended NSToolbar with several views
+//
+//  Created by Ben Willmore on Sun March 12 2006.
+//  Copyright (c) 2006, licensed under GNU GPL.
+//
+
+#import <AppKit/AppKit.h>
+
+ at class ReconTableView, MyController;
+
+ at interface UnisonToolbar : NSToolbar
+#if (MAC_OS_X_VERSION_MAX_ALLOWED >= 1060)
+  <NSToolbarDelegate>
+#endif
+{
+	ReconTableView*  tableView;
+	MyController*    myController;
+	NSString*        currentView;
+	NSView*          tableModeView;
+}
+
+- initWithIdentifier:(NSString *) identifier :(MyController *) aController :(ReconTableView *) aTableView;
+- (NSToolbarItem *) toolbar: (NSToolbar *)toolbar itemForItemIdentifier: (NSString *) itemIdent willBeInsertedIntoToolbar:(BOOL) willBeInserted;
+- (NSArray *) itemIdentifiersForView: (NSString *) whichView;
+- (NSArray *) toolbarDefaultItemIdentifiers: (NSToolbar *) toolbar;
+- (NSArray *) toolbarAllowedItemIdentifiers: (NSToolbar *) toolbar;
+- (void) setView: (NSString *) whichView;
+- (void)takeTableModeView:(NSView *)view;
+
+ at end

Added: trunk/src/uimacnew09/UnisonToolbar.m
===================================================================
--- trunk/src/uimacnew09/UnisonToolbar.m	                        (rev 0)
+++ trunk/src/uimacnew09/UnisonToolbar.m	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,215 @@
+//
+//  UnisonToolbar.h
+//  
+//  Extended NSToolbar with several views
+//
+//  Created by Ben Willmore on Sun March 12 2006.
+//  Copyright (c) 2006, licensed under GNU GPL.
+//
+
+#import "UnisonToolbar.h"
+#import "MyController.h"
+
+static NSString*        QuitItemIdentifier      = @"Quit";
+static NSString*        OpenItemIdentifier      = @"Open";
+static NSString*        NewItemIdentifier       = @"New";
+static NSString*        GoItemIdentifier        = @"Go";
+static NSString*        CancelItemIdentifier    = @"Cancel";
+static NSString*        SaveItemIdentifier      = @"Save";
+static NSString*        RestartItemIdentifier   = @"Restart";
+static NSString*        RescanItemIdentifier    = @"Rescan";
+static NSString*        RToLItemIdentifier      = @"RToL";
+static NSString*        MergeItemIdentifier     = @"Merge";
+static NSString*        LToRItemIdentifier      = @"LToR";
+static NSString*        SkipItemIdentifier      = @"Skip";
+static NSString*        DiffItemIdentifier      = @"Diff";
+static NSString*        TableModeIdentifier     = @"TableMode";
+
+ at implementation UnisonToolbar
+
+- initWithIdentifier:(NSString *) identifier :(MyController *) aController :(ReconTableView *) aTableView {
+
+    if ((self = [super initWithIdentifier: identifier])) {
+		[self setAllowsUserCustomization: NO];
+		[self setAutosavesConfiguration: NO];
+		[self setDelegate: self];
+		myController = aController;
+		tableView = aTableView;
+		currentView = @"";	
+    }
+
+    return self;
+}
+
+- (void)takeTableModeView:(NSView *)view
+{
+	tableModeView = [view retain];
+	[view setHidden:YES];	
+}
+
+- (NSToolbarItem *) toolbar: (NSToolbar *)toolbar itemForItemIdentifier: (NSString *) itemIdent willBeInsertedIntoToolbar:(BOOL) willBeInserted {
+
+    NSToolbarItem *toolbarItem = [[[NSToolbarItem alloc] initWithItemIdentifier: itemIdent] autorelease];
+    if ([itemIdent isEqual: QuitItemIdentifier]) {
+		[toolbarItem setLabel: @"Quit"];
+		[toolbarItem setImage: [NSImage imageNamed: @"quit.tif"]];
+		[toolbarItem setTarget:NSApp];
+		[toolbarItem setAction:@selector(terminate:)];
+	}
+	else if ([itemIdent isEqual: OpenItemIdentifier]) {
+        [toolbarItem setLabel: @"Open"];
+        [toolbarItem setImage: [NSImage imageNamed: @"go.tif"]];
+        [toolbarItem setTarget:myController];
+        [toolbarItem setAction:@selector(openButton:)];
+    }
+	else if ([itemIdent isEqual: NewItemIdentifier]) {
+        [toolbarItem setLabel: @"New"];
+        [toolbarItem setImage: [NSImage imageNamed: @"add.tif"]];
+        [toolbarItem setTarget:myController];
+        [toolbarItem setAction:@selector(createButton:)];
+    }
+	else if ([itemIdent isEqual: CancelItemIdentifier]) {
+        [toolbarItem setLabel: @"Cancel"];
+        [toolbarItem setImage: [NSImage imageNamed: @"restart.tif"]];
+        [toolbarItem setTarget:myController];
+        [toolbarItem setAction:@selector(chooseProfiles)];
+    }
+	else if ([itemIdent isEqual: SaveItemIdentifier]) {
+        [toolbarItem setLabel: @"Save"];
+        [toolbarItem setImage: [NSImage imageNamed: @"save.tif"]];
+        [toolbarItem setTarget:myController];
+        [toolbarItem setAction:@selector(saveProfileButton:)];
+    }	
+	else if ([itemIdent isEqual: GoItemIdentifier]) {
+        [toolbarItem setLabel: @"Go"];
+        [toolbarItem setImage: [NSImage imageNamed: @"go.tif"]];
+        [toolbarItem setTarget:myController];
+        [toolbarItem setAction:@selector(syncButton:)];
+    }
+    else if ([itemIdent isEqual: RestartItemIdentifier]) {
+        [toolbarItem setLabel: @"Restart"];
+        [toolbarItem setImage: [NSImage imageNamed: @"restart.tif"]];
+        [toolbarItem setTarget:myController];
+        [toolbarItem setAction:@selector(restartButton:)];
+    }
+    else if ([itemIdent isEqual: RescanItemIdentifier]) {
+        [toolbarItem setLabel: @"Rescan"];
+        [toolbarItem setImage: [NSImage imageNamed: @"rescan.tif"]];
+        [toolbarItem setTarget:myController];
+        [toolbarItem setAction:@selector(rescan:)];
+    }
+    else if ([itemIdent isEqual: RToLItemIdentifier]) {
+        [toolbarItem setLabel: @"Right to left"];
+        [toolbarItem setImage: [NSImage imageNamed: @"left.tif"]];
+        [toolbarItem setTarget:tableView];
+        [toolbarItem setAction:@selector(copyRL:)];
+    }
+    else if ([itemIdent isEqual: MergeItemIdentifier]) {
+        [toolbarItem setLabel: @"Merge"];
+        [toolbarItem setImage: [NSImage imageNamed: @"merge.tif"]];
+        [toolbarItem setTarget:tableView];
+	[toolbarItem setAction:@selector(merge:)];
+    }
+	else if ([itemIdent isEqual: LToRItemIdentifier]) {
+        [toolbarItem setLabel: @"Left to right"];
+        [toolbarItem setImage: [NSImage imageNamed: @"right.tif"]];
+        [toolbarItem setTarget:tableView];
+        [toolbarItem setAction:@selector(copyLR:)];
+	}
+	else if ([itemIdent isEqual: SkipItemIdentifier]) {
+        [toolbarItem setLabel: @"Skip"];
+        [toolbarItem setImage: [NSImage imageNamed: @"skip.tif"]];
+        [toolbarItem setTarget:tableView];
+        [toolbarItem setAction:@selector(leaveAlone:)];
+	}
+	else if ([itemIdent isEqual: DiffItemIdentifier]) {
+        [toolbarItem setLabel: @"Diff"];
+        [toolbarItem setImage: [NSImage imageNamed: @"diff.tif"]];
+        [toolbarItem setTarget:tableView];
+        [toolbarItem setAction:@selector(showDiff:)];
+	}
+	else if ([itemIdent isEqual: TableModeIdentifier]) {
+		[toolbarItem setLabel:@"Layout"];
+		[toolbarItem setToolTip:@"Switch table nesting"];
+		[tableModeView setHidden:NO];	
+		[toolbarItem setView:tableModeView];
+		//[toolbarItem setMinSize:NSMakeSize(NSWidth([tableModeView frame]),NSHeight([tableModeView frame])+10)];
+		//[toolbarItem setMaxSize:NSMakeSize(NSWidth([tableModeView frame]),NSHeight([tableModeView frame])+10)];
+	}
+
+	return toolbarItem;
+}
+
+- (NSArray *) itemIdentifiersForView: (NSString *) whichView {
+    if ([whichView isEqual: @"chooseProfileView"]) {
+	    return [NSArray arrayWithObjects:   QuitItemIdentifier, NewItemIdentifier, OpenItemIdentifier, nil];
+	}
+	else if ([whichView isEqual: @"preferencesView"]) {
+		return [NSArray arrayWithObjects:   QuitItemIdentifier, SaveItemIdentifier, CancelItemIdentifier, nil];
+	}
+	else if ([whichView isEqual: @"ConnectingView"]) {
+		return [NSArray arrayWithObjects:   QuitItemIdentifier, nil];
+	}
+	else if ([whichView isEqual: @"updatesView"]) {
+		return [NSArray arrayWithObjects:   QuitItemIdentifier,
+			RestartItemIdentifier, 
+			NSToolbarSeparatorItemIdentifier,
+			GoItemIdentifier,
+			RescanItemIdentifier,
+			NSToolbarSeparatorItemIdentifier,
+			RToLItemIdentifier, MergeItemIdentifier, LToRItemIdentifier, 
+			SkipItemIdentifier, NSToolbarSeparatorItemIdentifier,
+			DiffItemIdentifier, 
+			TableModeIdentifier, nil];
+	}
+	else {
+		return [NSArray arrayWithObjects: QuitItemIdentifier, Nil];
+	}
+}
+
+- (NSArray *) toolbarDefaultItemIdentifiers: (NSToolbar *) toolbar {
+    return [NSArray arrayWithObjects:   QuitItemIdentifier, NewItemIdentifier, OpenItemIdentifier, nil];
+}
+
+- (NSArray *) toolbarAllowedItemIdentifiers: (NSToolbar *) toolbar {
+    return [NSArray arrayWithObjects:   QuitItemIdentifier, OpenItemIdentifier, NewItemIdentifier, 
+	    CancelItemIdentifier, SaveItemIdentifier,
+	    GoItemIdentifier, RestartItemIdentifier, RescanItemIdentifier,
+	    RToLItemIdentifier, MergeItemIdentifier, LToRItemIdentifier, 
+	    SkipItemIdentifier, DiffItemIdentifier,
+	    NSToolbarSeparatorItemIdentifier, nil];
+}
+
+- (void) setView: (NSString *) whichView {
+	if ([whichView isEqual:currentView]) return;
+
+	currentView = whichView;
+
+	int i;
+	NSArray *identifiers;
+	NSString *oldIdentifier;
+	NSString *newIdentifier;
+	
+	identifiers=[self itemIdentifiersForView:whichView];
+	for (i=0; i<[identifiers count]; i++) {
+		newIdentifier = [identifiers objectAtIndex:i];
+		if (i<[[self items] count]) {
+			oldIdentifier = [[[self items] objectAtIndex:i] itemIdentifier];
+			if ([newIdentifier isEqual: oldIdentifier] ) {
+				[[[self items] objectAtIndex:i] setEnabled:YES];
+			}
+			else {
+				[self removeItemAtIndex:i];
+				[self insertItemWithItemIdentifier:newIdentifier atIndex:i];
+			}
+		}
+		else {
+			[self insertItemWithItemIdentifier:newIdentifier atIndex:i];
+		}
+	}
+	while ([[self items] count] > [identifiers count]) {
+		[self removeItemAtIndex:[identifiers count]];
+	}
+}
+
+ at end

Added: trunk/src/uimacnew09/cltool.c
===================================================================
--- trunk/src/uimacnew09/cltool.c	                        (rev 0)
+++ trunk/src/uimacnew09/cltool.c	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,67 @@
+/* cltool.c
+
+   This is a command-line tool for Mac OS X that looks up the unison
+   application, where ever it has been installed, and runs it.  This
+   is intended to be installed in a standard place (e.g.,
+   /usr/bin/unison) to make it easy to invoke unison as a server, or
+   to use unison from the command line when it has been installed with
+   a GUI.
+
+ */
+
+#import <CoreServices/CoreServices.h>
+#import <ApplicationServices/ApplicationServices.h>
+#include <stdio.h>
+
+#define BUFSIZE 1024
+#define EXECPATH "/Contents/MacOS/Unison"
+
+int main(int argc, char **argv) {
+
+  /* Look up the application by its bundle identifier, which is given
+     in the Info.plist file.  This will continue to work even if the
+     user changes the name of the application, unlike
+     fullPathForApplication. */
+
+  FSRef fsref;
+  OSStatus status;
+  int len;
+  char buf[BUFSIZE];
+
+  status = LSFindApplicationForInfo(kLSUnknownCreator,CFSTR("edu.upenn.cis.Unison"),NULL,&fsref,NULL);
+  if (status) {
+    if (status == kLSApplicationNotFoundErr) {
+      fprintf(stderr,"Error: can't find the Unison application using the Launch Services database.\n");
+      fprintf(stderr,"Try launching Unison from the Finder, and then try this again.\n",status);
+    }
+    else fprintf(stderr,"Error: can't find Unison application (%d).\n",status);
+    exit(1);
+  }
+
+  status = FSRefMakePath(&fsref,(UInt8 *)buf,BUFSIZE);
+  if (status) {
+    fprintf(stderr,"Error: problem building path to Unison application (%d).\n",status);
+    exit(1);
+  }
+
+  len = strlen(buf);
+  if (len + strlen(EXECPATH) + 1 > BUFSIZE) {
+    fprintf(stderr,"Error: path to Unison application exceeds internal buffer size (%d).\n",BUFSIZE);
+    exit(1);
+  }
+  strcat(buf,EXECPATH);
+
+  /* It's important to pass the absolute path on to the GUI,
+     that's how it knows where to find the bundle, e.g., the
+     Info.plist file. */
+  argv[0] = buf;
+
+  // printf("The Unison executable is at %s\n",argv[0]);
+  // printf("Running...\n");
+
+  execv(argv[0],argv);
+
+  /* If we get here the execv has failed; print an error message to stderr */
+  perror("unison");
+  exit(1);
+}

Added: trunk/src/uimacnew09/main.m
===================================================================
--- trunk/src/uimacnew09/main.m	                        (rev 0)
+++ trunk/src/uimacnew09/main.m	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,57 @@
+//
+//  main.m
+//  uimac
+//
+//  Created by Trevor Jim on Sun Aug 17 2003.
+//  Copyright (c) 2003, see file COPYING for details.
+//
+
+#import <Cocoa/Cocoa.h>
+#import "Bridge.h"
+
+int main(int argc, const char *argv[])
+{
+  id pool = [[NSAutoreleasePool alloc] init];
+  int i;
+    
+  /* When you click-start or use the open command, the program is invoked with
+   a command-line arg of the form -psn_XXXXXXXXX.  The XXXXXXXX is a "process
+   serial number" and it seems to be important for Carbon programs.  We need
+   to get rid of it if it's there so the ocaml code won't exit.  Note, the
+   extra arg is not added if the binary is invoked directly from the command
+   line without using the open command. */
+  if (argc == 2 && strncmp(argv[1],"-psn_",5) == 0) {
+    argc--;
+    argv[1] = NULL;
+  }
+	
+	[Bridge startup:argv];
+	
+  /* Check for invocations that don't start up the gui */
+  for (i=1; i<argc; i++) {
+    if (!strcmp(argv[i],"-doc") ||
+        !strcmp(argv[i],"-help") ||
+        !strcmp(argv[i],"-version") ||
+        !strcmp(argv[i],"-server") ||
+        !strcmp(argv[i],"-socket") ||
+        !strcmp(argv[i],"-ui")) {
+      /* We install an autorelease pool here because there might be callbacks
+       from ocaml to objc code */
+			NSLog(@"Calling nonGuiStartup");
+      NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+			@try {
+				ocamlCall("x", "unisonNonGuiStartup");
+			} @catch (NSException *ex) {
+				NSLog(@"Uncaught exception: %@", [ex reason]);
+				exit(1);
+			}
+      [pool release];
+      /* If we get here without exiting first, the non GUI startup detected a
+       -ui graphic or command-line profile, and we should in fact start the GUI. */
+    }
+  }
+	
+	/* go! */
+  [pool release];
+  return NSApplicationMain(argc, argv);
+}

Added: trunk/src/uimacnew09/progressicons/ProgressBarAdvanced.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/progressicons/ProgressBarAdvanced.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/progressicons/ProgressBarBlue.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/progressicons/ProgressBarBlue.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/progressicons/ProgressBarEndAdvanced.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/progressicons/ProgressBarEndAdvanced.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/progressicons/ProgressBarEndBlue.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/progressicons/ProgressBarEndBlue.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/progressicons/ProgressBarEndGray.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/progressicons/ProgressBarEndGray.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/progressicons/ProgressBarEndGreen.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/progressicons/ProgressBarEndGreen.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/progressicons/ProgressBarEndWhite.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/progressicons/ProgressBarEndWhite.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/progressicons/ProgressBarGray.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/progressicons/ProgressBarGray.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/progressicons/ProgressBarGreen.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/progressicons/ProgressBarGreen.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/progressicons/ProgressBarLightGreen.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/progressicons/ProgressBarLightGreen.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/progressicons/ProgressBarWhite.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/progressicons/ProgressBarWhite.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/tableicons/Change_Absent.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/tableicons/Change_Absent.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/tableicons/Change_Created.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/tableicons/Change_Created.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/tableicons/Change_Deleted.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/tableicons/Change_Deleted.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/tableicons/Change_Modified.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/tableicons/Change_Modified.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/tableicons/Change_PropsChanged.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/tableicons/Change_PropsChanged.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/tableicons/Change_Unmodified.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/tableicons/Change_Unmodified.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/tableicons/Outline-Deep.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/tableicons/Outline-Deep.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/tableicons/Outline-Flat.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/tableicons/Outline-Flat.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/tableicons/Outline-Flattened.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/tableicons/Outline-Flattened.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/tableicons/table-conflict.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/tableicons/table-conflict.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/tableicons/table-error.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/tableicons/table-error.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/tableicons/table-left-blue.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/tableicons/table-left-blue.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/tableicons/table-left-green.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/tableicons/table-left-green.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/tableicons/table-merge.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/tableicons/table-merge.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/tableicons/table-mixed.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/tableicons/table-mixed.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/tableicons/table-right-blue.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/tableicons/table-right-blue.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/tableicons/table-right-green.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/tableicons/table-right-green.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/tableicons/table-skip.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/tableicons/table-skip.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/toolbar/add.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/toolbar/add.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/toolbar/diff.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/toolbar/diff.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/toolbar/go.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/toolbar/go.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/toolbar/left.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/toolbar/left.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/toolbar/merge.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/toolbar/merge.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/toolbar/quit.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/toolbar/quit.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/toolbar/rescan.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/toolbar/rescan.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/toolbar/restart.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/toolbar/restart.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/toolbar/right.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/toolbar/right.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/toolbar/save.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/toolbar/save.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/toolbar/skip.tif
===================================================================
(Binary files differ)


Property changes on: trunk/src/uimacnew09/toolbar/skip.tif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/src/uimacnew09/uimacnew.xcodeproj/project.pbxproj
===================================================================
--- trunk/src/uimacnew09/uimacnew.xcodeproj/project.pbxproj	                        (rev 0)
+++ trunk/src/uimacnew09/uimacnew.xcodeproj/project.pbxproj	2009-12-04 01:30:20 UTC (rev 390)
@@ -0,0 +1,752 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 42;
+	objects = {
+
+/* Begin PBXAggregateTarget section */
+		2A124E780DE1C48400524237 /* Create ExternalSettings */ = {
+			isa = PBXAggregateTarget;
+			buildConfigurationList = 2A124E7C0DE1C4A200524237 /* Build configuration list for PBXAggregateTarget "Create ExternalSettings" */;
+			buildPhases = (
+				2A124E7E0DE1C4BE00524237 /* Run Script (version, ocaml lib dir) */,
+			);
+			dependencies = (
+			);
+			name = "Create ExternalSettings";
+			productName = "Create ExternalSettings";
+		};
+/* End PBXAggregateTarget section */
+
+/* Begin PBXBuildFile section */
+		2A3C3F7D09922D4900E404E9 /* NotificationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A3C3F7B09922D4900E404E9 /* NotificationController.m */; };
+		2E282CC80D9AE2B000439D01 /* unison-blob.o in Frameworks */ = {isa = PBXBuildFile; fileRef = 2E282CC70D9AE2B000439D01 /* unison-blob.o */; };
+		44042CB60BE4FC9B00A6BBB2 /* ProgressCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 44042CB40BE4FC9B00A6BBB2 /* ProgressCell.m */; };
+		44042D1B0BE52AED00A6BBB2 /* ProgressBarAdvanced.png in Resources */ = {isa = PBXBuildFile; fileRef = 44042D100BE52AED00A6BBB2 /* ProgressBarAdvanced.png */; };
+		44042D1C0BE52AEE00A6BBB2 /* ProgressBarBlue.png in Resources */ = {isa = PBXBuildFile; fileRef = 44042D110BE52AED00A6BBB2 /* ProgressBarBlue.png */; };
+		44042D1D0BE52AEE00A6BBB2 /* ProgressBarEndAdvanced.png in Resources */ = {isa = PBXBuildFile; fileRef = 44042D120BE52AED00A6BBB2 /* ProgressBarEndAdvanced.png */; };
+		44042D1E0BE52AEE00A6BBB2 /* ProgressBarEndBlue.png in Resources */ = {isa = PBXBuildFile; fileRef = 44042D130BE52AED00A6BBB2 /* ProgressBarEndBlue.png */; };
+		44042D1F0BE52AEE00A6BBB2 /* ProgressBarEndGray.png in Resources */ = {isa = PBXBuildFile; fileRef = 44042D140BE52AED00A6BBB2 /* ProgressBarEndGray.png */; };
+		44042D200BE52AEE00A6BBB2 /* ProgressBarEndGreen.png in Resources */ = {isa = PBXBuildFile; fileRef = 44042D150BE52AED00A6BBB2 /* ProgressBarEndGreen.png */; };
+		44042D210BE52AEE00A6BBB2 /* ProgressBarEndWhite.png in Resources */ = {isa = PBXBuildFile; fileRef = 44042D160BE52AED00A6BBB2 /* ProgressBarEndWhite.png */; };
+		44042D220BE52AEE00A6BBB2 /* ProgressBarGray.png in Resources */ = {isa = PBXBuildFile; fileRef = 44042D170BE52AED00A6BBB2 /* ProgressBarGray.png */; };
+		44042D230BE52AEE00A6BBB2 /* ProgressBarGreen.png in Resources */ = {isa = PBXBuildFile; fileRef = 44042D180BE52AED00A6BBB2 /* ProgressBarGreen.png */; };
+		44042D240BE52AEE00A6BBB2 /* ProgressBarLightGreen.png in Resources */ = {isa = PBXBuildFile; fileRef = 44042D190BE52AED00A6BBB2 /* ProgressBarLightGreen.png */; };
+		44042D250BE52AEE00A6BBB2 /* ProgressBarWhite.png in Resources */ = {isa = PBXBuildFile; fileRef = 44042D1A0BE52AED00A6BBB2 /* ProgressBarWhite.png */; };
+		440EEAF30C03EC3D00ACAAB0 /* Change_Created.png in Resources */ = {isa = PBXBuildFile; fileRef = 440EEAF20C03EC3D00ACAAB0 /* Change_Created.png */; };
+		440EEAF90C03F0B800ACAAB0 /* Change_Deleted.png in Resources */ = {isa = PBXBuildFile; fileRef = 440EEAF60C03F0B800ACAAB0 /* Change_Deleted.png */; };
+		440EEAFA0C03F0B800ACAAB0 /* Change_Modified.png in Resources */ = {isa = PBXBuildFile; fileRef = 440EEAF70C03F0B800ACAAB0 /* Change_Modified.png */; };
+		440EEAFB0C03F0B800ACAAB0 /* Change_PropsChanged.png in Resources */ = {isa = PBXBuildFile; fileRef = 440EEAF80C03F0B800ACAAB0 /* Change_PropsChanged.png */; };
+		445A291B0BFA5B3300E4E641 /* Outline-Deep.png in Resources */ = {isa = PBXBuildFile; fileRef = 445A291A0BFA5B3300E4E641 /* Outline-Deep.png */; };
+		445A29270BFA5C1200E4E641 /* Outline-Flat.png in Resources */ = {isa = PBXBuildFile; fileRef = 445A29260BFA5C1200E4E641 /* Outline-Flat.png */; };
+		445A29290BFA5C1B00E4E641 /* Outline-Flattened.png in Resources */ = {isa = PBXBuildFile; fileRef = 445A29280BFA5C1B00E4E641 /* Outline-Flattened.png */; };
+		445A2A5E0BFAB6C300E4E641 /* ImageAndTextCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 445A2A5D0BFAB6C300E4E641 /* ImageAndTextCell.m */; };
+		449F03E10BE00DE9003F15C8 /* Bridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 449F03DF0BE00DE9003F15C8 /* Bridge.m */; };
+		44A794A10BE16C380069680C /* ExceptionHandling.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 44A794A00BE16C380069680C /* ExceptionHandling.framework */; };
+		44A797F40BE3F9B70069680C /* table-mixed.tif in Resources */ = {isa = PBXBuildFile; fileRef = 44A797F10BE3F9B70069680C /* table-mixed.tif */; };
+		44F472B10C0DB735006428EF /* Change_Absent.png in Resources */ = {isa = PBXBuildFile; fileRef = 44F472AF0C0DB735006428EF /* Change_Absent.png */; };
+		44F472B20C0DB735006428EF /* Change_Unmodified.png in Resources */ = {isa = PBXBuildFile; fileRef = 44F472B00C0DB735006428EF /* Change_Unmodified.png */; };
+		69C625E70664EC3300B3C46A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
+		69C625E80664EC3300B3C46A /* Unison.icns in Resources */ = {isa = PBXBuildFile; fileRef = 69C625CA0664E94E00B3C46A /* Unison.icns */; };
+		69C625EA0664EC3300B3C46A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
+		69C625EB0664EC3300B3C46A /* MyController.m in Sources */ = {isa = PBXBuildFile; fileRef = 69660DC704F08CC100CF23A4 /* MyController.m */; };
+		69C625EC0664EC3300B3C46A /* ProfileController.m in Sources */ = {isa = PBXBuildFile; fileRef = 690F564504F11EC300CF23A4 /* ProfileController.m */; };
+		69C625ED0664EC3300B3C46A /* ReconItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 69D3C6F904F1CC3700CF23A4 /* ReconItem.m */; };
+		69C625EE0664EC3300B3C46A /* ReconTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 69BA7DA904FD695200CF23A4 /* ReconTableView.m */; };
+		69C625EF0664EC3300B3C46A /* PreferencesController.m in Sources */ = {isa = PBXBuildFile; fileRef = 697985CE050CFA2D00CF23A4 /* PreferencesController.m */; };
+		69C625F00664EC3300B3C46A /* ProfileTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 691CE181051BB44A00CF23A4 /* ProfileTableView.m */; };
+		69C625F20664EC3300B3C46A /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
+		69E407BA07EB95AA00D37AA1 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 69E407B907EB95AA00D37AA1 /* Security.framework */; };
+		B518071C09D6652100B1B21F /* add.tif in Resources */ = {isa = PBXBuildFile; fileRef = B518071209D6652100B1B21F /* add.tif */; };
+		B518071D09D6652100B1B21F /* diff.tif in Resources */ = {isa = PBXBuildFile; fileRef = B518071309D6652100B1B21F /* diff.tif */; };
+		B518071E09D6652100B1B21F /* go.tif in Resources */ = {isa = PBXBuildFile; fileRef = B518071409D6652100B1B21F /* go.tif */; };
+		B518071F09D6652100B1B21F /* left.tif in Resources */ = {isa = PBXBuildFile; fileRef = B518071509D6652100B1B21F /* left.tif */; };
+		B518072009D6652100B1B21F /* merge.tif in Resources */ = {isa = PBXBuildFile; fileRef = B518071609D6652100B1B21F /* merge.tif */; };
+		B518072109D6652100B1B21F /* quit.tif in Resources */ = {isa = PBXBuildFile; fileRef = B518071709D6652100B1B21F /* quit.tif */; };
+		B518072209D6652100B1B21F /* restart.tif in Resources */ = {isa = PBXBuildFile; fileRef = B518071809D6652100B1B21F /* restart.tif */; };
+		B518072309D6652100B1B21F /* right.tif in Resources */ = {isa = PBXBuildFile; fileRef = B518071909D6652100B1B21F /* right.tif */; };
+		B518072409D6652100B1B21F /* save.tif in Resources */ = {isa = PBXBuildFile; fileRef = B518071A09D6652100B1B21F /* save.tif */; };
+		B518072509D6652100B1B21F /* skip.tif in Resources */ = {isa = PBXBuildFile; fileRef = B518071B09D6652100B1B21F /* skip.tif */; };
+		B554004109C4E5AA0089E1C3 /* UnisonToolbar.m in Sources */ = {isa = PBXBuildFile; fileRef = B554004009C4E5AA0089E1C3 /* UnisonToolbar.m */; };
+		B5B44C1909DF61A4000DC7AF /* table-conflict.tif in Resources */ = {isa = PBXBuildFile; fileRef = B5B44C1109DF61A4000DC7AF /* table-conflict.tif */; };
+		B5B44C1A09DF61A4000DC7AF /* table-error.tif in Resources */ = {isa = PBXBuildFile; fileRef = B5B44C1209DF61A4000DC7AF /* table-error.tif */; };
+		B5B44C1B09DF61A4000DC7AF /* table-left-blue.tif in Resources */ = {isa = PBXBuildFile; fileRef = B5B44C1309DF61A4000DC7AF /* table-left-blue.tif */; };
+		B5B44C1C09DF61A4000DC7AF /* table-left-green.tif in Resources */ = {isa = PBXBuildFile; fileRef = B5B44C1409DF61A4000DC7AF /* table-left-green.tif */; };
+		B5B44C1D09DF61A4000DC7AF /* table-merge.tif in Resources */ = {isa = PBXBuildFile; fileRef = B5B44C1509DF61A4000DC7AF /* table-merge.tif */; };
+		B5B44C1E09DF61A4000DC7AF /* table-right-blue.tif in Resources */ = {isa = PBXBuildFile; fileRef = B5B44C1609DF61A4000DC7AF /* table-right-blue.tif */; };
+		B5B44C1F09DF61A4000DC7AF /* table-right-green.tif in Resources */ = {isa = PBXBuildFile; fileRef = B5B44C1709DF61A4000DC7AF /* table-right-green.tif */; };
+		B5B44C2009DF61A4000DC7AF /* table-skip.tif in Resources */ = {isa = PBXBuildFile; fileRef = B5B44C1809DF61A4000DC7AF /* table-skip.tif */; };
+		B5E03B3909E38B9E0058C7B9 /* rescan.tif in Resources */ = {isa = PBXBuildFile; fileRef = B5E03B3809E38B9E0058C7B9 /* rescan.tif */; };
+		DE2444D610C294EA007E1546 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = DE2444D410C294EA007E1546 /* MainMenu.xib */; };
+		DE82ADD210C31BAE0093B61F /* BWToolkitFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE82ADD110C31BAE0093B61F /* BWToolkitFramework.framework */; };
+		DE82ADDB10C31BBC0093B61F /* BWToolkitFramework.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE82ADD110C31BAE0093B61F /* BWToolkitFramework.framework */; };
+		DE931F5F10C3D78B00BD4167 /* Growl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE931F5E10C3D78B00BD4167 /* Growl.framework */; };
+		DE931F6210C3D78F00BD4167 /* Growl.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE931F5E10C3D78B00BD4167 /* Growl.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+		2A124E7F0DE1C4E400524237 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 2A124E780DE1C48400524237;
+			remoteInfo = "Create ExternalSettings";
+		};
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+		2A3C3F3709922AA600E404E9 /* CopyFiles */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 2147483647;
+			dstPath = "";
+			dstSubfolderSpec = 10;
+			files = (
+				DE931F6210C3D78F00BD4167 /* Growl.framework in CopyFiles */,
+				DE82ADDB10C31BBC0093B61F /* BWToolkitFramework.framework in CopyFiles */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+		089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
+		29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+		2A3C3F7A09922D4900E404E9 /* NotificationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NotificationController.h; sourceTree = "<group>"; };
+		2A3C3F7B09922D4900E404E9 /* NotificationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NotificationController.m; sourceTree = "<group>"; };
+		2E282CC70D9AE2B000439D01 /* unison-blob.o */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.objfile"; name = "unison-blob.o"; path = "../unison-blob.o"; sourceTree = SOURCE_ROOT; };
+		2E282CCC0D9AE2E800439D01 /* ExternalSettings.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ExternalSettings.xcconfig; sourceTree = "<group>"; };
+		44042CB30BE4FC9B00A6BBB2 /* ProgressCell.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ProgressCell.h; sourceTree = "<group>"; };
+		44042CB40BE4FC9B00A6BBB2 /* ProgressCell.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = ProgressCell.m; sourceTree = "<group>"; };
+		44042D100BE52AED00A6BBB2 /* ProgressBarAdvanced.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ProgressBarAdvanced.png; path = progressicons/ProgressBarAdvanced.png; sourceTree = "<group>"; };
+		44042D110BE52AED00A6BBB2 /* ProgressBarBlue.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ProgressBarBlue.png; path = progressicons/ProgressBarBlue.png; sourceTree = "<group>"; };
+		44042D120BE52AED00A6BBB2 /* ProgressBarEndAdvanced.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ProgressBarEndAdvanced.png; path = progressicons/ProgressBarEndAdvanced.png; sourceTree = "<group>"; };
+		44042D130BE52AED00A6BBB2 /* ProgressBarEndBlue.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ProgressBarEndBlue.png; path = progressicons/ProgressBarEndBlue.png; sourceTree = "<group>"; };
+		44042D140BE52AED00A6BBB2 /* ProgressBarEndGray.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ProgressBarEndGray.png; path = progressicons/ProgressBarEndGray.png; sourceTree = "<group>"; };
+		44042D150BE52AED00A6BBB2 /* ProgressBarEndGreen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ProgressBarEndGreen.png; path = progressicons/ProgressBarEndGreen.png; sourceTree = "<group>"; };
+		44042D160BE52AED00A6BBB2 /* ProgressBarEndWhite.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ProgressBarEndWhite.png; path = progressicons/ProgressBarEndWhite.png; sourceTree = "<group>"; };
+		44042D170BE52AED00A6BBB2 /* ProgressBarGray.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ProgressBarGray.png; path = progressicons/ProgressBarGray.png; sourceTree = "<group>"; };
+		44042D180BE52AED00A6BBB2 /* ProgressBarGreen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ProgressBarGreen.png; path = progressicons/ProgressBarGreen.png; sourceTree = "<group>"; };
+		44042D190BE52AED00A6BBB2 /* ProgressBarLightGreen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ProgressBarLightGreen.png; path = progressicons/ProgressBarLightGreen.png; sourceTree = "<group>"; };
+		44042D1A0BE52AED00A6BBB2 /* ProgressBarWhite.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ProgressBarWhite.png; path = progressicons/ProgressBarWhite.png; sourceTree = "<group>"; };
+		440EEAF20C03EC3D00ACAAB0 /* Change_Created.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Change_Created.png; sourceTree = "<group>"; };
+		440EEAF60C03F0B800ACAAB0 /* Change_Deleted.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Change_Deleted.png; sourceTree = "<group>"; };
+		440EEAF70C03F0B800ACAAB0 /* Change_Modified.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Change_Modified.png; sourceTree = "<group>"; };
+		440EEAF80C03F0B800ACAAB0 /* Change_PropsChanged.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Change_PropsChanged.png; sourceTree = "<group>"; };
+		445A291A0BFA5B3300E4E641 /* Outline-Deep.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Outline-Deep.png"; sourceTree = "<group>"; };
+		445A29260BFA5C1200E4E641 /* Outline-Flat.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Outline-Flat.png"; sourceTree = "<group>"; };
+		445A29280BFA5C1B00E4E641 /* Outline-Flattened.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Outline-Flattened.png"; sourceTree = "<group>"; };
+		445A2A5B0BFAB6A100E4E641 /* ImageAndTextCell.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ImageAndTextCell.h; sourceTree = "<group>"; };
+		445A2A5D0BFAB6C300E4E641 /* ImageAndTextCell.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = ImageAndTextCell.m; sourceTree = "<group>"; };
+		449F03DE0BE00DE9003F15C8 /* Bridge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Bridge.h; sourceTree = "<group>"; };
+		449F03DF0BE00DE9003F15C8 /* Bridge.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Bridge.m; sourceTree = "<group>"; };
+		44A794A00BE16C380069680C /* ExceptionHandling.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ExceptionHandling.framework; path = /System/Library/Frameworks/ExceptionHandling.framework; sourceTree = "<absolute>"; };
+		44A797F10BE3F9B70069680C /* table-mixed.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "table-mixed.tif"; sourceTree = "<group>"; };
+		44F472AF0C0DB735006428EF /* Change_Absent.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Change_Absent.png; sourceTree = "<group>"; };
+		44F472B00C0DB735006428EF /* Change_Unmodified.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Change_Unmodified.png; sourceTree = "<group>"; };
+		690F564404F11EC300CF23A4 /* ProfileController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ProfileController.h; sourceTree = "<group>"; };
+		690F564504F11EC300CF23A4 /* ProfileController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = ProfileController.m; sourceTree = "<group>"; };
+		691CE180051BB44A00CF23A4 /* ProfileTableView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ProfileTableView.h; sourceTree = "<group>"; };
+		691CE181051BB44A00CF23A4 /* ProfileTableView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = ProfileTableView.m; sourceTree = "<group>"; };
+		69660DC604F08CC100CF23A4 /* MyController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MyController.h; sourceTree = "<group>"; };
+		69660DC704F08CC100CF23A4 /* MyController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = MyController.m; sourceTree = "<group>"; };
+		697985CD050CFA2D00CF23A4 /* PreferencesController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PreferencesController.h; sourceTree = "<group>"; };
+		697985CE050CFA2D00CF23A4 /* PreferencesController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = PreferencesController.m; sourceTree = "<group>"; };
+		69BA7DA804FD695200CF23A4 /* ReconTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReconTableView.h; sourceTree = "<group>"; };
+		69BA7DA904FD695200CF23A4 /* ReconTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReconTableView.m; sourceTree = "<group>"; };
+		69C625CA0664E94E00B3C46A /* Unison.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = Unison.icns; sourceTree = "<group>"; };
+		69C625F40664EC3300B3C46A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+		69C625F50664EC3300B3C46A /* Unison.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Unison.app; sourceTree = BUILT_PRODUCTS_DIR; };
+		69D3C6F904F1CC3700CF23A4 /* ReconItem.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = ReconItem.m; sourceTree = "<group>"; };
+		69D3C6FA04F1CC3700CF23A4 /* ReconItem.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ReconItem.h; sourceTree = "<group>"; };
+		69E407B907EB95AA00D37AA1 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = /System/Library/Frameworks/Security.framework; sourceTree = "<absolute>"; };
+		B518071209D6652100B1B21F /* add.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = add.tif; sourceTree = "<group>"; };
+		B518071309D6652100B1B21F /* diff.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = diff.tif; sourceTree = "<group>"; };
+		B518071409D6652100B1B21F /* go.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = go.tif; sourceTree = "<group>"; };
+		B518071509D6652100B1B21F /* left.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = left.tif; sourceTree = "<group>"; };
+		B518071609D6652100B1B21F /* merge.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = merge.tif; sourceTree = "<group>"; };
+		B518071709D6652100B1B21F /* quit.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = quit.tif; sourceTree = "<group>"; };
+		B518071809D6652100B1B21F /* restart.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = restart.tif; sourceTree = "<group>"; };
+		B518071909D6652100B1B21F /* right.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = right.tif; sourceTree = "<group>"; };
+		B518071A09D6652100B1B21F /* save.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = save.tif; sourceTree = "<group>"; };
+		B518071B09D6652100B1B21F /* skip.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = skip.tif; sourceTree = "<group>"; };
+		B554003E09C4E5A00089E1C3 /* UnisonToolbar.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = UnisonToolbar.h; sourceTree = "<group>"; };
+		B554004009C4E5AA0089E1C3 /* UnisonToolbar.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = UnisonToolbar.m; sourceTree = "<group>"; };
+		B5B44C1109DF61A4000DC7AF /* table-conflict.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "table-conflict.tif"; sourceTree = "<group>"; };
+		B5B44C1209DF61A4000DC7AF /* table-error.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "table-error.tif"; sourceTree = "<group>"; };
+		B5B44C1309DF61A4000DC7AF /* table-left-blue.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "table-left-blue.tif"; sourceTree = "<group>"; };
+		B5B44C1409DF61A4000DC7AF /* table-left-green.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "table-left-green.tif"; sourceTree = "<group>"; };
+		B5B44C1509DF61A4000DC7AF /* table-merge.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "table-merge.tif"; sourceTree = "<group>"; };
+		B5B44C1609DF61A4000DC7AF /* table-right-blue.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "table-right-blue.tif"; sourceTree = "<group>"; };
+		B5B44C1709DF61A4000DC7AF /* table-right-green.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "table-right-green.tif"; sourceTree = "<group>"; };
+		B5B44C1809DF61A4000DC7AF /* table-skip.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "table-skip.tif"; sourceTree = "<group>"; };
+		B5E03B3809E38B9E0058C7B9 /* rescan.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = rescan.tif; sourceTree = "<group>"; };
+		DE2444D510C294EA007E1546 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = "<group>"; };
+		DE82ADD110C31BAE0093B61F /* BWToolkitFramework.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BWToolkitFramework.framework; path = Frameworks/BWToolkitFramework.framework; sourceTree = "<group>"; };
+		DE931F5E10C3D78B00BD4167 /* Growl.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Growl.framework; path = Frameworks/Growl.framework; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		69C625F10664EC3300B3C46A /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				69C625F20664EC3300B3C46A /* Cocoa.framework in Frameworks */,
+				69E407BA07EB95AA00D37AA1 /* Security.framework in Frameworks */,
+				44A794A10BE16C380069680C /* ExceptionHandling.framework in Frameworks */,
+				2E282CC80D9AE2B000439D01 /* unison-blob.o in Frameworks */,
+				DE82ADD210C31BAE0093B61F /* BWToolkitFramework.framework in Frameworks */,
+				DE931F5F10C3D78B00BD4167 /* Growl.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		19C28FACFE9D520D11CA2CBB /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				69C625F50664EC3300B3C46A /* Unison.app */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		29B97314FDCFA39411CA2CEA /* uimac */ = {
+			isa = PBXGroup;
+			children = (
+				44042D0F0BE52AD700A6BBB2 /* progressicons */,
+				B5B44C1009DF61A4000DC7AF /* tableicons */,
+				B518071109D6652000B1B21F /* toolbar */,
+				44A795C90BE2B91B0069680C /* Classes */,
+				29B97315FDCFA39411CA2CEA /* Other Sources */,
+				29B97317FDCFA39411CA2CEA /* Resources */,
+				29B97323FDCFA39411CA2CEA /* Frameworks */,
+				19C28FACFE9D520D11CA2CBB /* Products */,
+				69C625F40664EC3300B3C46A /* Info.plist */,
+				2E282CCC0D9AE2E800439D01 /* ExternalSettings.xcconfig */,
+				2E282CB80D9AE16300439D01 /* External objects */,
+			);
+			name = uimac;
+			sourceTree = "<group>";
+		};
+		29B97315FDCFA39411CA2CEA /* Other Sources */ = {
+			isa = PBXGroup;
+			children = (
+				29B97316FDCFA39411CA2CEA /* main.m */,
+			);
+			name = "Other Sources";
+			sourceTree = "<group>";
+		};
+		29B97317FDCFA39411CA2CEA /* Resources */ = {
+			isa = PBXGroup;
+			children = (
+				DE2444D410C294EA007E1546 /* MainMenu.xib */,
+				089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
+				69C625CA0664E94E00B3C46A /* Unison.icns */,
+			);
+			name = Resources;
+			sourceTree = "<group>";
+		};
+		29B97323FDCFA39411CA2CEA /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
+				44A794A00BE16C380069680C /* ExceptionHandling.framework */,
+				69E407B907EB95AA00D37AA1 /* Security.framework */,
+				DE931F5E10C3D78B00BD4167 /* Growl.framework */,
+				DE82ADD110C31BAE0093B61F /* BWToolkitFramework.framework */,
+			);
+			name = Frameworks;
+			sourceTree = "<group>";
+		};
+		2E282CB80D9AE16300439D01 /* External objects */ = {
+			isa = PBXGroup;
+			children = (
+				2E282CC70D9AE2B000439D01 /* unison-blob.o */,
+			);
+			name = "External objects";
+			sourceTree = "<group>";
+		};
+		44042D0F0BE52AD700A6BBB2 /* progressicons */ = {
+			isa = PBXGroup;
+			children = (
+				44042D100BE52AED00A6BBB2 /* ProgressBarAdvanced.png */,
+				44042D110BE52AED00A6BBB2 /* ProgressBarBlue.png */,
+				44042D120BE52AED00A6BBB2 /* ProgressBarEndAdvanced.png */,
+				44042D130BE52AED00A6BBB2 /* ProgressBarEndBlue.png */,
+				44042D140BE52AED00A6BBB2 /* ProgressBarEndGray.png */,
+				44042D150BE52AED00A6BBB2 /* ProgressBarEndGreen.png */,
+				44042D160BE52AED00A6BBB2 /* ProgressBarEndWhite.png */,
+				44042D170BE52AED00A6BBB2 /* ProgressBarGray.png */,
+				44042D180BE52AED00A6BBB2 /* ProgressBarGreen.png */,
+				44042D190BE52AED00A6BBB2 /* ProgressBarLightGreen.png */,
+				44042D1A0BE52AED00A6BBB2 /* ProgressBarWhite.png */,
+			);
+			name = progressicons;
+			sourceTree = "<group>";
+		};
+		44A795C90BE2B91B0069680C /* Classes */ = {
+			isa = PBXGroup;
+			children = (
+				69660DC604F08CC100CF23A4 /* MyController.h */,
+				69660DC704F08CC100CF23A4 /* MyController.m */,
+				2A3C3F7A09922D4900E404E9 /* NotificationController.h */,
+				2A3C3F7B09922D4900E404E9 /* NotificationController.m */,
+				69BA7DA804FD695200CF23A4 /* ReconTableView.h */,
+				69BA7DA904FD695200CF23A4 /* ReconTableView.m */,
+				69D3C6FA04F1CC3700CF23A4 /* ReconItem.h */,
+				69D3C6F904F1CC3700CF23A4 /* ReconItem.m */,
+				445A2A5B0BFAB6A100E4E641 /* ImageAndTextCell.h */,
+				445A2A5D0BFAB6C300E4E641 /* ImageAndTextCell.m */,
+				44042CB30BE4FC9B00A6BBB2 /* ProgressCell.h */,
+				44042CB40BE4FC9B00A6BBB2 /* ProgressCell.m */,
+				690F564404F11EC300CF23A4 /* ProfileController.h */,
+				690F564504F11EC300CF23A4 /* ProfileController.m */,
+				697985CD050CFA2D00CF23A4 /* PreferencesController.h */,
+				697985CE050CFA2D00CF23A4 /* PreferencesController.m */,
+				691CE180051BB44A00CF23A4 /* ProfileTableView.h */,
+				691CE181051BB44A00CF23A4 /* ProfileTableView.m */,
+				B554003E09C4E5A00089E1C3 /* UnisonToolbar.h */,
+				B554004009C4E5AA0089E1C3 /* UnisonToolbar.m */,
+				449F03DE0BE00DE9003F15C8 /* Bridge.h */,
+				449F03DF0BE00DE9003F15C8 /* Bridge.m */,
+			);
+			name = Classes;
+			sourceTree = "<group>";
+		};
+		B518071109D6652000B1B21F /* toolbar */ = {
+			isa = PBXGroup;
+			children = (
+				B5E03B3809E38B9E0058C7B9 /* rescan.tif */,
+				B518071209D6652100B1B21F /* add.tif */,
+				B518071309D6652100B1B21F /* diff.tif */,
+				B518071409D6652100B1B21F /* go.tif */,
+				B518071509D6652100B1B21F /* left.tif */,
+				B518071609D6652100B1B21F /* merge.tif */,
+				B518071709D6652100B1B21F /* quit.tif */,
+				B518071809D6652100B1B21F /* restart.tif */,
+				B518071909D6652100B1B21F /* right.tif */,
+				B518071A09D6652100B1B21F /* save.tif */,
+				B518071B09D6652100B1B21F /* skip.tif */,
+			);
+			path = toolbar;
+			sourceTree = "<group>";
+		};
+		B5B44C1009DF61A4000DC7AF /* tableicons */ = {
+			isa = PBXGroup;
+			children = (
+				44F472AF0C0DB735006428EF /* Change_Absent.png */,
+				44F472B00C0DB735006428EF /* Change_Unmodified.png */,
+				440EEAF60C03F0B800ACAAB0 /* Change_Deleted.png */,
+				440EEAF70C03F0B800ACAAB0 /* Change_Modified.png */,
+				440EEAF80C03F0B800ACAAB0 /* Change_PropsChanged.png */,
+				440EEAF20C03EC3D00ACAAB0 /* Change_Created.png */,
+				44A797F10BE3F9B70069680C /* table-mixed.tif */,
+				B5B44C1109DF61A4000DC7AF /* table-conflict.tif */,
+				B5B44C1209DF61A4000DC7AF /* table-error.tif */,
+				B5B44C1309DF61A4000DC7AF /* table-left-blue.tif */,
+				B5B44C1409DF61A4000DC7AF /* table-left-green.tif */,
+				B5B44C1509DF61A4000DC7AF /* table-merge.tif */,
+				B5B44C1609DF61A4000DC7AF /* table-right-blue.tif */,
+				B5B44C1709DF61A4000DC7AF /* table-right-green.tif */,
+				B5B44C1809DF61A4000DC7AF /* table-skip.tif */,
+				445A291A0BFA5B3300E4E641 /* Outline-Deep.png */,
+				445A29260BFA5C1200E4E641 /* Outline-Flat.png */,
+				445A29280BFA5C1B00E4E641 /* Outline-Flattened.png */,
+			);
+			path = tableicons;
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+		69C625DD0664EC3300B3C46A /* uimac */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 2A3C3F280992245300E404E9 /* Build configuration list for PBXNativeTarget "uimac" */;
+			buildPhases = (
+				2E282CBA0D9AE17300439D01 /* Run Script (make unison-blob.o) */,
+				69C625E50664EC3300B3C46A /* Resources */,
+				69C625E90664EC3300B3C46A /* Sources */,
+				69C625F10664EC3300B3C46A /* Frameworks */,
+				2A3C3F3709922AA600E404E9 /* CopyFiles */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				2A124E800DE1C4E400524237 /* PBXTargetDependency */,
+			);
+			name = uimac;
+			productInstallPath = "$(HOME)/Applications";
+			productName = uimac;
+			productReference = 69C625F50664EC3300B3C46A /* Unison.app */;
+			productType = "com.apple.product-type.application";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		29B97313FDCFA39411CA2CEA /* Project object */ = {
+			isa = PBXProject;
+			buildConfigurationList = 2A3C3F2C0992245300E404E9 /* Build configuration list for PBXProject "uimacnew" */;
+			compatibilityVersion = "Xcode 2.4";
+			hasScannedForEncodings = 1;
+			mainGroup = 29B97314FDCFA39411CA2CEA /* uimac */;
+			projectDirPath = "";
+			projectRoot = "";
+			targets = (
+				69C625DD0664EC3300B3C46A /* uimac */,
+				2A124E780DE1C48400524237 /* Create ExternalSettings */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+		69C625E50664EC3300B3C46A /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				69C625E70664EC3300B3C46A /* InfoPlist.strings in Resources */,
+				69C625E80664EC3300B3C46A /* Unison.icns in Resources */,
+				B518071C09D6652100B1B21F /* add.tif in Resources */,
+				B518071D09D6652100B1B21F /* diff.tif in Resources */,
+				B518071E09D6652100B1B21F /* go.tif in Resources */,
+				B518071F09D6652100B1B21F /* left.tif in Resources */,
+				B518072009D6652100B1B21F /* merge.tif in Resources */,
+				B518072109D6652100B1B21F /* quit.tif in Resources */,
+				B518072209D6652100B1B21F /* restart.tif in Resources */,
+				B518072309D6652100B1B21F /* right.tif in Resources */,
+				B518072409D6652100B1B21F /* save.tif in Resources */,
+				B518072509D6652100B1B21F /* skip.tif in Resources */,
+				B5B44C1909DF61A4000DC7AF /* table-conflict.tif in Resources */,
+				B5B44C1A09DF61A4000DC7AF /* table-error.tif in Resources */,
+				B5B44C1B09DF61A4000DC7AF /* table-left-blue.tif in Resources */,
+				B5B44C1C09DF61A4000DC7AF /* table-left-green.tif in Resources */,
+				B5B44C1D09DF61A4000DC7AF /* table-merge.tif in Resources */,
+				B5B44C1E09DF61A4000DC7AF /* table-right-blue.tif in Resources */,
+				B5B44C1F09DF61A4000DC7AF /* table-right-green.tif in Resources */,
+				B5B44C2009DF61A4000DC7AF /* table-skip.tif in Resources */,
+				B5E03B3909E38B9E0058C7B9 /* rescan.tif in Resources */,
+				44A797F40BE3F9B70069680C /* table-mixed.tif in Resources */,
+				44042D1B0BE52AED00A6BBB2 /* ProgressBarAdvanced.png in Resources */,
+				44042D1C0BE52AEE00A6BBB2 /* ProgressBarBlue.png in Resources */,
+				44042D1D0BE52AEE00A6BBB2 /* ProgressBarEndAdvanced.png in Resources */,
+				44042D1E0BE52AEE00A6BBB2 /* ProgressBarEndBlue.png in Resources */,
+				44042D1F0BE52AEE00A6BBB2 /* ProgressBarEndGray.png in Resources */,
+				44042D200BE52AEE00A6BBB2 /* ProgressBarEndGreen.png in Resources */,
+				44042D210BE52AEE00A6BBB2 /* ProgressBarEndWhite.png in Resources */,
+				44042D220BE52AEE00A6BBB2 /* ProgressBarGray.png in Resources */,
+				44042D230BE52AEE00A6BBB2 /* ProgressBarGreen.png in Resources */,
+				44042D240BE52AEE00A6BBB2 /* ProgressBarLightGreen.png in Resources */,
+				44042D250BE52AEE00A6BBB2 /* ProgressBarWhite.png in Resources */,
+				445A291B0BFA5B3300E4E641 /* Outline-Deep.png in Resources */,
+				445A29270BFA5C1200E4E641 /* Outline-Flat.png in Resources */,
+				445A29290BFA5C1B00E4E641 /* Outline-Flattened.png in Resources */,
+				440EEAF30C03EC3D00ACAAB0 /* Change_Created.png in Resources */,
+				440EEAF90C03F0B800ACAAB0 /* Change_Deleted.png in Resources */,
+				440EEAFA0C03F0B800ACAAB0 /* Change_Modified.png in Resources */,
+				440EEAFB0C03F0B800ACAAB0 /* Change_PropsChanged.png in Resources */,
+				44F472B10C0DB735006428EF /* Change_Absent.png in Resources */,
+				44F472B20C0DB735006428EF /* Change_Unmodified.png in Resources */,
+				DE2444D610C294EA007E1546 /* MainMenu.xib in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+		2A124E7E0DE1C4BE00524237 /* Run Script (version, ocaml lib dir) */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputPaths = (
+			);
+			name = "Run Script (version, ocaml lib dir)";
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "if [ -x /usr/libexec/path_helper ]; then\n  eval `/usr/libexec/path_helper -s`\nfi\nif [ ! -x ${PROJECT_DIR}/../Makefile.ProjectInfo ]; then\n  if [ ! -x ${PROJECT_DIR}/../mkProjectInfo ]; then\n    cd ${PROJECT_DIR}/..; ocamlc -o mkProjectInfo unix.cma str.cma mkProjectInfo.ml\n  fi\n  cd ${PROJECT_DIR}/..; ./mkProjectInfo > Makefile.ProjectInfo\nfi\nOCAMLLIBDIR=`ocamlc -v | tail -n -1 | sed -e 's/.* //g' | sed -e 's/\\\\\\/\\\\//g' | tr -d '\\r'`\nsource ${PROJECT_DIR}/../Makefile.ProjectInfo\necho MARKETING_VERSION = $VERSION > ${PROJECT_DIR}/ExternalSettings.xcconfig\necho OCAMLLIBDIR = $OCAMLLIBDIR >> ${PROJECT_DIR}/ExternalSettings.xcconfig";
+		};
+		2E282CBA0D9AE17300439D01 /* Run Script (make unison-blob.o) */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputPaths = (
+			);
+			name = "Run Script (make unison-blob.o)";
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "echo \"Building unison-blob.o...\"\nif [ -x /usr/libexec/path_helper ]; then\n  eval `/usr/libexec/path_helper -s`\nfi\ncd ${PROJECT_DIR}/..\nmake unison-blob.o\necho \"done\"";
+		};
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+		69C625E90664EC3300B3C46A /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				69C625EA0664EC3300B3C46A /* main.m in Sources */,
+				69C625EB0664EC3300B3C46A /* MyController.m in Sources */,
+				69C625EC0664EC3300B3C46A /* ProfileController.m in Sources */,
+				69C625ED0664EC3300B3C46A /* ReconItem.m in Sources */,
+				69C625EE0664EC3300B3C46A /* ReconTableView.m in Sources */,
+				69C625EF0664EC3300B3C46A /* PreferencesController.m in Sources */,
+				69C625F00664EC3300B3C46A /* ProfileTableView.m in Sources */,
+				2A3C3F7D09922D4900E404E9 /* NotificationController.m in Sources */,
+				B554004109C4E5AA0089E1C3 /* UnisonToolbar.m in Sources */,
+				449F03E10BE00DE9003F15C8 /* Bridge.m in Sources */,
+				44042CB60BE4FC9B00A6BBB2 /* ProgressCell.m in Sources */,
+				445A2A5E0BFAB6C300E4E641 /* ImageAndTextCell.m in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+		2A124E800DE1C4E400524237 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 2A124E780DE1C48400524237 /* Create ExternalSettings */;
+			targetProxy = 2A124E7F0DE1C4E400524237 /* PBXContainerItemProxy */;
+		};
+/* End PBXTargetDependency section */
+
+/* Begin PBXVariantGroup section */
+		089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
+			isa = PBXVariantGroup;
+			children = (
+				089C165DFE840E0CC02AAC07 /* English */,
+			);
+			name = InfoPlist.strings;
+			sourceTree = "<group>";
+		};
+		DE2444D410C294EA007E1546 /* MainMenu.xib */ = {
+			isa = PBXVariantGroup;
+			children = (
+				DE2444D510C294EA007E1546 /* English */,
+			);
+			name = MainMenu.xib;
+			sourceTree = "<group>";
+		};
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+		2A124E790DE1C48400524237 /* Development */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				COPY_PHASE_STRIP = NO;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				PRODUCT_NAME = "Create ExternalSettings";
+			};
+			name = Development;
+		};
+		2A124E7A0DE1C48400524237 /* Deployment */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				COPY_PHASE_STRIP = YES;
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				GCC_ENABLE_FIX_AND_CONTINUE = NO;
+				PRODUCT_NAME = "Create ExternalSettings";
+				ZERO_LINK = NO;
+			};
+			name = Deployment;
+		};
+		2A124E7B0DE1C48400524237 /* Default */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				PRODUCT_NAME = "Create ExternalSettings";
+			};
+			name = Default;
+		};
+		2A3C3F290992245300E404E9 /* Development */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				COPY_PHASE_STRIP = NO;
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(FRAMEWORK_SEARCH_PATHS)",
+					"$(SRCROOT)",
+					"$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
+				);
+				FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/Frameworks\"";
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_ENABLE_FIX_AND_CONTINUE = YES;
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				INFOPLIST_FILE = Info.plist;
+				INSTALL_PATH = "$(HOME)/Applications";
+				LIBRARY_SEARCH_PATHS = "";
+				NSZombieEnabled = YES;
+				OTHER_CFLAGS = "";
+				OTHER_LDFLAGS = (
+					"-L$(OCAMLLIBDIR)",
+					"-lunix",
+					"-lthreadsnat",
+					"-lstr",
+					"-lbigarray",
+					"-lasmrun",
+				);
+				PREBINDING = NO;
+				PRODUCT_NAME = Unison;
+				SECTORDER_FLAGS = "";
+				WARNING_CFLAGS = (
+					"-Wmost",
+					"-Wno-four-char-constants",
+					"-Wno-unknown-pragmas",
+				);
+				WRAPPER_EXTENSION = app;
+				ZERO_LINK = YES;
+			};
+			name = Development;
+		};
+		2A3C3F2A0992245300E404E9 /* Deployment */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				COPY_PHASE_STRIP = YES;
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(FRAMEWORK_SEARCH_PATHS)",
+					"$(SRCROOT)",
+					"$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
+				);
+				FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/Frameworks\"";
+				GCC_ENABLE_FIX_AND_CONTINUE = NO;
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;
+				INFOPLIST_FILE = Info.plist;
+				INSTALL_PATH = "$(HOME)/Applications";
+				LIBRARY_SEARCH_PATHS = "";
+				OTHER_CFLAGS = "";
+				OTHER_LDFLAGS = (
+					"-L$(OCAMLLIBDIR)",
+					"-lunix",
+					"-lthreadsnat",
+					"-lstr",
+					"-lbigarray",
+					"-lasmrun",
+				);
+				PREBINDING = NO;
+				PRODUCT_NAME = Unison;
+				SECTORDER_FLAGS = "";
+				WARNING_CFLAGS = (
+					"-Wmost",
+					"-Wno-four-char-constants",
+					"-Wno-unknown-pragmas",
+				);
+				WRAPPER_EXTENSION = app;
+				ZERO_LINK = NO;
+			};
+			name = Deployment;
+		};
+		2A3C3F2B0992245300E404E9 /* Default */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(FRAMEWORK_SEARCH_PATHS)",
+					"$(SRCROOT)",
+					"$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
+				);
+				FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/Frameworks\"";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				INFOPLIST_FILE = Info.plist;
+				INSTALL_PATH = "$(HOME)/Applications";
+				LIBRARY_SEARCH_PATHS = "";
+				OTHER_CFLAGS = "";
+				OTHER_LDFLAGS = (
+					"-L$(OCAMLLIBDIR)",
+					"-lunix",
+					"-lthreadsnat",
+					"-lstr",
+					"-lbigarray",
+					"-lasmrun",
+				);
+				PREBINDING = NO;
+				PRODUCT_NAME = Unison;
+				SECTORDER_FLAGS = "";
+				WARNING_CFLAGS = (
+					"-Wmost",
+					"-Wno-four-char-constants",
+					"-Wno-unknown-pragmas",
+				);
+				WRAPPER_EXTENSION = app;
+				ZERO_LINK = NO;
+			};
+			name = Default;
+		};
+		2A3C3F2D0992245300E404E9 /* Development */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 2E282CCC0D9AE2E800439D01 /* ExternalSettings.xcconfig */;
+			buildSettings = {
+				FRAMEWORK_SEARCH_PATHS = "Frameworks/**";
+				LIBRARY_SEARCH_PATHS = "";
+				SDKROOT = /Developer/SDKs/MacOSX10.5.sdk;
+				USER_HEADER_SEARCH_PATHS = $OCAMLLIBDIR;
+			};
+			name = Development;
+		};
+		2A3C3F2E0992245300E404E9 /* Deployment */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 2E282CCC0D9AE2E800439D01 /* ExternalSettings.xcconfig */;
+			buildSettings = {
+				FRAMEWORK_SEARCH_PATHS = "Frameworks/**";
+				LIBRARY_SEARCH_PATHS = "";
+				SDKROOT = /Developer/SDKs/MacOSX10.5.sdk;
+				USER_HEADER_SEARCH_PATHS = $OCAMLLIBDIR;
+			};
+			name = Deployment;
+		};
+		2A3C3F2F0992245300E404E9 /* Default */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 2E282CCC0D9AE2E800439D01 /* ExternalSettings.xcconfig */;
+			buildSettings = {
+				FRAMEWORK_SEARCH_PATHS = "Frameworks/**";
+				LIBRARY_SEARCH_PATHS = "";
+				SDKROOT = /Developer/SDKs/MacOSX10.5.sdk;
+				USER_HEADER_SEARCH_PATHS = $OCAMLLIBDIR;
+			};
+			name = Default;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		2A124E7C0DE1C4A200524237 /* Build configuration list for PBXAggregateTarget "Create ExternalSettings" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				2A124E790DE1C48400524237 /* Development */,
+				2A124E7A0DE1C48400524237 /* Deployment */,
+				2A124E7B0DE1C48400524237 /* Default */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Default;
+		};
+		2A3C3F280992245300E404E9 /* Build configuration list for PBXNativeTarget "uimac" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				2A3C3F290992245300E404E9 /* Development */,
+				2A3C3F2A0992245300E404E9 /* Deployment */,
+				2A3C3F2B0992245300E404E9 /* Default */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Default;
+		};
+		2A3C3F2C0992245300E404E9 /* Build configuration list for PBXProject "uimacnew" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				2A3C3F2D0992245300E404E9 /* Development */,
+				2A3C3F2E0992245300E404E9 /* Deployment */,
+				2A3C3F2F0992245300E404E9 /* Default */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Default;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+}



More information about the Unison-hackers mailing list