diff options
-rw-r--r-- | AppKit/GTMUILocalizer.h | 20 | ||||
-rw-r--r-- | AppKit/GTMUILocalizer.m | 38 | ||||
-rw-r--r-- | AppKit/GTMUILocalizerAndLayoutTweaker.h | 78 | ||||
-rw-r--r-- | AppKit/GTMUILocalizerAndLayoutTweaker.m | 300 | ||||
-rw-r--r-- | AppKit/GTMUILocalizerAndLayoutTweakerTest.h | 27 | ||||
-rw-r--r-- | AppKit/GTMUILocalizerAndLayoutTweakerTest.m | 96 | ||||
-rw-r--r-- | AppKit/GTMUILocalizerAndLayoutTweakerTest1.xib | 1742 | ||||
-rw-r--r-- | AppKit/GTMUILocalizerAndLayoutTweakerTest2.xib | 862 | ||||
-rw-r--r-- | AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest1-0.tiff | bin | 0 -> 29352 bytes | |||
-rw-r--r-- | AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest1-1.tiff | bin | 0 -> 25054 bytes | |||
-rw-r--r-- | AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest1-2.tiff | bin | 0 -> 25596 bytes | |||
-rw-r--r-- | AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest2-0.tiff | bin | 0 -> 14672 bytes | |||
-rw-r--r-- | AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest2-1.tiff | bin | 0 -> 11914 bytes | |||
-rw-r--r-- | AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest2-2.tiff | bin | 0 -> 11898 bytes | |||
-rw-r--r-- | GTM.xcodeproj/project.pbxproj | 48 |
15 files changed, 3181 insertions, 30 deletions
diff --git a/AppKit/GTMUILocalizer.h b/AppKit/GTMUILocalizer.h index b07b861..8ce00c6 100644 --- a/AppKit/GTMUILocalizer.h +++ b/AppKit/GTMUILocalizer.h @@ -6,9 +6,9 @@ // Licensed under the Apache License, Version 2.0 (the "License"); you may not // use this file except in compliance with the License. You may obtain a copy // of the License at -// +// // http://www.apache.org/licenses/LICENSE-2.0 -// +// // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the @@ -25,12 +25,12 @@ // NSViewController or NSApplication. Using the bundle of the nib it will then // localize any items in the NSWindowController's window and subviews, or the // NSViewController's view and subviews or the NSApplication's main menu -// and dockmenu at when awakeFromNib is called on the GTMUILocalizer instance. -// You can optionally hook up otherObjectToLocalize_ and +// and dockmenu at when awakeFromNib is called on the GTMUILocalizer instance. +// You can optionally hook up otherObjectToLocalize_ and // yetAnotherObjectToLocalize_ and those will also be localized. Strings in the // nib that you want localized must start with ^ (shift-6). The strings will -// be looked up in the Localizable.strings table without the caret as the -// key. +// be looked up in the Localizable.strings table without the caret as the +// key. // Things that will be localized are: // - Titles and altTitles (for menus, buttons, windows, menuitems, tabViewItem) // - stringValue (for labels) @@ -38,15 +38,15 @@ // - accessibility help // - accessibility description // - menus -// +// // As an example if I wanted to localize a button with the word "Print" on // it, I would put it in a window controlled by a NSWindowController that was // the owner of the nib. I would set it's title to be "^Print". I would then // create an instance of GTMUILocalizer and set it's owner_ to be the owner // of the nib. -// In my Localizable.strings file in my fr.lproj directory for the bundle +// In my Localizable.strings file in my fr.lproj directory for the bundle // I would put "Print" = "Imprimer"; -// Then when my app launched in French I would get a button labeled +// Then when my app launched in French I would get a button labeled // "Imprimer". Note that GTMUILocalizer is only for strings, and doesn't // resize, move or change text alignment on any of the things it modifies. // If you absolutely need a caret at the beginning of the string @@ -81,5 +81,5 @@ // If |string| is nil, you should return nil - (NSString *)localizedStringForString:(NSString *)string; // Allows subclasses to override how the bundle is picked up -- (NSBundle *)bundleForOwner:(id)owner; ++ (NSBundle *)bundleForOwner:(id)owner; @end diff --git a/AppKit/GTMUILocalizer.m b/AppKit/GTMUILocalizer.m index 9b78b4f..c79a72a 100644 --- a/AppKit/GTMUILocalizer.m +++ b/AppKit/GTMUILocalizer.m @@ -6,9 +6,9 @@ // Licensed under the Apache License, Version 2.0 (the "License"); you may not // use this file except in compliance with the License. You may obtain a copy // of the License at -// +// // http://www.apache.org/licenses/LICENSE-2.0 -// +// // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the @@ -34,7 +34,7 @@ - (void)awakeFromNib { if (owner_) { - NSBundle *newBundle = [self bundleForOwner:owner_]; + NSBundle *newBundle = [[self class] bundleForOwner:owner_]; bundle_ = [newBundle retain]; [self localizeObject:owner_ recursively:YES]; [self localizeObject:otherObjectToLocalize_ recursively:YES]; @@ -44,7 +44,7 @@ } } -- (NSBundle *)bundleForOwner:(id)owner { ++ (NSBundle *)bundleForOwner:(id)owner { NSBundle *newBundle = nil; if (owner) { Class class = [NSWindowController class]; @@ -67,8 +67,8 @@ if (bundle_ && [string hasPrefix:@"^"]) { NSString *notFoundValue = @"__GTM_NOT_FOUND__"; NSString *key = [string substringFromIndex:1]; - localized = [bundle_ localizedStringForKey:key - value:notFoundValue + localized = [bundle_ localizedStringForKey:key + value:notFoundValue table:nil]; if ([localized isEqualToString:notFoundValue]) { localized = nil; @@ -125,14 +125,14 @@ [view setToolTip:localizedToolTip]; } } - + // Then do accessibility stuff NSArray *supportedAttrs = [view accessibilityAttributeNames]; if ([supportedAttrs containsObject:NSAccessibilityHelpAttribute]) { - NSString *accessibilityHelp + NSString *accessibilityHelp = [view accessibilityAttributeValue:NSAccessibilityHelpAttribute]; if (accessibilityHelp) { - NSString *localizedAccessibilityHelp + NSString *localizedAccessibilityHelp = [self localizedStringForString:accessibilityHelp]; if (localizedAccessibilityHelp) { [view accessibilitySetValue:localizedAccessibilityHelp @@ -140,12 +140,12 @@ } } } - + if ([supportedAttrs containsObject:NSAccessibilityDescriptionAttribute]) { - NSString *accessibilityDesc + NSString *accessibilityDesc = [view accessibilityAttributeValue:NSAccessibilityDescriptionAttribute]; if (accessibilityDesc) { - NSString *localizedAccessibilityDesc + NSString *localizedAccessibilityDesc = [self localizedStringForString:accessibilityDesc]; if (localizedAccessibilityDesc) { [view accessibilitySetValue:localizedAccessibilityDesc @@ -153,7 +153,7 @@ } } } - + // Must do the menu before the titles, or else this will screw up // popup menus on us. [self localizeMenu:[view menu] recursively:recursive]; @@ -164,7 +164,7 @@ [self localizeView:subview recursively:recursive]; } } - + // Then do titles if ([view isKindOfClass:[NSTextField class]]) { NSString *title = [(NSTextField *)view stringValue]; @@ -172,7 +172,7 @@ if (localizedTitle) { [(NSTextField *)view setStringValue:localizedTitle]; } - } else if ([view respondsToSelector:@selector(title)] + } else if ([view respondsToSelector:@selector(title)] && [view respondsToSelector:@selector(setTitle:)]) { NSString *title = [view performSelector:@selector(title)]; if (title) { @@ -181,13 +181,13 @@ [view performSelector:@selector(setTitle:) withObject:localizedTitle]; } } - if ([view respondsToSelector:@selector(alternateTitle)] + if ([view respondsToSelector:@selector(alternateTitle)] && [view respondsToSelector:@selector(setAlternateTitle:)]) { title = [view performSelector:@selector(alternateTitle)]; if (title) { NSString *localizedTitle = [self localizedStringForString:title]; if (localizedTitle) { - [view performSelector:@selector(setAlternateTitle:) + [view performSelector:@selector(setAlternateTitle:) withObject:localizedTitle]; } } @@ -208,7 +208,7 @@ } } } - + // Do NSSearchField placeholders if ([view isKindOfClass:[NSSearchField class]]) { NSString *placeholder = [[(NSSearchField *)view cell] placeholderString]; @@ -256,7 +256,7 @@ [self localizeMenu:[menuItem submenu] recursively:recursive]; } } - } + } } - (void)localizeCell:(NSCell *)cell recursively:(BOOL)recursive { diff --git a/AppKit/GTMUILocalizerAndLayoutTweaker.h b/AppKit/GTMUILocalizerAndLayoutTweaker.h new file mode 100644 index 0000000..2d6e0a4 --- /dev/null +++ b/AppKit/GTMUILocalizerAndLayoutTweaker.h @@ -0,0 +1,78 @@ +// +// GTMUILocalizerAndLayoutTweaker.h +// +// Copyright 2009 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may not +// use this file except in compliance with the License. You may obtain a copy +// of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations under +// the License. +// + +#import <Cocoa/Cocoa.h> + +@class GTMUILocalizer; + +// This object will run a GTMUILocalizer on the given object, and then run +// through the object's view heirarchy triggering any Tweakers to do their work. +// (This "double duty" is needed so the work can be done in order during +// awakeFromNib, if it was two objects, the order couldn't be guaranteed.) +@interface GTMUILocalizerAndLayoutTweaker : NSObject { + @private + IBOutlet id uiObject_; // The window or view to process on awakeFromNib + IBOutlet GTMUILocalizer *localizer_; // If nil, one will be created + IBOutlet id localizerOwner_; // Set if you want the default GTMUILocalizer +} +- (void)applyLocalizer:(GTMUILocalizer *)localizer + tweakingUI:(id)uiObject; + +// This checks to see if |view| implements @selector(sizeToFit) and calls it. +// It then checks the class of |view| and does some fixup for known issues +// where sizeToFit doesn't product a view that meets UI guidelines. +// Returns the amount the view changed in size. ++ (NSSize)sizeToFitView:(NSView *)view; +@end + +// This is a Tweaker that will call sizeToFit on everything within it (that +// supports it). +// +// If the items were all left aligned, they will stay as such and the box will +// resize based on the largest change of any item within it. If they aren't +// left aligned, they are assumed to be in a row, and it will slide everything +// along as it lays them out to make sure they end up still spaced out and will +// resize itself by the total change to the row. +// +// This Tweaker makes no attempt to deal with changes in an object height. +// +// This Tweaker makes no attempt to deal with its parent's width. +@interface GTMWidthBasedTweaker : NSView { + @private + // This outlet is the view that should move by the same amount as this box + // grows and change its size by the inverse. i.e.-if a box of NSTextFields, + // they will stay next to the box of labels and resize so the two boxes + // continue to use the same total space. + IBOutlet NSView *viewToSlideAndResize_; + // This outlet is just like viewToSlideAndResize_ except the view is only + // slid (ie-its width is not adjusted). i.e.-lets something move along next + // to this box. + IBOutlet NSView *viewToSlide_; + // This outlet is just like viewToSlideAndResize_ except the view is only + // resized (ie-its position is not adjusted). i.e.-lets something above/below + // this box stay the same width. You can set this to be the window, in + // which case it is resized, but you need to make sure everything is setup + // to handle that, and using two Tweakers pointed at the window isn't likely + // to give the results you want. + IBOutlet id viewToResize_; + + CGFloat widthChange_; +} +// Return the amount we changed our width by on last tweak. +- (CGFloat)changedWidth; +@end diff --git a/AppKit/GTMUILocalizerAndLayoutTweaker.m b/AppKit/GTMUILocalizerAndLayoutTweaker.m new file mode 100644 index 0000000..5ee8298 --- /dev/null +++ b/AppKit/GTMUILocalizerAndLayoutTweaker.m @@ -0,0 +1,300 @@ +// +// GTMUILocalizerAndLayoutTweaker.m +// +// Copyright 2009 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may not +// use this file except in compliance with the License. You may obtain a copy +// of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations under +// the License. +// + +#import "GTMDefines.h" +#import "GTMUILocalizerAndLayoutTweaker.h" +#import "GTMUILocalizer.h" + +// Helper that will try to do a SizeToFit on any UI items and do the special +// case handling we also need to end up with a usable UI item. It also takes +// an offset so we can slide the item if we need to. +// Returns the change in the view's size. +static NSSize SizeToFit(NSView *view, NSPoint offset); +// Compare function for -[NSArray sortedArrayUsingFunction:context:] +static NSInteger CompareFrameX(id view1, id view2, void *context); +// Check if the view is anchored on the right (fixed right, flexable left). +static BOOL IsRightAnchored(NSView *view); + +@interface GTMUILocalizerAndLayoutTweaker (PrivateMethods) +// Recursively walk the UI triggering Tweakers. +- (void)tweakView:(NSView *)view; +@end + +@interface GTMWidthBasedTweaker (InternalMethods) +// Does the actual work to size and adjust the views within this Tweaker. The +// offset is the amount this view should shift as part of it's resize. +// Returns change in this view's width. +- (CGFloat)tweakLayoutWithOffset:(NSPoint)offset; +@end + +@implementation GTMUILocalizerAndLayoutTweaker + +- (void)awakeFromNib { + if (uiObject_) { + GTMUILocalizer *localizer = localizer_; + if (!localizer) { + NSBundle *bundle = [GTMUILocalizer bundleForOwner:localizerOwner_]; + localizer = [[[GTMUILocalizer alloc] initWithBundle:bundle] autorelease]; + } + [self applyLocalizer:localizer tweakingUI:uiObject_]; + } +} + +- (void)applyLocalizer:(GTMUILocalizer *)localizer + tweakingUI:(id)uiObject { + // Localize first + [localizer localizeObject:uiObject recursively:YES]; + + // Figure out where we start + NSView *startView; + if ([uiObject isKindOfClass:[NSWindow class]]) { + startView = [(NSWindow *)uiObject contentView]; + } else { + _GTMDevAssert([uiObject isKindOfClass:[NSView class]], + @"should have been a subclass of NSView"); + startView = (NSView *)uiObject; + } + + // And Tweak! + [self tweakView:startView]; +} + +- (void)tweakView:(NSView *)view { + // If its a alignment box, let it do its thing, otherwise, go find boxes + if ([view isKindOfClass:[GTMWidthBasedTweaker class]]) { + [(GTMWidthBasedTweaker *)view tweakLayoutWithOffset:NSZeroPoint]; + } else { + NSArray *subviews = [view subviews]; + NSView *subview = nil; + GTM_FOREACH_OBJECT(subview, subviews) { + [self tweakView:subview]; + } + } +} + ++ (NSSize)sizeToFitView:(NSView *)view { + return SizeToFit(view, NSZeroPoint); +} + +@end + +@implementation GTMWidthBasedTweaker + +- (CGFloat)changedWidth { + return widthChange_; +} + +- (CGFloat)tweakLayoutWithOffset:(NSPoint)offset { + NSArray *subviews = [self subviews]; + if (![subviews count]) { + widthChange_ = 0.0; + return widthChange_; + } + + BOOL sumMode = NO; + NSMutableArray *rightAlignedSubViews = nil; + NSMutableArray *rightAlignedSubViewDeltas = nil; + if ([subviews count] > 1) { + // Do they share left edges (within a pixel) + if (fabs(NSMinX([[subviews objectAtIndex:0] frame]) - + NSMinX([[subviews objectAtIndex:1] frame])) > 1.0) { + // No, so walk them x order moving them along so they don't overlap. + sumMode = YES; + subviews = [subviews sortedArrayUsingFunction:CompareFrameX context:NULL]; + } else { + // Since they are vertical, any views pinned to the right will have to be + // shifted after we finish figuring out the final size. + rightAlignedSubViews = [NSMutableArray array]; + rightAlignedSubViewDeltas = [NSMutableArray array]; + } + } + + // Size our subviews + NSView *subView; + CGFloat finalDelta = sumMode ? 0 : -CGFLOAT_MAX; + NSPoint subViewOffset = NSZeroPoint; + GTM_FOREACH_OBJECT(subView, subviews) { + if (sumMode) { + subViewOffset.x = finalDelta; + } + CGFloat delta = SizeToFit(subView, subViewOffset).width; + if (sumMode) { + finalDelta += delta; + } else { + if (delta > finalDelta) { + finalDelta = delta; + } + } + // Track the right anchored subviews size changes so we can update them + // once we know this view's size. + if (IsRightAnchored(subView)) { + [rightAlignedSubViews addObject:subView]; + [rightAlignedSubViewDeltas addObject:[NSNumber numberWithDouble:delta]]; + } + } + + // Are we pinned to the right of our parent? + BOOL rightAnchored = IsRightAnchored(self); + + // Adjust our size (turn off auto resize, because we just fixed up all the + // objects within us). + BOOL autoresizesSubviews = [self autoresizesSubviews]; + if (autoresizesSubviews) { + [self setAutoresizesSubviews:NO]; + } + NSRect selfFrame = [self frame]; + selfFrame.size.width += finalDelta; + if (rightAnchored) { + // Right side is anchored, so we need to slide back to the left. + selfFrame.origin.x -= finalDelta; + } + selfFrame.origin.x += offset.x; + selfFrame.origin.y += offset.y; + [self setFrame:selfFrame]; + if (autoresizesSubviews) { + [self setAutoresizesSubviews:autoresizesSubviews]; + } + + // Now spin over the list of right aligned view and their size changes + // fixing up their positions so they are still right aligned in our final + // view. + for (NSUInteger lp = 0; lp < [rightAlignedSubViews count]; ++lp) { + subView = [rightAlignedSubViews objectAtIndex:lp]; + CGFloat delta = [[rightAlignedSubViewDeltas objectAtIndex:lp] doubleValue]; + NSRect viewFrame = [subView frame]; + viewFrame.origin.x += -delta + finalDelta; + [subView setFrame:viewFrame]; + } + + if (viewToSlideAndResize_) { + NSRect viewFrame = [viewToSlideAndResize_ frame]; + if (!rightAnchored) { + // If our right wasn't anchored, this view slides (we push it right). + // (If our right was anchored, the assumption is the view is in front of + // us so its x shouldn't move.) + viewFrame.origin.x += finalDelta; + } + viewFrame.size.width -= finalDelta; + [viewToSlideAndResize_ setFrame:viewFrame]; + } + if (viewToSlide_) { + NSRect viewFrame = [viewToSlide_ frame]; + // Move the view the same direction we moved. + if (rightAnchored) { + viewFrame.origin.x -= finalDelta; + } else { + viewFrame.origin.x += finalDelta; + } + [viewToSlide_ setFrame:viewFrame]; + } + if (viewToResize_) { + if ([viewToResize_ isKindOfClass:[NSWindow class]]) { + NSWindow *window = (NSWindow *)viewToResize_; + NSRect windowFrame = [window frame]; + windowFrame.size.width += finalDelta; + [window setFrame:windowFrame display:YES]; + // For some reason the content view is resizing, but not adjusting its + // origin, so correct it manually. + [[window contentView] setFrameOrigin:NSMakePoint(0, 0)]; + // TODO: should we update min size? + } else { + NSRect viewFrame = [viewToResize_ frame]; + viewFrame.size.width += finalDelta; + [viewToResize_ setFrame:viewFrame]; + // TODO: should we check if this view is right anchored, and adjust its + // x position also? + } + } + + widthChange_ = finalDelta; + return widthChange_; +} + +@end + +#pragma mark - + +static NSSize SizeToFit(NSView *view, NSPoint offset) { + + // If we've got one of us within us, recurse (for grids) + if ([view isKindOfClass:[GTMWidthBasedTweaker class]]) { + GTMWidthBasedTweaker *widthAlignmentBox = (GTMWidthBasedTweaker *)view; + return NSMakeSize([widthAlignmentBox tweakLayoutWithOffset:offset], 0); + } + + NSRect oldFrame = [view frame]; + NSRect fitFrame = oldFrame; + NSRect newFrame = oldFrame; + + if ([view isKindOfClass:[NSTextField class]] && + [(NSTextField *)view isEditable]) { + // Don't try to sizeToFit because edit fields really don't want to be sized + // to what is in them as they are for users to enter things so honor their + // current size. + } else { + + // Genericaly fire a sizeToFit if it has one. + if ([view respondsToSelector:@selector(sizeToFit)]) { + [view performSelector:@selector(sizeToFit)]; + fitFrame = [view frame]; + newFrame = fitFrame; + } + + // -[NSButton sizeToFit] gives much worse results than IB's Size to Fit + // option. This is the amount of padding IB adds over a sizeToFit, + // empirically determined. + // TODO: We need to check the type of button before doing this. + if ([view isKindOfClass:[NSButton class]]) { + const float kExtraPaddingAmount = 12; + const float kMinButtonWidth = 70; // The default button size in IB. + newFrame.size.width = NSWidth(newFrame) + kExtraPaddingAmount; + if (NSWidth(newFrame) < kMinButtonWidth) { + newFrame.size.width = kMinButtonWidth; + } + } + } + + // Apply the offset, and see if we need to change the frame (again). + newFrame.origin.x += offset.x; + newFrame.origin.y += offset.y; + if (!NSEqualRects(fitFrame, newFrame)) { + [view setFrame:newFrame]; + } + + // Return how much we changed size. + return NSMakeSize(NSWidth(newFrame) - NSWidth(oldFrame), + NSHeight(newFrame) - NSHeight(oldFrame)); +} + +static NSInteger CompareFrameX(id view1, id view2, void *context) { + CGFloat x1 = [view1 frame].origin.x; + CGFloat x2 = [view2 frame].origin.x; + if (x1 < x2) + return NSOrderedAscending; + else if (x1 > x2) + return NSOrderedDescending; + else + return NSOrderedSame; +} + +static BOOL IsRightAnchored(NSView *view) { + NSUInteger autoresizing = [view autoresizingMask]; + BOOL viewRightAnchored = + ((autoresizing & (NSViewMinXMargin | NSViewMaxXMargin)) == NSViewMinXMargin); + return viewRightAnchored; +} diff --git a/AppKit/GTMUILocalizerAndLayoutTweakerTest.h b/AppKit/GTMUILocalizerAndLayoutTweakerTest.h new file mode 100644 index 0000000..9853007 --- /dev/null +++ b/AppKit/GTMUILocalizerAndLayoutTweakerTest.h @@ -0,0 +1,27 @@ +// +// GTMUILocalizerAndLayoutTweakerTest.h +// +// Copyright 2009 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may not +// use this file except in compliance with the License. You may obtain a copy +// of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations under +// the License. +// + +#import <Cocoa/Cocoa.h> +#import "GTMUILocalizer.h" + +@interface GTMUILocalizerAndLayoutTweakerTestWindowController : NSWindowController +@end + + +@interface GTMUILocalizerAndLayoutTweakerTestLocalizer : GTMUILocalizer +@end diff --git a/AppKit/GTMUILocalizerAndLayoutTweakerTest.m b/AppKit/GTMUILocalizerAndLayoutTweakerTest.m new file mode 100644 index 0000000..10e83b1 --- /dev/null +++ b/AppKit/GTMUILocalizerAndLayoutTweakerTest.m @@ -0,0 +1,96 @@ +// +// GTMUILocalizerAndLayoutTweakerTest.m +// +// Copyright 2009 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may not +// use this file except in compliance with the License. You may obtain a copy +// of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations under +// the License. +// + +#import "GTMSenTestCase.h" +#import "GTMUILocalizerAndLayoutTweakerTest.h" +#import "GTMNSObject+UnitTesting.h" +#import "GTMUILocalizer.h" + +static NSUInteger gTestPass = 0; + +@interface GTMUILocalizerAndLayoutTweakerTest : GTMTestCase +@end + +@implementation GTMUILocalizerAndLayoutTweakerTest +- (void)testWindowLocalization { + // Test with nib 1 + for (gTestPass = 0; gTestPass < 3; ++gTestPass) { + GTMUILocalizerAndLayoutTweakerTestWindowController *controller = + [[GTMUILocalizerAndLayoutTweakerTestWindowController alloc] + initWithWindowNibName:@"GTMUILocalizerAndLayoutTweakerTest1"]; + NSWindow *window = [controller window]; + STAssertNotNil(window, @"Pass %ld", (long)gTestPass); + NSString *imageName = + [NSString stringWithFormat:@"GTMUILocalizerAndLayoutTweakerTest1-%ld", + (long)gTestPass]; + GTMAssertObjectImageEqualToImageNamed(window, imageName, + @"Pass %ld", (long)gTestPass); + [controller release]; + } + // Test with nib 2 + for (gTestPass = 0; gTestPass < 3; ++gTestPass) { + GTMUILocalizerAndLayoutTweakerTestWindowController *controller = + [[GTMUILocalizerAndLayoutTweakerTestWindowController alloc] + initWithWindowNibName:@"GTMUILocalizerAndLayoutTweakerTest2"]; + NSWindow *window = [controller window]; + STAssertNotNil(window, @"Pass %ld", (long)gTestPass); + NSString *imageName = + [NSString stringWithFormat:@"GTMUILocalizerAndLayoutTweakerTest2-%ld", + (long)gTestPass]; + GTMAssertObjectImageEqualToImageNamed(window, imageName, + @"Pass %ld", (long)gTestPass); + [controller release]; + } +} + +@end + +@implementation GTMUILocalizerAndLayoutTweakerTestWindowController +@end + +@implementation GTMUILocalizerAndLayoutTweakerTestLocalizer + +- (NSString *)localizedStringForString:(NSString *)string { + // "[FRAGMENT]:[COUNT]:[COUNT]" + // String is split, fragment is repeated count times, and spaces are then + // trimmed. Gives us strings that don't change for the test, but easy to + // vary in size. Which count is used, is controled by |gTestPass| so we + // can use a nib more then once. + NSArray *parts = [string componentsSeparatedByString:@":"]; + if ([parts count] > (gTestPass + 1)) { + NSString *fragment = [parts objectAtIndex:0]; + NSInteger count = [[parts objectAtIndex:gTestPass + 1] intValue]; + if (count) { + NSMutableString *result = + [NSMutableString stringWithCapacity:count * [fragment length]]; + while (count--) { + [result appendString:fragment]; + } + NSCharacterSet *ws = [NSCharacterSet whitespaceCharacterSet]; + return [result stringByTrimmingCharactersInSet:ws]; + } + } + return nil; +} + +- (void)awakeFromNib { + // Stop the base one from logging or doing anything since we don't need it + // for this test. +} + +@end diff --git a/AppKit/GTMUILocalizerAndLayoutTweakerTest1.xib b/AppKit/GTMUILocalizerAndLayoutTweakerTest1.xib new file mode 100644 index 0000000..db52b10 --- /dev/null +++ b/AppKit/GTMUILocalizerAndLayoutTweakerTest1.xib @@ -0,0 +1,1742 @@ +<?xml version="1.0" encoding="UTF-8"?> +<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.03"> + <data> + <int key="IBDocument.SystemTarget">1050</int> + <string key="IBDocument.SystemVersion">9J61</string> + <string key="IBDocument.InterfaceBuilderVersion">677</string> + <string key="IBDocument.AppKitVersion">949.46</string> + <string key="IBDocument.HIToolboxVersion">353.00</string> + <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> + <bool key="EncodedWithXMLCoder">YES</bool> + <integer value="109"/> + </object> + <object class="NSArray" key="IBDocument.PluginDependencies"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>com.apple.InterfaceBuilderKit</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + </object> + <object class="NSMutableDictionary" key="IBDocument.Metadata"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSCustomObject" id="1001"> + <string key="NSClassName">GTMUILocalizerAndLayoutTweakerTestWindowController</string> + </object> + <object class="NSCustomObject" id="1003"> + <string key="NSClassName">FirstResponder</string> + </object> + <object class="NSCustomObject" id="1004"> + <string key="NSClassName">NSApplication</string> + </object> + <object class="NSWindowTemplate" id="1005"> + <int key="NSWindowStyleMask">15</int> + <int key="NSWindowBacking">2</int> + <string key="NSWindowRect">{{71, 48}, {532, 404}}</string> + <int key="NSWTFlags">536870912</int> + <string key="NSWindowTitle">Window</string> + <string key="NSWindowClass">NSWindow</string> + <nil key="NSViewClass"/> + <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string> + <object class="NSView" key="NSWindowView" id="1006"> + <reference key="NSNextResponder"/> + <int key="NSvFlags">256</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSBox" id="13430988"> + <reference key="NSNextResponder" ref="1006"/> + <int key="NSvFlags">266</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSView" id="180511442"> + <reference key="NSNextResponder" ref="13430988"/> + <int key="NSvFlags">256</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSTextField" id="800844720"> + <reference key="NSNextResponder" ref="180511442"/> + <int key="NSvFlags">266</int> + <string key="NSFrame">{{3, 45}, {349, 22}}</string> + <reference key="NSSuperview" ref="180511442"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="951606926"> + <int key="NSCellFlags">-1804468671</int> + <int key="NSCellFlags2">272630784</int> + <string key="NSContents"/> + <object class="NSFont" key="NSSupport" id="396891173"> + <string key="NSName">LucidaGrande</string> + <double key="NSSize">1.300000e+01</double> + <int key="NSfFlags">1044</int> + </object> + <reference key="NSControlView" ref="800844720"/> + <bool key="NSDrawsBackground">YES</bool> + <object class="NSColor" key="NSBackgroundColor" id="763520216"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName">System</string> + <string key="NSColorName">textBackgroundColor</string> + <object class="NSColor" key="NSColor" id="644092534"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MQA</bytes> + </object> + </object> + <object class="NSColor" key="NSTextColor" id="843269795"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName">System</string> + <string key="NSColorName">textColor</string> + <object class="NSColor" key="NSColor" id="960820016"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MAA</bytes> + </object> + </object> + </object> + </object> + <object class="NSTextField" id="745022904"> + <reference key="NSNextResponder" ref="180511442"/> + <int key="NSvFlags">266</int> + <string key="NSFrame">{{3, 13}, {349, 22}}</string> + <reference key="NSSuperview" ref="180511442"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="810828168"> + <int key="NSCellFlags">-1804468671</int> + <int key="NSCellFlags2">272630784</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSControlView" ref="745022904"/> + <bool key="NSDrawsBackground">YES</bool> + <reference key="NSBackgroundColor" ref="763520216"/> + <reference key="NSTextColor" ref="843269795"/> + </object> + </object> + <object class="NSTextField" id="478979211"> + <reference key="NSNextResponder" ref="180511442"/> + <int key="NSvFlags">266</int> + <string key="NSFrame">{{3, 77}, {349, 22}}</string> + <reference key="NSSuperview" ref="180511442"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="1044158630"> + <int key="NSCellFlags">-1804468671</int> + <int key="NSCellFlags2">272630784</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSControlView" ref="478979211"/> + <bool key="NSDrawsBackground">YES</bool> + <reference key="NSBackgroundColor" ref="763520216"/> + <reference key="NSTextColor" ref="843269795"/> + </object> + </object> + </object> + <string key="NSFrameSize">{375, 109}</string> + <reference key="NSSuperview" ref="13430988"/> + </object> + </object> + <string key="NSFrame">{{158, 285}, {375, 109}}</string> + <reference key="NSSuperview" ref="1006"/> + <string key="NSOffsets">{0, 0}</string> + <object class="NSTextFieldCell" key="NSTitleCell"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Box</string> + <object class="NSFont" key="NSSupport"> + <string key="NSName">LucidaGrande</string> + <double key="NSSize">1.100000e+01</double> + <int key="NSfFlags">3100</int> + </object> + <reference key="NSBackgroundColor" ref="763520216"/> + <object class="NSColor" key="NSTextColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes> + </object> + </object> + <reference key="NSContentView" ref="180511442"/> + <int key="NSBorderType">0</int> + <int key="NSBoxType">0</int> + <int key="NSTitlePosition">0</int> + <bool key="NSTransparent">NO</bool> + </object> + <object class="NSBox" id="588270165"> + <reference key="NSNextResponder" ref="1006"/> + <int key="NSvFlags">10</int> + <string key="NSFrame">{{324, 173}, {188, 5}}</string> + <reference key="NSSuperview" ref="1006"/> + <string key="NSOffsets">{0, 0}</string> + <object class="NSTextFieldCell" key="NSTitleCell"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Box</string> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSBackgroundColor" ref="763520216"/> + <object class="NSColor" key="NSTextColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes> + </object> + </object> + <int key="NSBorderType">3</int> + <int key="NSBoxType">2</int> + <int key="NSTitlePosition">0</int> + <bool key="NSTransparent">NO</bool> + </object> + <object class="NSBox" id="814378125"> + <reference key="NSNextResponder" ref="1006"/> + <int key="NSvFlags">10</int> + <string key="NSFrame">{{374, 98}, {138, 5}}</string> + <reference key="NSSuperview" ref="1006"/> + <string key="NSOffsets">{0, 0}</string> + <object class="NSTextFieldCell" key="NSTitleCell"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Box</string> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSBackgroundColor" ref="763520216"/> + <object class="NSColor" key="NSTextColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes> + </object> + </object> + <int key="NSBorderType">3</int> + <int key="NSBoxType">2</int> + <int key="NSTitlePosition">0</int> + <bool key="NSTransparent">NO</bool> + </object> + <object class="NSBox" id="876659295"> + <reference key="NSNextResponder" ref="1006"/> + <int key="NSvFlags">10</int> + <string key="NSFrame">{{124, 38}, {388, 5}}</string> + <reference key="NSSuperview" ref="1006"/> + <string key="NSOffsets">{0, 0}</string> + <object class="NSTextFieldCell" key="NSTitleCell"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Box</string> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSBackgroundColor" ref="763520216"/> + <object class="NSColor" key="NSTextColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes> + </object> + </object> + <int key="NSBorderType">3</int> + <int key="NSBoxType">2</int> + <int key="NSTitlePosition">0</int> + <bool key="NSTransparent">NO</bool> + </object> + <object class="NSBox" id="751672940"> + <reference key="NSNextResponder" ref="1006"/> + <int key="NSvFlags">10</int> + <string key="NSFrame">{{20, 235}, {327, 5}}</string> + <reference key="NSSuperview" ref="1006"/> + <string key="NSOffsets">{0, 0}</string> + <object class="NSTextFieldCell" key="NSTitleCell"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Box</string> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSBackgroundColor" ref="763520216"/> + <object class="NSColor" key="NSTextColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes> + </object> + </object> + <int key="NSBorderType">3</int> + <int key="NSBoxType">2</int> + <int key="NSTitlePosition">0</int> + <bool key="NSTransparent">NO</bool> + </object> + <object class="NSImageView" id="453085280"> + <reference key="NSNextResponder" ref="1006"/> + <int key="NSvFlags">268</int> + <object class="NSMutableSet" key="NSDragTypes"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="set.sortedObjects"> + <bool key="EncodedWithXMLCoder">YES</bool> + <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> + </object> + </object> + <string key="NSFrame">{{321, 77}, {48, 48}}</string> + <reference key="NSSuperview" ref="1006"/> + <bool key="NSEnabled">YES</bool> + <object class="NSImageCell" key="NSCell" id="269363509"> + <int key="NSCellFlags">130560</int> + <int key="NSCellFlags2">33554432</int> + <int key="NSAlign">0</int> + <int key="NSScale">0</int> + <int key="NSStyle">2</int> + <bool key="NSAnimates">NO</bool> + </object> + <bool key="NSEditable">YES</bool> + </object> + <object class="NSImageView" id="125766055"> + <reference key="NSNextResponder" ref="1006"/> + <int key="NSvFlags">265</int> + <object class="NSMutableSet" key="NSDragTypes"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="set.sortedObjects"> + <bool key="EncodedWithXMLCoder">YES</bool> + <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> + </object> + </object> + <string key="NSFrame">{{352, 213}, {48, 48}}</string> + <reference key="NSSuperview" ref="1006"/> + <bool key="NSEnabled">YES</bool> + <object class="NSImageCell" key="NSCell" id="709523694"> + <int key="NSCellFlags">130560</int> + <int key="NSCellFlags2">33554432</int> + <int key="NSAlign">0</int> + <int key="NSScale">0</int> + <int key="NSStyle">2</int> + <bool key="NSAnimates">NO</bool> + </object> + <bool key="NSEditable">YES</bool> + </object> + <object class="NSBox" id="359865555"> + <reference key="NSNextResponder" ref="1006"/> + <int key="NSvFlags">12</int> + <string key="NSFrame">{{20, 201}, {275, 5}}</string> + <reference key="NSSuperview" ref="1006"/> + <string key="NSOffsets">{0, 0}</string> + <object class="NSTextFieldCell" key="NSTitleCell"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Box</string> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSBackgroundColor" ref="763520216"/> + <object class="NSColor" key="NSTextColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes> + </object> + </object> + <int key="NSBorderType">3</int> + <int key="NSBoxType">2</int> + <int key="NSTitlePosition">0</int> + <bool key="NSTransparent">NO</bool> + </object> + <object class="NSCustomView" id="496672244"> + <reference key="NSNextResponder" ref="1006"/> + <int key="NSvFlags">268</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMatrix" id="122653364"> + <reference key="NSNextResponder" ref="496672244"/> + <int key="NSvFlags">292</int> + <string key="NSFrame">{{20, 0}, {96, 38}}</string> + <reference key="NSSuperview" ref="496672244"/> + <bool key="NSEnabled">YES</bool> + <int key="NSNumRows">2</int> + <int key="NSNumCols">1</int> + <object class="NSMutableArray" key="NSCells"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSButtonCell" id="404368211"> + <int key="NSCellFlags">-2080244224</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">mumble :5:1</string> + <reference key="NSSupport" ref="396891173"/> + <int key="NSTag">1</int> + <reference key="NSControlView" ref="122653364"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">128</int> + <object class="NSButtonImageSource" key="NSAlternateImage" id="520966901"> + <string key="NSImageName">NSRadioButton</string> + </object> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + <object class="NSButtonCell" id="491468307"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">blah :8:1</string> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSControlView" ref="122653364"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">128</int> + <object class="NSImage" key="NSNormalImage"> + <int key="NSImageFlags">549453824</int> + <string key="NSSize">{18, 18}</string> + <object class="NSMutableArray" key="NSReps"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray"> + <bool key="EncodedWithXMLCoder">YES</bool> + <integer value="0" id="8"/> + <object class="NSBitmapImageRep"> + <object class="NSData" key="NSTIFFRepresentation"> + <bytes key="NS.bytes">TU0AKgAABRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAADwRERGLJycnySsrK/A1NTXw +IyMjyRwcHIsJCQk8AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFRUVdVBQUOCoqKj/ +29vb//n5+f/6+vr/2tra/6qqqv9UVFTgHx8fdQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZGRl5 +dXV198PDw//8/Pz////////////////////////////U1NT/fHx89yUlJXkAAAAFAAAAAAAAAAAAAAAA +AAAAAxEREUZqamrmtbW1/+3t7f/+/v7//v7+//7+/v/9/f3//f39//39/f/39/f/xMTE/3d3d+YZGRlG +AAAAAwAAAAAAAAAAAAAACkJCQqGtra3/xsbG/+vr6//y8vL/9fX1//X19f/z8/P/9fX1//Ly8v/u7u7/ +0tLS/6+vr/9KSkqhAAAACgAAAAAAAAAAAAAAF3h4eN2/v7//z8/P/93d3f/q6ur/7+/v/+/v7//w8PD/ +7e3t/+3t7f/i4uL/zs7O/8XFxf98fHzdAAAAFwAAAAAAAAADAAAAJKSkpPjOzs7/2dnZ/+Dg4P/i4uL/ +5eXl/+bm5v/n5+f/5eXl/+Li4v/e3t7/2tra/9DQ0P+srKz4AAAAJAAAAAMAAAADAAAALrCwsPrW1tb/ +3t7e/+Tk5P/p6en/6+vr/+zs7P/p6en/6+vr/+fn5//k5OT/4ODg/9nZ2f+zs7P6AAAALgAAAAMAAAAD +AAAALp2dnezg4OD/5eXl/+rq6v/u7u7/8PDw//Dw8P/x8fH/8PDw/+7u7v/q6ur/5ubm/+Hh4f+ZmZns +AAAALgAAAAMAAAADAAAAJG5ubs/l5eX/6enp/+/v7//y8vL/9vb2//r6+v/5+fn/9/f3//b29v/x8fH/ +6+vr/+Tk5P9ra2vPAAAAJAAAAAMAAAAAAAAAFy4uLpPCwsL67Ozs//Pz8//5+fn//v7+//7+/v/+/v7/ +/v7+//v7+//19fX/8PDw/8LCwvosLCyTAAAAFwAAAAAAAAAAAAAACgAAAENfX1/S5OTk/vn5+f/+/v7/ +///////////////////////////8/Pz/5ubm/l9fX9IAAABDAAAACgAAAAAAAAAAAAAAAwAAABcAAABl +YmJi3NLS0v3////////////////////////////////V1dX9ZGRk3AAAAGUAAAAXAAAAAwAAAAAAAAAA +AAAAAAAAAAUAAAAfAAAAZTMzM8KAgIDwv7+//O3t7f/t7e3/v7+//ICAgPAzMzPCAAAAZQAAAB8AAAAF +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAFwAAAEMAAAB3AAAAnwAAALMAAACzAAAAnwAAAHcAAABD +AAAAFwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAAAXAAAAJAAAAC4AAAAu +AAAAJAAAABcAAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgEAAAMAAAABABIAAAEB +AAMAAAABABIAAAECAAMAAAAEAAAFxgEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES +AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABBxwAAAEXAAQAAAABAAAFEAEcAAMAAAABAAEAAAFS +AAMAAAABAAEAAAFTAAMAAAAEAAAFzodzAAcAAAwYAAAF1gAAAAAACAAIAAgACAABAAEAAQABAAAMGGFw +cGwCAAAAbW50clJHQiBYWVogB9YABAADABMALAASYWNzcEFQUEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAPbWAAEAAAAA0y1hcHBs2U706y3Sst1fqit5+wYbUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAOclhZWgAAASwAAAAUZ1hZWgAAAUAAAAAUYlhZWgAAAVQAAAAUd3RwdAAAAWgAAAAUY2hhZAAA +AXwAAAAsclRSQwAAAagAAAAOZ1RSQwAAAbgAAAAOYlRSQwAAAcgAAAAOdmNndAAAAdgAAAMSbmRpbgAA +BOwAAAY+ZGVzYwAACywAAABkZHNjbQAAC5AAAAAubW1vZAAAC8AAAAAoY3BydAAAC+gAAAAtWFlaIAAA +AAAAAF1KAAA0kQAACCVYWVogAAAAAAAAdCAAALRgAAAjPVhZWiAAAAAAAAAlbAAAFyoAAKfDWFlaIAAA +AAAAAPNSAAEAAAABFs9zZjMyAAAAAAABDEIAAAXe///zJgAAB5IAAP2R///7ov///aMAAAPcAADAbGN1 +cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0AAHZjZ3QAAAAAAAAAAAAD +AQAAAQACBAUGBwkKCw0ODxASExQWFxgaGxweHyAiIyQmJygpKywtLzAxMjM1Njc4OTs8PT5AQUJDREZH +SElKS0xOT1BRUlNUVVZXWFlaW1xdXl9hYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SF +hoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnZ6foKGio6SlpqanqKmqq6ytra6vsLGysrO0tba3uLi5uru8 +vL2+v8DBwcLDxMXGxsfIycrKy8zNzs7P0NHS0tPU1dbW19jZ2drb3Nzd3t/g4eLi4+Tl5ufo6enq6+zt +7u/w8fHy8/T19vf4+fr7/P3+/v8AAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR8gISIjJCUnKCkq +Ky0uLzAxMzQ1Njc4OTo7PD0/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaWltcXV5fYGFiY2RlZmdo +aWprbG1ub3BxcnN0dXZ3d3h5ent8fH1+f4CBgoKDhIWGh4iIiYqLjI2Oj5CRkpOUlJWWl5iZmpucnZ2e +n6ChoqOkpaamp6ipqqusra6vsLCxsrO0tba3uLm5uru8vb6/wMHCw8TFx8jJysvMzc7P0NDR0tPU1dbX +2Nna29ze3+Dh4uPk5ebn6err7O3u7/Hy8/T19vf5+vv8/f7/AAIDAwQFBgcICQoKCwwNDg8QERITFBUW +FxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODg5Ojs8PT4+P0BBQkNDREVGR0hJSUpLTE1O +Tk9QUVJSU1RVVVZXWFhZWltbXF1eXl9gYWFiY2RkZWZnZ2hpaWprbGxtbm5vcHFxcnNzdHV1dnd4eHl6 +ent8fH1+fn+AgYGCg4SEhYaHiImJiouMjY6Oj5CRkpOTlJWWl5iZmZqbnJ2en6ChoqOkpaanqKmqq6yt +rq+xsrO0tba3uLq7vL2+wMHDxMbHycrMzs/R0tTW19nb3d7g4uTm6Ors7vDy9Pb4+vz+/wAAbmRpbgAA +AAAAAAY2AACXGgAAVjoAAFPKAACJ3gAAJ8IAABaoAABQDQAAVDkAAiuFAAIZmQABeFEAAwEAAAIAAAAA +AAEABgANABcAIwAxAEAAUgBlAHsAkwCrAMUA4gD/AR8BPwFhAYUBqgHQAfgCIAJLAncCpQLSAwIDMwNl +A5gDzgQFBD0EdQSvBOsFKQVnBacF6AYqBm4GtQb8B0UHkgfkCDkIkAjnCT4JmAn0ClAKrQsLC2sLygwq +DIwM8Q1XDcAOKA6SDv4PbA/bEE0QxBE7EbQSMRKwEzITuRREFNAVYBXxFocXHhfAGGIZBBmsGlQa+RuU +HC4czh1yHhQeux9jIA0gvCFoIhkizyOJJEEk+SW6JnknOygFKMspkypiKzIsASzXLawuhy9gMD4xGzH8 +MtszvzSgNYY2cjdcOEw5OTorOxs8CD0EPfU+6z/nQOFB2ELUQ9VE00XcRttH5EjxSgBLCUwdTTFOUE9v +UI9Rt1LdVAVVNlZsV6VY4FohW21ct135X09goGH0Y0tkqGYFZ19oxGova5ptCG54b/BxbnLsdG119Xd/ +eQh6knwqfcV/W4D4gpSEO4Xih4CJKorYjIqOOY/jkZuTWJUOlsyYiZpSnB6d4Z+soX+jWqUvpxOo+6rj +rMuuwLC4sra0rra0uL+60LzfvwDBHcLdxLXGhchYyi7MCs3lz7rRmtOA1WPXR9kq2xPc/97s4M/iveSn +5o3obupT7ELuLPAM8fLz0PW396H5f/tZ/T3//wAAAAEAAwALABYAJQA3AE0AZQCBAJ8AwQDlAQsBNQFh +AZABwQH1AisCZAKfAtwDHANfA6MD6gQ0BH8EzQT1BR0FcAXEBhsGdAbPBy0HXAeMB+4IUgi4CSAJVAmK +CfYKZArVC0cLgQu8DDIMqw0mDaIOIQ6hDyQPqRAvELgQ/RFDEc8SXRLuE4AUFRSrFUMV3RZ5FxcXthhY +GPwZoRpIGvEbnBxJHPgdqB5bHw8fxSB9ITch8iKwJDAk8yW3Jn4nRigQKNwpqSp5K0osHCzxLccuoC95 +MFUxMzISMvMz1TS5NaA2hzdxOFw5STo4Oyg8Gj4DPvs/9EDuQepD6ETpRexG8Uf3SP9LFEwhTTBOQE9S +UGZSklOrVMVV4Vb/WB5ZP1phW4Vcq13SXvthUmJ/Y69k4GYSZ0dofGm0au1tZG6ib+FxInJlc6l073Y2 +d396FXtjfLJ+A39VgKmB/4NWhK+GCYjCiiGLgYzjjkePrJESknuT5Ja8mCuZm5sMnH+d9J9qoOGiWqPV +pVGmz6eOqE6pzqtRrNSuWq/gsWmy8rR+tgu5Kbq6vE294b93wQ7Cp8RBxd3He8kZyrrLisxbzf/Po9FK +0vHUm9ZF1/HZn9tO3Cbc/96x4GTiGePQ5YjnQegf6Pzquex27jbv9/G583z0X/VC9wj40Pqa/GX+Mf// +AAAAAQADAAsAJQA3AE0AZQCBAJ8AwQELATUBYQGQAcEB9QIrAmQCnwLcAxwDXwOjA+oENAR/BM0FHQVw +BcQGGwZ0Bs8HLQeMB+4IUgi4CSAJign2CmQK1QtHC7wMMgyrDSYNog4hDqEPJA+pEC8QuBFDEl0S7hOA +FBUUqxVDFnkXFxe2GFgY/BpIGvEbnBxJHPgdqB8PH8UgfSE3IfIjbyQwJPMltydGKBAo3Cp5K0osHC3H +LqAveTEzMhIy8zS5NaA2hzhcOUk6ODwaPQ4+Az/0QO5C6EPoROlG8Uf3SglLFEwhTkBPUlF7UpJUxVXh +Vv9ZP1phXKtd0mAlYVJjr2TgZhJofGm0au1tZG6ib+FxInJldO92Nnd/eMl6FXyyfgN/VYCpgf+Er4YJ +h2WIwoohi4GOR4+skRKSe5PklVCWvJgrmZubDJx/nfSfaqDholqj1aVRps+oTqnOq1Gs1K2Xrlqv4LFp +svK0frYLt5m5Kbnxurq8Tb3hv3fBDsHawqfEQcUPxd3He8hKyRnKusuKzFvN/87Rz6PQdtFK0vHTxtSb +1kXXG9fx2MjZn9tO3Cbc/93Y3rHfiuBk4hni9ePQ5KzliOZk50HoH+j86drqueuX7HbtVu427xbv9/DX +8bnymvN89F/1QvYl9wj37PjQ+bX6mvt//GX9S/4x//8AAGRlc2MAAAAAAAAACkNvbG9yIExDRAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAABIAAAAcAEMAbwBsAG8AcgAgAEwAQwBE +AABtbW9kAAAAAAAABhAAAJxOAAAAAL5zkQAAAAAAAAAAAAAAAAAAAAAAdGV4dAAAAABDb3B5cmlnaHQg +QXBwbGUgQ29tcHV0ZXIsIEluYy4sIDIwMDUAAAAAA</bytes> + </object> + </object> + </object> + </object> + <object class="NSColor" key="NSColor" id="83689519"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MCAwAA</bytes> + </object> + </object> + <reference key="NSAlternateImage" ref="520966901"/> + <int key="NSPeriodicDelay">400</int> + <int key="NSPeriodicInterval">75</int> + </object> + </object> + <string key="NSCellSize">{96, 18}</string> + <string key="NSIntercellSpacing">{4, 2}</string> + <int key="NSMatrixFlags">1151868928</int> + <string key="NSCellClass">NSActionCell</string> + <object class="NSButtonCell" key="NSProtoCell" id="538341112"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Radio</string> + <reference key="NSSupport" ref="396891173"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">128</int> + <object class="NSImage" key="NSNormalImage"> + <int key="NSImageFlags">549453824</int> + <string key="NSSize">{18, 18}</string> + <object class="NSMutableArray" key="NSReps"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="8"/> + <object class="NSBitmapImageRep"> + <object class="NSData" key="NSTIFFRepresentation"> + <bytes key="NS.bytes">TU0AKgAABRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAADwRERGLJycnySsrK/A1NTXw +IyMjyRwcHIsJCQk8AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFRUVdVBQUOCoqKj/ +29vb//n5+f/6+vr/2tra/6qqqv9UVFTgHx8fdQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZGRl5 +dXV198PDw//8/Pz////////////////////////////U1NT/fHx89yUlJXkAAAAFAAAAAAAAAAAAAAAA +AAAAAxEREUZqamrmtbW1/+3t7f/+/v7//v7+//7+/v/9/f3//f39//39/f/39/f/xMTE/3d3d+YZGRlG +AAAAAwAAAAAAAAAAAAAACkJCQqGtra3/xsbG/+vr6//y8vL/9fX1//X19f/z8/P/9fX1//Ly8v/u7u7/ +0tLS/6+vr/9KSkqhAAAACgAAAAAAAAAAAAAAF3h4eN2/v7//z8/P/93d3f/q6ur/7+/v/+/v7//w8PD/ +7e3t/+3t7f/i4uL/zs7O/8XFxf98fHzdAAAAFwAAAAAAAAADAAAAJKSkpPjOzs7/2dnZ/+Dg4P/i4uL/ +5eXl/+bm5v/n5+f/5eXl/+Li4v/e3t7/2tra/9DQ0P+srKz4AAAAJAAAAAMAAAADAAAALrCwsPrW1tb/ +3t7e/+Tk5P/p6en/6+vr/+zs7P/p6en/6+vr/+fn5//k5OT/4ODg/9nZ2f+zs7P6AAAALgAAAAMAAAAD +AAAALp2dnezg4OD/5eXl/+rq6v/u7u7/8PDw//Dw8P/x8fH/8PDw/+7u7v/q6ur/5ubm/+Hh4f+ZmZns +AAAALgAAAAMAAAADAAAAJG5ubs/l5eX/6enp/+/v7//y8vL/9vb2//r6+v/5+fn/9/f3//b29v/x8fH/ +6+vr/+Tk5P9ra2vPAAAAJAAAAAMAAAAAAAAAFy4uLpPCwsL67Ozs//Pz8//5+fn//v7+//7+/v/+/v7/ +/v7+//v7+//19fX/8PDw/8LCwvosLCyTAAAAFwAAAAAAAAAAAAAACgAAAENfX1/S5OTk/vn5+f/+/v7/ +///////////////////////////8/Pz/5ubm/l9fX9IAAABDAAAACgAAAAAAAAAAAAAAAwAAABcAAABl +YmJi3NLS0v3////////////////////////////////V1dX9ZGRk3AAAAGUAAAAXAAAAAwAAAAAAAAAA +AAAAAAAAAAUAAAAfAAAAZTMzM8KAgIDwv7+//O3t7f/t7e3/v7+//ICAgPAzMzPCAAAAZQAAAB8AAAAF +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAFwAAAEMAAAB3AAAAnwAAALMAAACzAAAAnwAAAHcAAABD +AAAAFwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAAAXAAAAJAAAAC4AAAAu +AAAAJAAAABcAAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQEAAAMAAAABABIAAAEB +AAMAAAABABIAAAECAAMAAAAEAAAFugEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES +AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABBxwAAAEXAAQAAAABAAAFEAEcAAMAAAABAAEAAAFS +AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes> + </object> + </object> + </object> + </object> + <reference key="NSColor" ref="83689519"/> + </object> + <reference key="NSAlternateImage" ref="520966901"/> + <int key="NSPeriodicDelay">400</int> + <int key="NSPeriodicInterval">75</int> + </object> + <reference key="NSSelectedCell" ref="404368211"/> + <object class="NSColor" key="NSBackgroundColor" id="584893825"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName">System</string> + <string key="NSColorName">controlColor</string> + <object class="NSColor" key="NSColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MC42NjY2NjY2OQA</bytes> + </object> + </object> + <reference key="NSCellBackgroundColor" ref="644092534"/> + <reference key="NSFont" ref="396891173"/> + </object> + </object> + <string key="NSFrame">{{0, 20}, {116, 42}}</string> + <reference key="NSSuperview" ref="1006"/> + <string key="NSClassName">GTMWidthBasedTweaker</string> + </object> + <object class="NSCustomView" id="583112334"> + <reference key="NSNextResponder" ref="1006"/> + <int key="NSvFlags">268</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSButton" id="936710330"> + <reference key="NSNextResponder" ref="583112334"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{14, 15}, {96, 32}}</string> + <reference key="NSSuperview" ref="583112334"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="183983727"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents">w:10:2</string> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSControlView" ref="936710330"/> + <int key="NSButtonFlags">-2038284033</int> + <int key="NSButtonFlags2">129</int> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSCustomView" id="656888375"> + <reference key="NSNextResponder" ref="583112334"/> + <int key="NSvFlags">292</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSTextField" id="290463544"> + <reference key="NSNextResponder" ref="656888375"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{17, 5}, {66, 17}}</string> + <reference key="NSSuperview" ref="656888375"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="612106675"> + <int key="NSCellFlags">68288064</int> + <int key="NSCellFlags2">272630784</int> + <string key="NSContents">w:2:6</string> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSControlView" ref="290463544"/> + <reference key="NSBackgroundColor" ref="584893825"/> + <object class="NSColor" key="NSTextColor" id="215232119"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName">System</string> + <string key="NSColorName">controlTextColor</string> + <reference key="NSColor" ref="960820016"/> + </object> + </object> + </object> + <object class="NSTextField" id="406015244"> + <reference key="NSNextResponder" ref="656888375"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{17, 30}, {66, 17}}</string> + <reference key="NSSuperview" ref="656888375"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="535802230"> + <int key="NSCellFlags">68288064</int> + <int key="NSCellFlags2">272630784</int> + <string key="NSContents">j:10:23</string> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSControlView" ref="406015244"/> + <reference key="NSBackgroundColor" ref="584893825"/> + <reference key="NSTextColor" ref="215232119"/> + </object> + </object> + </object> + <string key="NSFrame">{{112, 6}, {100, 54}}</string> + <reference key="NSSuperview" ref="583112334"/> + <string key="NSClassName">GTMWidthBasedTweaker</string> + </object> + <object class="NSButton" id="849868912"> + <reference key="NSNextResponder" ref="583112334"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{214, 15}, {96, 32}}</string> + <reference key="NSSuperview" ref="583112334"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="547252370"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents">z:7:10</string> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSControlView" ref="849868912"/> + <int key="NSButtonFlags">-2038284033</int> + <int key="NSButtonFlags2">129</int> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + </object> + <string key="NSFrame">{{0, 70}, {316, 63}}</string> + <reference key="NSSuperview" ref="1006"/> + <string key="NSClassName">GTMWidthBasedTweaker</string> + </object> + <object class="NSCustomView" id="797989996"> + <reference key="NSNextResponder" ref="1006"/> + <int key="NSvFlags">268</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSButton" id="900885236"> + <reference key="NSNextResponder" ref="797989996"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{206, 1}, {96, 32}}</string> + <reference key="NSSuperview" ref="797989996"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="356842314"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents">no:1:2</string> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSControlView" ref="900885236"/> + <int key="NSButtonFlags">-2038284033</int> + <int key="NSButtonFlags2">129</int> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="1049850645"> + <reference key="NSNextResponder" ref="797989996"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{14, 1}, {96, 32}}</string> + <reference key="NSSuperview" ref="797989996"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="571145548"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents">foo :4:1</string> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSControlView" ref="1049850645"/> + <int key="NSButtonFlags">-2038284033</int> + <int key="NSButtonFlags2">129</int> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="709832699"> + <reference key="NSNextResponder" ref="797989996"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{103, 1}, {111, 32}}</string> + <reference key="NSSuperview" ref="797989996"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="976017799"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents">foobar :2:1</string> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSControlView" ref="709832699"/> + <int key="NSButtonFlags">-2038284033</int> + <int key="NSButtonFlags2">129</int> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + </object> + <string key="NSFrame">{{0, 157}, {316, 38}}</string> + <reference key="NSSuperview" ref="1006"/> + <string key="NSClassName">GTMWidthBasedTweaker</string> + </object> + <object class="NSCustomView" id="273331462"> + <reference key="NSNextResponder" ref="1006"/> + <int key="NSvFlags">265</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSButton" id="718941270"> + <reference key="NSNextResponder" ref="273331462"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{18, 24}, {91, 18}}</string> + <reference key="NSSuperview" ref="273331462"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="1051100744"> + <int key="NSCellFlags">-2080244224</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">i:26:4</string> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSControlView" ref="718941270"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <object class="NSCustomResource" key="NSNormalImage" id="980015056"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">NSSwitch</string> + </object> + <object class="NSButtonImageSource" key="NSAlternateImage" id="644707509"> + <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="141065122"> + <reference key="NSNextResponder" ref="273331462"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{18, 44}, {91, 18}}</string> + <reference key="NSSuperview" ref="273331462"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="959040643"> + <int key="NSCellFlags">-2080244224</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">y:25:2</string> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSControlView" ref="141065122"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="980015056"/> + <reference key="NSAlternateImage" ref="644707509"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="320146273"> + <reference key="NSNextResponder" ref="273331462"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{18, 4}, {91, 18}}</string> + <reference key="NSSuperview" ref="273331462"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="473788937"> + <int key="NSCellFlags">-2080244224</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">M:17:7</string> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSControlView" ref="320146273"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="980015056"/> + <reference key="NSAlternateImage" ref="644707509"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + </object> + <string key="NSFrame">{{405, 203}, {127, 69}}</string> + <reference key="NSSuperview" ref="1006"/> + <string key="NSClassName">GTMWidthBasedTweaker</string> + </object> + <object class="NSCustomView" id="450922667"> + <reference key="NSNextResponder" ref="1006"/> + <int key="NSvFlags">268</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSTextField" id="32340604"> + <reference key="NSNextResponder" ref="450922667"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{17, 84}, {139, 17}}</string> + <reference key="NSSuperview" ref="450922667"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="1064530732"> + <int key="NSCellFlags">68288064</int> + <int key="NSCellFlags2">272630784</int> + <string key="NSContents">ab:10:2</string> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSControlView" ref="32340604"/> + <reference key="NSBackgroundColor" ref="584893825"/> + <reference key="NSTextColor" ref="215232119"/> + </object> + </object> + <object class="NSTextField" id="499628444"> + <reference key="NSNextResponder" ref="450922667"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{17, 20}, {139, 17}}</string> + <reference key="NSSuperview" ref="450922667"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="200889835"> + <int key="NSCellFlags">68288064</int> + <int key="NSCellFlags2">272630784</int> + <string key="NSContents">l:12:3</string> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSControlView" ref="499628444"/> + <reference key="NSBackgroundColor" ref="584893825"/> + <reference key="NSTextColor" ref="215232119"/> + </object> + </object> + <object class="NSTextField" id="236725617"> + <reference key="NSNextResponder" ref="450922667"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{17, 52}, {139, 17}}</string> + <reference key="NSSuperview" ref="450922667"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="65808262"> + <int key="NSCellFlags">68288064</int> + <int key="NSCellFlags2">272630784</int> + <string key="NSContents">W:10:4</string> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSControlView" ref="236725617"/> + <reference key="NSBackgroundColor" ref="584893825"/> + <reference key="NSTextColor" ref="215232119"/> + </object> + </object> + </object> + <string key="NSFrame">{{0, 280}, {153, 121}}</string> + <reference key="NSSuperview" ref="1006"/> + <string key="NSClassName">GTMWidthBasedTweaker</string> + </object> + </object> + <string key="NSFrameSize">{532, 404}</string> + <reference key="NSSuperview"/> + </object> + <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string> + <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string> + </object> + <object class="NSCustomObject" id="431527667"> + <string key="NSClassName">GTMUILocalizerAndLayoutTweaker</string> + </object> + <object class="NSCustomObject" id="730292222"> + <string key="NSClassName">GTMUILocalizerAndLayoutTweakerTestLocalizer</string> + </object> + </object> + <object class="IBObjectContainer" key="IBDocument.Objects"> + <object class="NSMutableArray" key="connectionRecords"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">uiObject_</string> + <reference key="source" ref="431527667"/> + <reference key="destination" ref="1005"/> + </object> + <int key="connectionID">84</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">viewToSlideAndResize_</string> + <reference key="source" ref="496672244"/> + <reference key="destination" ref="876659295"/> + </object> + <int key="connectionID">104</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">viewToSlide_</string> + <reference key="source" ref="583112334"/> + <reference key="destination" ref="453085280"/> + </object> + <int key="connectionID">107</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">viewToSlideAndResize_</string> + <reference key="source" ref="583112334"/> + <reference key="destination" ref="814378125"/> + </object> + <int key="connectionID">108</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">viewToResize_</string> + <reference key="source" ref="797989996"/> + <reference key="destination" ref="359865555"/> + </object> + <int key="connectionID">110</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">viewToSlideAndResize_</string> + <reference key="source" ref="797989996"/> + <reference key="destination" ref="588270165"/> + </object> + <int key="connectionID">111</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">viewToSlide_</string> + <reference key="source" ref="273331462"/> + <reference key="destination" ref="125766055"/> + </object> + <int key="connectionID">113</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">viewToSlideAndResize_</string> + <reference key="source" ref="273331462"/> + <reference key="destination" ref="751672940"/> + </object> + <int key="connectionID">114</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">viewToSlideAndResize_</string> + <reference key="source" ref="450922667"/> + <reference key="destination" ref="13430988"/> + </object> + <int key="connectionID">116</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">localizer_</string> + <reference key="source" ref="431527667"/> + <reference key="destination" ref="730292222"/> + </object> + <int key="connectionID">118</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">window</string> + <reference key="source" ref="1001"/> + <reference key="destination" ref="1005"/> + </object> + <int key="connectionID">119</int> + </object> + </object> + <object class="IBMutableOrderedSet" key="objectRecords"> + <object class="NSArray" key="orderedObjects"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBObjectRecord"> + <int key="objectID">0</int> + <object class="NSArray" key="object" id="1002"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <reference key="children" ref="1000"/> + <nil key="parent"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">-2</int> + <reference key="object" ref="1001"/> + <reference key="parent" ref="1002"/> + <string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string> + </object> + <object class="IBObjectRecord"> + <int key="objectID">-1</int> + <reference key="object" ref="1003"/> + <reference key="parent" ref="1002"/> + <string key="objectName">First Responder</string> + </object> + <object class="IBObjectRecord"> + <int key="objectID">-3</int> + <reference key="object" ref="1004"/> + <reference key="parent" ref="1002"/> + <string key="objectName">Application</string> + </object> + <object class="IBObjectRecord"> + <int key="objectID">1</int> + <reference key="object" ref="1005"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="1006"/> + </object> + <reference key="parent" ref="1002"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">2</int> + <reference key="object" ref="1006"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="450922667"/> + <reference ref="13430988"/> + <reference ref="751672940"/> + <reference ref="125766055"/> + <reference ref="273331462"/> + <reference ref="797989996"/> + <reference ref="359865555"/> + <reference ref="588270165"/> + <reference ref="583112334"/> + <reference ref="453085280"/> + <reference ref="814378125"/> + <reference ref="876659295"/> + <reference ref="496672244"/> + </object> + <reference key="parent" ref="1005"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">34</int> + <reference key="object" ref="13430988"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="800844720"/> + <reference ref="745022904"/> + <reference ref="478979211"/> + </object> + <reference key="parent" ref="1006"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">13</int> + <reference key="object" ref="800844720"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="951606926"/> + </object> + <reference key="parent" ref="13430988"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">14</int> + <reference key="object" ref="951606926"/> + <reference key="parent" ref="800844720"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">15</int> + <reference key="object" ref="745022904"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="810828168"/> + </object> + <reference key="parent" ref="13430988"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">16</int> + <reference key="object" ref="810828168"/> + <reference key="parent" ref="745022904"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">11</int> + <reference key="object" ref="478979211"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="1044158630"/> + </object> + <reference key="parent" ref="13430988"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">12</int> + <reference key="object" ref="1044158630"/> + <reference key="parent" ref="478979211"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">35</int> + <reference key="object" ref="431527667"/> + <reference key="parent" ref="1002"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">115</int> + <reference key="object" ref="450922667"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="32340604"/> + <reference ref="499628444"/> + <reference ref="236725617"/> + </object> + <reference key="parent" ref="1006"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">5</int> + <reference key="object" ref="32340604"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="1064530732"/> + </object> + <reference key="parent" ref="450922667"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6</int> + <reference key="object" ref="1064530732"/> + <reference key="parent" ref="32340604"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">9</int> + <reference key="object" ref="499628444"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="200889835"/> + </object> + <reference key="parent" ref="450922667"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">10</int> + <reference key="object" ref="200889835"/> + <reference key="parent" ref="499628444"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">7</int> + <reference key="object" ref="236725617"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="65808262"/> + </object> + <reference key="parent" ref="450922667"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">8</int> + <reference key="object" ref="65808262"/> + <reference key="parent" ref="236725617"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">79</int> + <reference key="object" ref="876659295"/> + <reference key="parent" ref="1006"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">72</int> + <reference key="object" ref="453085280"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="269363509"/> + </object> + <reference key="parent" ref="1006"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">73</int> + <reference key="object" ref="269363509"/> + <reference key="parent" ref="453085280"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">112</int> + <reference key="object" ref="273331462"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="320146273"/> + <reference ref="141065122"/> + <reference ref="718941270"/> + </object> + <reference key="parent" ref="1006"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">21</int> + <reference key="object" ref="320146273"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="473788937"/> + </object> + <reference key="parent" ref="273331462"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">22</int> + <reference key="object" ref="473788937"/> + <reference key="parent" ref="320146273"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">17</int> + <reference key="object" ref="141065122"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="959040643"/> + </object> + <reference key="parent" ref="273331462"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">18</int> + <reference key="object" ref="959040643"/> + <reference key="parent" ref="141065122"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">19</int> + <reference key="object" ref="718941270"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="1051100744"/> + </object> + <reference key="parent" ref="273331462"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">20</int> + <reference key="object" ref="1051100744"/> + <reference key="parent" ref="718941270"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">52</int> + <reference key="object" ref="751672940"/> + <reference key="parent" ref="1006"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">82</int> + <reference key="object" ref="359865555"/> + <reference key="parent" ref="1006"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">49</int> + <reference key="object" ref="588270165"/> + <reference key="parent" ref="1006"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">102</int> + <reference key="object" ref="496672244"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="122653364"/> + </object> + <reference key="parent" ref="1006"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">75</int> + <reference key="object" ref="122653364"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="404368211"/> + <reference ref="491468307"/> + <reference ref="538341112"/> + </object> + <reference key="parent" ref="496672244"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">76</int> + <reference key="object" ref="404368211"/> + <reference key="parent" ref="122653364"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">77</int> + <reference key="object" ref="491468307"/> + <reference key="parent" ref="122653364"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">78</int> + <reference key="object" ref="538341112"/> + <reference key="parent" ref="122653364"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">85</int> + <reference key="object" ref="125766055"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="709523694"/> + </object> + <reference key="parent" ref="1006"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">86</int> + <reference key="object" ref="709523694"/> + <reference key="parent" ref="125766055"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">59</int> + <reference key="object" ref="814378125"/> + <reference key="parent" ref="1006"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">109</int> + <reference key="object" ref="797989996"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="709832699"/> + <reference ref="1049850645"/> + <reference ref="900885236"/> + </object> + <reference key="parent" ref="1006"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">42</int> + <reference key="object" ref="709832699"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="976017799"/> + </object> + <reference key="parent" ref="797989996"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">43</int> + <reference key="object" ref="976017799"/> + <reference key="parent" ref="709832699"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">40</int> + <reference key="object" ref="1049850645"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="571145548"/> + </object> + <reference key="parent" ref="797989996"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">41</int> + <reference key="object" ref="571145548"/> + <reference key="parent" ref="1049850645"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">44</int> + <reference key="object" ref="900885236"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="356842314"/> + </object> + <reference key="parent" ref="797989996"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">45</int> + <reference key="object" ref="356842314"/> + <reference key="parent" ref="900885236"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">106</int> + <reference key="object" ref="583112334"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="936710330"/> + <reference ref="656888375"/> + <reference ref="849868912"/> + </object> + <reference key="parent" ref="1006"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">62</int> + <reference key="object" ref="849868912"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="547252370"/> + </object> + <reference key="parent" ref="583112334"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">63</int> + <reference key="object" ref="547252370"/> + <reference key="parent" ref="849868912"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">105</int> + <reference key="object" ref="656888375"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="406015244"/> + <reference ref="290463544"/> + </object> + <reference key="parent" ref="583112334"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">67</int> + <reference key="object" ref="406015244"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="535802230"/> + </object> + <reference key="parent" ref="656888375"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">70</int> + <reference key="object" ref="535802230"/> + <reference key="parent" ref="406015244"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">68</int> + <reference key="object" ref="290463544"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="612106675"/> + </object> + <reference key="parent" ref="656888375"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">69</int> + <reference key="object" ref="612106675"/> + <reference key="parent" ref="290463544"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">61</int> + <reference key="object" ref="936710330"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="183983727"/> + </object> + <reference key="parent" ref="583112334"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">64</int> + <reference key="object" ref="183983727"/> + <reference key="parent" ref="936710330"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">117</int> + <reference key="object" ref="730292222"/> + <reference key="parent" ref="1002"/> + </object> + </object> + </object> + <object class="NSMutableDictionary" key="flattenedProperties"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>-1.IBPluginDependency</string> + <string>-2.IBPluginDependency</string> + <string>-3.IBPluginDependency</string> + <string>1.IBEditorWindowLastContentRect</string> + <string>1.IBPluginDependency</string> + <string>1.IBWindowTemplateEditedContentRect</string> + <string>1.NSWindowTemplate.visibleAtLaunch</string> + <string>1.WindowOrigin</string> + <string>1.editorWindowContentRectSynchronizationRect</string> + <string>10.IBPluginDependency</string> + <string>11.IBPluginDependency</string> + <string>117.IBPluginDependency</string> + <string>12.IBPluginDependency</string> + <string>13.IBPluginDependency</string> + <string>14.IBPluginDependency</string> + <string>15.IBPluginDependency</string> + <string>16.IBPluginDependency</string> + <string>17.IBPluginDependency</string> + <string>18.IBPluginDependency</string> + <string>19.IBPluginDependency</string> + <string>2.IBPluginDependency</string> + <string>20.IBPluginDependency</string> + <string>21.IBPluginDependency</string> + <string>22.IBPluginDependency</string> + <string>35.IBPluginDependency</string> + <string>40.IBPluginDependency</string> + <string>41.IBPluginDependency</string> + <string>42.IBPluginDependency</string> + <string>43.IBPluginDependency</string> + <string>44.IBPluginDependency</string> + <string>45.IBPluginDependency</string> + <string>49.IBPluginDependency</string> + <string>5.IBPluginDependency</string> + <string>52.IBPluginDependency</string> + <string>59.IBPluginDependency</string> + <string>6.IBPluginDependency</string> + <string>61.IBPluginDependency</string> + <string>62.IBPluginDependency</string> + <string>63.IBPluginDependency</string> + <string>64.IBPluginDependency</string> + <string>67.IBPluginDependency</string> + <string>68.IBPluginDependency</string> + <string>69.IBPluginDependency</string> + <string>7.IBPluginDependency</string> + <string>70.IBPluginDependency</string> + <string>72.IBPluginDependency</string> + <string>73.IBPluginDependency</string> + <string>75.IBPluginDependency</string> + <string>76.IBPluginDependency</string> + <string>77.IBPluginDependency</string> + <string>78.IBPluginDependency</string> + <string>79.IBPluginDependency</string> + <string>8.IBPluginDependency</string> + <string>82.IBPluginDependency</string> + <string>85.IBPluginDependency</string> + <string>86.IBPluginDependency</string> + <string>9.IBPluginDependency</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilderKit</string> + <string>com.apple.InterfaceBuilderKit</string> + <string>{{636, 752}, {532, 404}}</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>{{636, 752}, {532, 404}}</string> + <boolean value="NO"/> + <string>{196, 240}</string> + <string>{{202, 428}, {480, 270}}</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + </object> + </object> + <object class="NSMutableDictionary" key="unlocalizedProperties"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <nil key="activeLocalization"/> + <object class="NSMutableDictionary" key="localizations"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <nil key="sourceID"/> + <int key="maxID">119</int> + </object> + <object class="IBClassDescriber" key="IBDocument.Classes"> + <object class="NSMutableArray" key="referencedPartialClassDescriptions"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBPartialClassDescription"> + <string key="className">GTMUILocalizer</string> + <string key="superclassName">NSObject</string> + <object class="NSMutableDictionary" key="outlets"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>otherObjectToLocalize_</string> + <string>owner_</string> + <string>yetAnotherObjectToLocalize_</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>id</string> + <string>id</string> + <string>id</string> + </object> + </object> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">AppKit/GTMUILocalizer.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">GTMUILocalizerAndLayoutTweaker</string> + <string key="superclassName">NSObject</string> + <object class="NSMutableDictionary" key="outlets"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>localizerOwner_</string> + <string>localizer_</string> + <string>uiObject_</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>id</string> + <string>GTMUILocalizer</string> + <string>id</string> + </object> + </object> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="606537230"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">AppKit/GTMUILocalizerAndLayoutTweaker.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">GTMUILocalizerAndLayoutTweakerTestLocalizer</string> + <string key="superclassName">GTMUILocalizer</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="969035251"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">AppKit/GTMUILocalizerAndLayoutTweakerTest.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">GTMUILocalizerAndLayoutTweakerTestWindowController</string> + <string key="superclassName">NSWindowController</string> + <reference key="sourceIdentifier" ref="969035251"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">GTMWidthBasedTweaker</string> + <string key="superclassName">NSView</string> + <object class="NSMutableDictionary" key="outlets"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>viewToResize_</string> + <string>viewToSlideAndResize_</string> + <string>viewToSlide_</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>id</string> + <string>NSView</string> + <string>NSView</string> + </object> + </object> + <reference key="sourceIdentifier" ref="606537230"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSApplication</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="925048441"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">UnitTesting/GTMAppKit+UnitTesting.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSButton</string> + <reference key="sourceIdentifier" ref="925048441"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSCell</string> + <reference key="sourceIdentifier" ref="925048441"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSControl</string> + <reference key="sourceIdentifier" ref="925048441"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSMatrix</string> + <reference key="sourceIdentifier" ref="925048441"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSMenu</string> + <reference key="sourceIdentifier" ref="925048441"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">AppKit/GTMCarbonEvent.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">AppKit/GTMDelegatingTableColumn.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">Foundation/GTMHTTPServer.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">Foundation/GTMNSAppleEventDescriptor+Foundation.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">Foundation/GTMNSObject+KeyValueObserving.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">UnitTesting/GTMCALayer+UnitTesting.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">UnitTesting/GTMNSObject+BindingUnitTesting.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">UnitTesting/GTMNSObject+UnitTesting.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSTextField</string> + <reference key="sourceIdentifier" ref="925048441"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="39542122"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">AppKit/GTMTheme.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSView</string> + <reference key="sourceIdentifier" ref="925048441"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSWindow</string> + <reference key="sourceIdentifier" ref="39542122"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSWindow</string> + <reference key="sourceIdentifier" ref="925048441"/> + </object> + </object> + </object> + <int key="IBDocument.localizationMode">0</int> + <string key="IBDocument.LastKnownRelativeProjectPath">../GTM.xcodeproj</string> + <int key="IBDocument.defaultPropertyAccessControl">3</int> + </data> +</archive> diff --git a/AppKit/GTMUILocalizerAndLayoutTweakerTest2.xib b/AppKit/GTMUILocalizerAndLayoutTweakerTest2.xib new file mode 100644 index 0000000..b4c7c6f --- /dev/null +++ b/AppKit/GTMUILocalizerAndLayoutTweakerTest2.xib @@ -0,0 +1,862 @@ +<?xml version="1.0" encoding="UTF-8"?> +<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.03"> + <data> + <int key="IBDocument.SystemTarget">1050</int> + <string key="IBDocument.SystemVersion">9J61</string> + <string key="IBDocument.InterfaceBuilderVersion">677</string> + <string key="IBDocument.AppKitVersion">949.46</string> + <string key="IBDocument.HIToolboxVersion">353.00</string> + <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> + <bool key="EncodedWithXMLCoder">YES</bool> + <integer value="1"/> + </object> + <object class="NSArray" key="IBDocument.PluginDependencies"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>com.apple.InterfaceBuilderKit</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + </object> + <object class="NSMutableDictionary" key="IBDocument.Metadata"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSCustomObject" id="1001"> + <string key="NSClassName">GTMUILocalizerAndLayoutTweakerTestWindowController</string> + </object> + <object class="NSCustomObject" id="1003"> + <string key="NSClassName">FirstResponder</string> + </object> + <object class="NSCustomObject" id="1004"> + <string key="NSClassName">NSApplication</string> + </object> + <object class="NSWindowTemplate" id="1005"> + <int key="NSWindowStyleMask">15</int> + <int key="NSWindowBacking">2</int> + <string key="NSWindowRect">{{123, 932}, {504, 183}}</string> + <int key="NSWTFlags">536870912</int> + <string key="NSWindowTitle">Window2</string> + <string key="NSWindowClass">NSWindow</string> + <nil key="NSViewClass"/> + <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string> + <object class="NSView" key="NSWindowView" id="1006"> + <reference key="NSNextResponder"/> + <int key="NSvFlags">256</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSBox" id="13430988"> + <reference key="NSNextResponder" ref="1006"/> + <int key="NSvFlags">266</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSView" id="180511442"> + <reference key="NSNextResponder" ref="13430988"/> + <int key="NSvFlags">256</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSTextField" id="800844720"> + <reference key="NSNextResponder" ref="180511442"/> + <int key="NSvFlags">266</int> + <string key="NSFrame">{{3, 45}, {336, 22}}</string> + <reference key="NSSuperview" ref="180511442"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="951606926"> + <int key="NSCellFlags">-1804468671</int> + <int key="NSCellFlags2">272630784</int> + <string key="NSContents"/> + <object class="NSFont" key="NSSupport" id="396891173"> + <string key="NSName">LucidaGrande</string> + <double key="NSSize">1.300000e+01</double> + <int key="NSfFlags">1044</int> + </object> + <reference key="NSControlView" ref="800844720"/> + <bool key="NSDrawsBackground">YES</bool> + <object class="NSColor" key="NSBackgroundColor" id="763520216"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName">System</string> + <string key="NSColorName">textBackgroundColor</string> + <object class="NSColor" key="NSColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MQA</bytes> + </object> + </object> + <object class="NSColor" key="NSTextColor" id="843269795"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName">System</string> + <string key="NSColorName">textColor</string> + <object class="NSColor" key="NSColor" id="960820016"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MAA</bytes> + </object> + </object> + </object> + </object> + <object class="NSTextField" id="745022904"> + <reference key="NSNextResponder" ref="180511442"/> + <int key="NSvFlags">266</int> + <string key="NSFrame">{{3, 13}, {336, 22}}</string> + <reference key="NSSuperview" ref="180511442"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="810828168"> + <int key="NSCellFlags">-1804468671</int> + <int key="NSCellFlags2">272630784</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSControlView" ref="745022904"/> + <bool key="NSDrawsBackground">YES</bool> + <reference key="NSBackgroundColor" ref="763520216"/> + <reference key="NSTextColor" ref="843269795"/> + </object> + </object> + <object class="NSTextField" id="478979211"> + <reference key="NSNextResponder" ref="180511442"/> + <int key="NSvFlags">266</int> + <string key="NSFrame">{{3, 77}, {336, 22}}</string> + <reference key="NSSuperview" ref="180511442"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="1044158630"> + <int key="NSCellFlags">-1804468671</int> + <int key="NSCellFlags2">272630784</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSControlView" ref="478979211"/> + <bool key="NSDrawsBackground">YES</bool> + <reference key="NSBackgroundColor" ref="763520216"/> + <reference key="NSTextColor" ref="843269795"/> + </object> + </object> + </object> + <string key="NSFrameSize">{342, 109}</string> + <reference key="NSSuperview" ref="13430988"/> + </object> + </object> + <string key="NSFrame">{{145, 64}, {342, 109}}</string> + <reference key="NSSuperview" ref="1006"/> + <string key="NSOffsets">{0, 0}</string> + <object class="NSTextFieldCell" key="NSTitleCell"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Box</string> + <object class="NSFont" key="NSSupport"> + <string key="NSName">LucidaGrande</string> + <double key="NSSize">1.100000e+01</double> + <int key="NSfFlags">3100</int> + </object> + <reference key="NSBackgroundColor" ref="763520216"/> + <object class="NSColor" key="NSTextColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes> + </object> + </object> + <reference key="NSContentView" ref="180511442"/> + <int key="NSBorderType">0</int> + <int key="NSBoxType">0</int> + <int key="NSTitlePosition">0</int> + <bool key="NSTransparent">NO</bool> + </object> + <object class="NSCustomView" id="797989996"> + <reference key="NSNextResponder" ref="1006"/> + <int key="NSvFlags">289</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSButton" id="900885236"> + <reference key="NSNextResponder" ref="797989996"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{206, 12}, {96, 32}}</string> + <reference key="NSSuperview" ref="797989996"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="356842314"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents">ok:8:1</string> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSControlView" ref="900885236"/> + <int key="NSButtonFlags">-2038284033</int> + <int key="NSButtonFlags2">129</int> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="1049850645"> + <reference key="NSNextResponder" ref="797989996"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{14, 12}, {96, 32}}</string> + <reference key="NSSuperview" ref="797989996"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="571145548"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents">abc:3:1</string> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSControlView" ref="1049850645"/> + <int key="NSButtonFlags">-2038284033</int> + <int key="NSButtonFlags2">129</int> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="709832699"> + <reference key="NSNextResponder" ref="797989996"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{110, 12}, {96, 32}}</string> + <reference key="NSSuperview" ref="797989996"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="976017799"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents">w:9:3</string> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSControlView" ref="709832699"/> + <int key="NSButtonFlags">-2038284033</int> + <int key="NSButtonFlags2">129</int> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + </object> + <string key="NSFrame">{{188, 0}, {316, 60}}</string> + <reference key="NSSuperview" ref="1006"/> + <string key="NSClassName">GTMWidthBasedTweaker</string> + </object> + <object class="NSCustomView" id="450922667"> + <reference key="NSNextResponder" ref="1006"/> + <int key="NSvFlags">268</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSTextField" id="32340604"> + <reference key="NSNextResponder" ref="450922667"/> + <int key="NSvFlags">265</int> + <string key="NSFrame">{{17, 84}, {111, 17}}</string> + <reference key="NSSuperview" ref="450922667"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="1064530732"> + <int key="NSCellFlags">68288064</int> + <int key="NSCellFlags2">272630784</int> + <string key="NSContents">foo :8:2</string> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSControlView" ref="32340604"/> + <object class="NSColor" key="NSBackgroundColor" id="584893825"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName">System</string> + <string key="NSColorName">controlColor</string> + <object class="NSColor" key="NSColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MC42NjY2NjY2OQA</bytes> + </object> + </object> + <object class="NSColor" key="NSTextColor" id="215232119"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName">System</string> + <string key="NSColorName">controlTextColor</string> + <reference key="NSColor" ref="960820016"/> + </object> + </object> + </object> + <object class="NSTextField" id="499628444"> + <reference key="NSNextResponder" ref="450922667"/> + <int key="NSvFlags">265</int> + <string key="NSFrame">{{17, 20}, {111, 17}}</string> + <reference key="NSSuperview" ref="450922667"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="200889835"> + <int key="NSCellFlags">68288064</int> + <int key="NSCellFlags2">272630784</int> + <string key="NSContents">w:12:6</string> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSControlView" ref="499628444"/> + <reference key="NSBackgroundColor" ref="584893825"/> + <reference key="NSTextColor" ref="215232119"/> + </object> + </object> + <object class="NSTextField" id="236725617"> + <reference key="NSNextResponder" ref="450922667"/> + <int key="NSvFlags">265</int> + <string key="NSFrame">{{17, 52}, {111, 17}}</string> + <reference key="NSSuperview" ref="450922667"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="65808262"> + <int key="NSCellFlags">68288064</int> + <int key="NSCellFlags2">272630784</int> + <string key="NSContents">mumble :3:1</string> + <reference key="NSSupport" ref="396891173"/> + <reference key="NSControlView" ref="236725617"/> + <reference key="NSBackgroundColor" ref="584893825"/> + <reference key="NSTextColor" ref="215232119"/> + </object> + </object> + </object> + <string key="NSFrame">{{0, 59}, {140, 121}}</string> + <reference key="NSSuperview" ref="1006"/> + <string key="NSClassName">GTMWidthBasedTweaker</string> + </object> + </object> + <string key="NSFrameSize">{504, 183}</string> + <reference key="NSSuperview"/> + </object> + <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string> + <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string> + </object> + <object class="NSCustomObject" id="431527667"> + <string key="NSClassName">GTMUILocalizerAndLayoutTweaker</string> + </object> + <object class="NSCustomObject" id="239437949"> + <string key="NSClassName">GTMUILocalizerAndLayoutTweakerTestLocalizer</string> + </object> + </object> + <object class="IBObjectContainer" key="IBDocument.Objects"> + <object class="NSMutableArray" key="connectionRecords"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">uiObject_</string> + <reference key="source" ref="431527667"/> + <reference key="destination" ref="1005"/> + </object> + <int key="connectionID">84</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">viewToResize_</string> + <reference key="source" ref="450922667"/> + <reference key="destination" ref="1005"/> + </object> + <int key="connectionID">118</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">viewToSlideAndResize_</string> + <reference key="source" ref="450922667"/> + <reference key="destination" ref="13430988"/> + </object> + <int key="connectionID">119</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">localizer_</string> + <reference key="source" ref="431527667"/> + <reference key="destination" ref="239437949"/> + </object> + <int key="connectionID">121</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">window</string> + <reference key="source" ref="1001"/> + <reference key="destination" ref="1005"/> + </object> + <int key="connectionID">122</int> + </object> + </object> + <object class="IBMutableOrderedSet" key="objectRecords"> + <object class="NSArray" key="orderedObjects"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBObjectRecord"> + <int key="objectID">0</int> + <object class="NSArray" key="object" id="1002"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <reference key="children" ref="1000"/> + <nil key="parent"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">-2</int> + <reference key="object" ref="1001"/> + <reference key="parent" ref="1002"/> + <string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string> + </object> + <object class="IBObjectRecord"> + <int key="objectID">-1</int> + <reference key="object" ref="1003"/> + <reference key="parent" ref="1002"/> + <string key="objectName">First Responder</string> + </object> + <object class="IBObjectRecord"> + <int key="objectID">-3</int> + <reference key="object" ref="1004"/> + <reference key="parent" ref="1002"/> + <string key="objectName">Application</string> + </object> + <object class="IBObjectRecord"> + <int key="objectID">1</int> + <reference key="object" ref="1005"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="1006"/> + </object> + <reference key="parent" ref="1002"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">2</int> + <reference key="object" ref="1006"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="450922667"/> + <reference ref="13430988"/> + <reference ref="797989996"/> + </object> + <reference key="parent" ref="1005"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">34</int> + <reference key="object" ref="13430988"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="800844720"/> + <reference ref="745022904"/> + <reference ref="478979211"/> + </object> + <reference key="parent" ref="1006"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">13</int> + <reference key="object" ref="800844720"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="951606926"/> + </object> + <reference key="parent" ref="13430988"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">14</int> + <reference key="object" ref="951606926"/> + <reference key="parent" ref="800844720"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">15</int> + <reference key="object" ref="745022904"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="810828168"/> + </object> + <reference key="parent" ref="13430988"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">16</int> + <reference key="object" ref="810828168"/> + <reference key="parent" ref="745022904"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">11</int> + <reference key="object" ref="478979211"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="1044158630"/> + </object> + <reference key="parent" ref="13430988"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">12</int> + <reference key="object" ref="1044158630"/> + <reference key="parent" ref="478979211"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">35</int> + <reference key="object" ref="431527667"/> + <reference key="parent" ref="1002"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">115</int> + <reference key="object" ref="450922667"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="32340604"/> + <reference ref="499628444"/> + <reference ref="236725617"/> + </object> + <reference key="parent" ref="1006"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">5</int> + <reference key="object" ref="32340604"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="1064530732"/> + </object> + <reference key="parent" ref="450922667"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6</int> + <reference key="object" ref="1064530732"/> + <reference key="parent" ref="32340604"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">9</int> + <reference key="object" ref="499628444"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="200889835"/> + </object> + <reference key="parent" ref="450922667"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">10</int> + <reference key="object" ref="200889835"/> + <reference key="parent" ref="499628444"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">7</int> + <reference key="object" ref="236725617"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="65808262"/> + </object> + <reference key="parent" ref="450922667"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">8</int> + <reference key="object" ref="65808262"/> + <reference key="parent" ref="236725617"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">109</int> + <reference key="object" ref="797989996"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="1049850645"/> + <reference ref="900885236"/> + <reference ref="709832699"/> + </object> + <reference key="parent" ref="1006"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">42</int> + <reference key="object" ref="709832699"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="976017799"/> + </object> + <reference key="parent" ref="797989996"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">43</int> + <reference key="object" ref="976017799"/> + <reference key="parent" ref="709832699"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">40</int> + <reference key="object" ref="1049850645"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="571145548"/> + </object> + <reference key="parent" ref="797989996"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">41</int> + <reference key="object" ref="571145548"/> + <reference key="parent" ref="1049850645"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">44</int> + <reference key="object" ref="900885236"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="356842314"/> + </object> + <reference key="parent" ref="797989996"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">45</int> + <reference key="object" ref="356842314"/> + <reference key="parent" ref="900885236"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">120</int> + <reference key="object" ref="239437949"/> + <reference key="parent" ref="1002"/> + </object> + </object> + </object> + <object class="NSMutableDictionary" key="flattenedProperties"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>-1.IBPluginDependency</string> + <string>-2.IBPluginDependency</string> + <string>-3.IBPluginDependency</string> + <string>1.IBEditorWindowLastContentRect</string> + <string>1.IBPluginDependency</string> + <string>1.IBWindowTemplateEditedContentRect</string> + <string>1.NSWindowTemplate.visibleAtLaunch</string> + <string>1.WindowOrigin</string> + <string>1.editorWindowContentRectSynchronizationRect</string> + <string>10.IBPluginDependency</string> + <string>11.IBPluginDependency</string> + <string>12.IBPluginDependency</string> + <string>120.IBPluginDependency</string> + <string>13.IBPluginDependency</string> + <string>14.IBPluginDependency</string> + <string>15.IBPluginDependency</string> + <string>16.IBPluginDependency</string> + <string>2.IBPluginDependency</string> + <string>35.IBPluginDependency</string> + <string>40.IBPluginDependency</string> + <string>41.IBPluginDependency</string> + <string>42.IBPluginDependency</string> + <string>43.IBPluginDependency</string> + <string>44.IBPluginDependency</string> + <string>45.IBPluginDependency</string> + <string>5.IBPluginDependency</string> + <string>6.IBPluginDependency</string> + <string>7.IBPluginDependency</string> + <string>8.IBPluginDependency</string> + <string>9.IBPluginDependency</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilderKit</string> + <string>com.apple.InterfaceBuilderKit</string> + <string>{{632, 945}, {504, 183}}</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>{{632, 945}, {504, 183}}</string> + <boolean value="NO"/> + <string>{196, 240}</string> + <string>{{202, 428}, {480, 270}}</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + </object> + </object> + <object class="NSMutableDictionary" key="unlocalizedProperties"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <nil key="activeLocalization"/> + <object class="NSMutableDictionary" key="localizations"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <nil key="sourceID"/> + <int key="maxID">122</int> + </object> + <object class="IBClassDescriber" key="IBDocument.Classes"> + <object class="NSMutableArray" key="referencedPartialClassDescriptions"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBPartialClassDescription"> + <string key="className">GTMUILocalizer</string> + <string key="superclassName">NSObject</string> + <object class="NSMutableDictionary" key="outlets"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>otherObjectToLocalize_</string> + <string>owner_</string> + <string>yetAnotherObjectToLocalize_</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>id</string> + <string>id</string> + <string>id</string> + </object> + </object> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">AppKit/GTMUILocalizer.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">GTMUILocalizerAndLayoutTweaker</string> + <string key="superclassName">NSObject</string> + <object class="NSMutableDictionary" key="outlets"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>localizerOwner_</string> + <string>localizer_</string> + <string>uiObject_</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>id</string> + <string>GTMUILocalizer</string> + <string>id</string> + </object> + </object> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="832487978"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">AppKit/GTMUILocalizerAndLayoutTweaker.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">GTMUILocalizerAndLayoutTweakerTestLocalizer</string> + <string key="superclassName">GTMUILocalizer</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="965049481"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">AppKit/GTMUILocalizerAndLayoutTweakerTest.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">GTMUILocalizerAndLayoutTweakerTestWindowController</string> + <string key="superclassName">NSWindowController</string> + <reference key="sourceIdentifier" ref="965049481"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">GTMWidthBasedTweaker</string> + <string key="superclassName">NSView</string> + <object class="NSMutableDictionary" key="outlets"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>viewToResize_</string> + <string>viewToSlideAndResize_</string> + <string>viewToSlide_</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>id</string> + <string>NSView</string> + <string>NSView</string> + </object> + </object> + <reference key="sourceIdentifier" ref="832487978"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSApplication</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="450080117"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">UnitTesting/GTMAppKit+UnitTesting.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSButton</string> + <reference key="sourceIdentifier" ref="450080117"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSCell</string> + <reference key="sourceIdentifier" ref="450080117"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSControl</string> + <reference key="sourceIdentifier" ref="450080117"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSMenu</string> + <reference key="sourceIdentifier" ref="450080117"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">AppKit/GTMCarbonEvent.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">AppKit/GTMDelegatingTableColumn.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">Foundation/GTMHTTPServer.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">Foundation/GTMNSAppleEventDescriptor+Foundation.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">Foundation/GTMNSObject+KeyValueObserving.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">UnitTesting/GTMCALayer+UnitTesting.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">UnitTesting/GTMNSObject+BindingUnitTesting.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">UnitTesting/GTMNSObject+UnitTesting.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSTextField</string> + <reference key="sourceIdentifier" ref="450080117"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="907434799"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">AppKit/GTMTheme.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSView</string> + <reference key="sourceIdentifier" ref="450080117"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSWindow</string> + <reference key="sourceIdentifier" ref="907434799"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSWindow</string> + <reference key="sourceIdentifier" ref="450080117"/> + </object> + </object> + </object> + <int key="IBDocument.localizationMode">0</int> + <string key="IBDocument.LastKnownRelativeProjectPath">../GTM.xcodeproj</string> + <int key="IBDocument.defaultPropertyAccessControl">3</int> + </data> +</archive> diff --git a/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest1-0.tiff b/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest1-0.tiff Binary files differnew file mode 100644 index 0000000..4d0e231 --- /dev/null +++ b/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest1-0.tiff diff --git a/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest1-1.tiff b/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest1-1.tiff Binary files differnew file mode 100644 index 0000000..faace9d --- /dev/null +++ b/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest1-1.tiff diff --git a/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest1-2.tiff b/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest1-2.tiff Binary files differnew file mode 100644 index 0000000..99214f4 --- /dev/null +++ b/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest1-2.tiff diff --git a/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest2-0.tiff b/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest2-0.tiff Binary files differnew file mode 100644 index 0000000..25c53d9 --- /dev/null +++ b/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest2-0.tiff diff --git a/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest2-1.tiff b/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest2-1.tiff Binary files differnew file mode 100644 index 0000000..6d30743 --- /dev/null +++ b/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest2-1.tiff diff --git a/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest2-2.tiff b/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest2-2.tiff Binary files differnew file mode 100644 index 0000000..906fd9c --- /dev/null +++ b/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest2-2.tiff diff --git a/GTM.xcodeproj/project.pbxproj b/GTM.xcodeproj/project.pbxproj index c5e6f80..debea55 100644 --- a/GTM.xcodeproj/project.pbxproj +++ b/GTM.xcodeproj/project.pbxproj @@ -88,7 +88,7 @@ 8B3E292F0EEB53F8000681D8 /* GTMCarbonEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B3E292B0EEB53F3000681D8 /* GTMCarbonEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; 8B3E2A3F0EEB564D000681D8 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F42E09AD0D19A62F00D5DDE0 /* Carbon.framework */; }; 8B3E2A410EEB565B000681D8 /* GTMUnitTestingUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B45A2680DA498A0001148C5 /* GTMUnitTestingUtilities.m */; }; - 8B40994B0F93C5CC00DF540E /* GTMUILocalizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B4099490F93C5CC00DF540E /* GTMUILocalizer.h */; }; + 8B40994B0F93C5CC00DF540E /* GTMUILocalizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B4099490F93C5CC00DF540E /* GTMUILocalizer.h */; settings = {ATTRIBUTES = (Public, ); }; }; 8B40994C0F93C5CC00DF540E /* GTMUILocalizer.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B40994A0F93C5CC00DF540E /* GTMUILocalizer.m */; }; 8B409BC60F94405A00DF540E /* GTMUILocalizerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B409BC50F94405A00DF540E /* GTMUILocalizerTest.m */; }; 8B409BE60F9442C800DF540E /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8B409BE50F9442C800DF540E /* Localizable.strings */; }; @@ -248,6 +248,15 @@ F42E09550D199BBF00D5DDE0 /* GTMSystemVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = F48FE2930D198D24009257D2 /* GTMSystemVersion.m */; }; F42E095E0D199BD600D5DDE0 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */; }; F42E09AE0D19A62F00D5DDE0 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F42E09AD0D19A62F00D5DDE0 /* Carbon.framework */; }; + F42E2C69102B1261004DF054 /* GTMUILocalizerAndLayoutTweakerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = F42E2C68102B1261004DF054 /* GTMUILocalizerAndLayoutTweakerTest.m */; }; + F42E2C84102B14B0004DF054 /* GTMUILocalizerAndLayoutTweakerTest1.xib in Resources */ = {isa = PBXBuildFile; fileRef = F42E2C83102B14B0004DF054 /* GTMUILocalizerAndLayoutTweakerTest1.xib */; }; + F42E2CFF102B21EE004DF054 /* GTMUILocalizerAndLayoutTweakerTest1-0.tiff in Resources */ = {isa = PBXBuildFile; fileRef = F42E2CFC102B21EE004DF054 /* GTMUILocalizerAndLayoutTweakerTest1-0.tiff */; }; + F42E2D00102B21EE004DF054 /* GTMUILocalizerAndLayoutTweakerTest1-1.tiff in Resources */ = {isa = PBXBuildFile; fileRef = F42E2CFD102B21EE004DF054 /* GTMUILocalizerAndLayoutTweakerTest1-1.tiff */; }; + F42E2D01102B21EE004DF054 /* GTMUILocalizerAndLayoutTweakerTest1-2.tiff in Resources */ = {isa = PBXBuildFile; fileRef = F42E2CFE102B21EE004DF054 /* GTMUILocalizerAndLayoutTweakerTest1-2.tiff */; }; + F42E2D08102B2283004DF054 /* GTMUILocalizerAndLayoutTweakerTest2.xib in Resources */ = {isa = PBXBuildFile; fileRef = F42E2D07102B2283004DF054 /* GTMUILocalizerAndLayoutTweakerTest2.xib */; }; + F42E2D24102B24E5004DF054 /* GTMUILocalizerAndLayoutTweakerTest2-0.tiff in Resources */ = {isa = PBXBuildFile; fileRef = F42E2D21102B24E5004DF054 /* GTMUILocalizerAndLayoutTweakerTest2-0.tiff */; }; + F42E2D25102B24E5004DF054 /* GTMUILocalizerAndLayoutTweakerTest2-1.tiff in Resources */ = {isa = PBXBuildFile; fileRef = F42E2D22102B24E5004DF054 /* GTMUILocalizerAndLayoutTweakerTest2-1.tiff */; }; + F42E2D26102B24E5004DF054 /* GTMUILocalizerAndLayoutTweakerTest2-2.tiff in Resources */ = {isa = PBXBuildFile; fileRef = F42E2D23102B24E5004DF054 /* GTMUILocalizerAndLayoutTweakerTest2-2.tiff */; }; F431221D0DD4E3B800F45252 /* GTMStackTrace.h in Headers */ = {isa = PBXBuildFile; fileRef = F431221A0DD4E3B800F45252 /* GTMStackTrace.h */; settings = {ATTRIBUTES = (Public, ); }; }; F431221F0DD4E3C900F45252 /* GTMStackTraceTest.m in Sources */ = {isa = PBXBuildFile; fileRef = F431221B0DD4E3B800F45252 /* GTMStackTraceTest.m */; }; F435DE7C0DC0B6580069CDE8 /* GTMNSBezierPath+CGPathTest.ppc64.tiff in Resources */ = {isa = PBXBuildFile; fileRef = F435DE7A0DC0B6580069CDE8 /* GTMNSBezierPath+CGPathTest.ppc64.tiff */; }; @@ -256,6 +265,8 @@ F437F55D0D50BC0A00F5C3A4 /* GTMRegex.h in Headers */ = {isa = PBXBuildFile; fileRef = F437F55A0D50BC0A00F5C3A4 /* GTMRegex.h */; settings = {ATTRIBUTES = (Public, ); }; }; F437F55E0D50BC0A00F5C3A4 /* GTMRegex.m in Sources */ = {isa = PBXBuildFile; fileRef = F437F55B0D50BC0A00F5C3A4 /* GTMRegex.m */; }; F437F5620D50BC1D00F5C3A4 /* GTMRegexTest.m in Sources */ = {isa = PBXBuildFile; fileRef = F437F55C0D50BC0A00F5C3A4 /* GTMRegexTest.m */; }; + F43C7A571021FAA300ABF03C /* GTMUILocalizerAndLayoutTweaker.h in Headers */ = {isa = PBXBuildFile; fileRef = F43C7A551021FAA300ABF03C /* GTMUILocalizerAndLayoutTweaker.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F43C7A581021FAA300ABF03C /* GTMUILocalizerAndLayoutTweaker.m in Sources */ = {isa = PBXBuildFile; fileRef = F43C7A561021FAA300ABF03C /* GTMUILocalizerAndLayoutTweaker.m */; }; F43DCDCD0D4796C600959A62 /* GTMLoginItems.h in Headers */ = {isa = PBXBuildFile; fileRef = F43DCDCB0D4796C600959A62 /* GTMLoginItems.h */; settings = {ATTRIBUTES = (Public, ); }; }; F43DCDCE0D4796C600959A62 /* GTMLoginItems.m in Sources */ = {isa = PBXBuildFile; fileRef = F43DCDCC0D4796C600959A62 /* GTMLoginItems.m */; }; F43E447A0D4918B20041161F /* GTMLinearRGBShading.h in Headers */ = {isa = PBXBuildFile; fileRef = F43E44770D4918B20041161F /* GTMLinearRGBShading.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -560,6 +571,16 @@ F42E086E0D199A5B00D5DDE0 /* GTM-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "GTM-Info.plist"; sourceTree = "<group>"; }; F42E089B0D199B1800D5DDE0 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; }; F42E09AD0D19A62F00D5DDE0 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; }; + F42E2C67102B1261004DF054 /* GTMUILocalizerAndLayoutTweakerTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTMUILocalizerAndLayoutTweakerTest.h; sourceTree = "<group>"; }; + F42E2C68102B1261004DF054 /* GTMUILocalizerAndLayoutTweakerTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTMUILocalizerAndLayoutTweakerTest.m; sourceTree = "<group>"; }; + F42E2C83102B14B0004DF054 /* GTMUILocalizerAndLayoutTweakerTest1.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = GTMUILocalizerAndLayoutTweakerTest1.xib; sourceTree = "<group>"; }; + F42E2CFC102B21EE004DF054 /* GTMUILocalizerAndLayoutTweakerTest1-0.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "GTMUILocalizerAndLayoutTweakerTest1-0.tiff"; sourceTree = "<group>"; }; + F42E2CFD102B21EE004DF054 /* GTMUILocalizerAndLayoutTweakerTest1-1.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "GTMUILocalizerAndLayoutTweakerTest1-1.tiff"; sourceTree = "<group>"; }; + F42E2CFE102B21EE004DF054 /* GTMUILocalizerAndLayoutTweakerTest1-2.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "GTMUILocalizerAndLayoutTweakerTest1-2.tiff"; sourceTree = "<group>"; }; + F42E2D07102B2283004DF054 /* GTMUILocalizerAndLayoutTweakerTest2.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = GTMUILocalizerAndLayoutTweakerTest2.xib; sourceTree = "<group>"; }; + F42E2D21102B24E5004DF054 /* GTMUILocalizerAndLayoutTweakerTest2-0.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "GTMUILocalizerAndLayoutTweakerTest2-0.tiff"; sourceTree = "<group>"; }; + F42E2D22102B24E5004DF054 /* GTMUILocalizerAndLayoutTweakerTest2-1.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "GTMUILocalizerAndLayoutTweakerTest2-1.tiff"; sourceTree = "<group>"; }; + F42E2D23102B24E5004DF054 /* GTMUILocalizerAndLayoutTweakerTest2-2.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "GTMUILocalizerAndLayoutTweakerTest2-2.tiff"; sourceTree = "<group>"; }; F431221A0DD4E3B800F45252 /* GTMStackTrace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTMStackTrace.h; sourceTree = "<group>"; }; F431221B0DD4E3B800F45252 /* GTMStackTraceTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTMStackTraceTest.m; sourceTree = "<group>"; }; F435DE7A0DC0B6580069CDE8 /* GTMNSBezierPath+CGPathTest.ppc64.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "GTMNSBezierPath+CGPathTest.ppc64.tiff"; sourceTree = "<group>"; }; @@ -568,6 +589,8 @@ F437F55A0D50BC0A00F5C3A4 /* GTMRegex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTMRegex.h; sourceTree = "<group>"; }; F437F55B0D50BC0A00F5C3A4 /* GTMRegex.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTMRegex.m; sourceTree = "<group>"; }; F437F55C0D50BC0A00F5C3A4 /* GTMRegexTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTMRegexTest.m; sourceTree = "<group>"; }; + F43C7A551021FAA300ABF03C /* GTMUILocalizerAndLayoutTweaker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTMUILocalizerAndLayoutTweaker.h; sourceTree = "<group>"; }; + F43C7A561021FAA300ABF03C /* GTMUILocalizerAndLayoutTweaker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTMUILocalizerAndLayoutTweaker.m; sourceTree = "<group>"; }; F43DCDCB0D4796C600959A62 /* GTMLoginItems.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTMLoginItems.h; sourceTree = "<group>"; }; F43DCDCC0D4796C600959A62 /* GTMLoginItems.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTMLoginItems.m; sourceTree = "<group>"; }; F43DCEC60D47BEA000959A62 /* GTMLoginItemsTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTMLoginItemsTest.m; sourceTree = "<group>"; }; @@ -875,6 +898,12 @@ F435DE8A0DC0B7620069CDE8 /* GTMNSBezierPath+RoundRectTest.ppc64.tiff */, 8BE869720DBE89C100749827 /* GTMNSBezierPath+RoundRectTest.x86_64.tiff */, 8B7AD4970DABBB5800B84F4A /* GTMNSBezierPath+ShadingTest.tiff */, + F42E2CFC102B21EE004DF054 /* GTMUILocalizerAndLayoutTweakerTest1-0.tiff */, + F42E2CFD102B21EE004DF054 /* GTMUILocalizerAndLayoutTweakerTest1-1.tiff */, + F42E2CFE102B21EE004DF054 /* GTMUILocalizerAndLayoutTweakerTest1-2.tiff */, + F42E2D21102B24E5004DF054 /* GTMUILocalizerAndLayoutTweakerTest2-0.tiff */, + F42E2D22102B24E5004DF054 /* GTMUILocalizerAndLayoutTweakerTest2-1.tiff */, + F42E2D23102B24E5004DF054 /* GTMUILocalizerAndLayoutTweakerTest2-2.tiff */, 8B409EC30F9530C200DF540E /* GTMUILocalizerWindow1State.gtmUTState */, 8B409EE80F95325000DF540E /* GTMUILocalizerWindow2State.gtmUTState */, 8B409EF30F95331500DF540E /* GTMUILocalizerMenuState.gtmUTState */, @@ -951,6 +980,12 @@ F47F1C740D490E5C00925B8F /* GTMShading.h */, 8B4099490F93C5CC00DF540E /* GTMUILocalizer.h */, 8B40994A0F93C5CC00DF540E /* GTMUILocalizer.m */, + F43C7A551021FAA300ABF03C /* GTMUILocalizerAndLayoutTweaker.h */, + F43C7A561021FAA300ABF03C /* GTMUILocalizerAndLayoutTweaker.m */, + F42E2C67102B1261004DF054 /* GTMUILocalizerAndLayoutTweakerTest.h */, + F42E2C68102B1261004DF054 /* GTMUILocalizerAndLayoutTweakerTest.m */, + F42E2C83102B14B0004DF054 /* GTMUILocalizerAndLayoutTweakerTest1.xib */, + F42E2D07102B2283004DF054 /* GTMUILocalizerAndLayoutTweakerTest2.xib */, 8B409E3E0F950DE900DF540E /* GTMUILocalizerTest.h */, 8B409BC50F94405A00DF540E /* GTMUILocalizerTest.m */, 8B409E8B0F952C2C00DF540E /* GTMUILocalizerTestWindow.xib */, @@ -1238,6 +1273,7 @@ 8BD35B910FB22980009058F5 /* GTMNSScanner+JSON.h in Headers */, 8BF4D2E60FC7073A009ABC3F /* GTMGoogleSearch.h in Headers */, 8207B89B0FEA7A9E008A527B /* GTMWindowSheetController.h in Headers */, + F43C7A571021FAA300ABF03C /* GTMUILocalizerAndLayoutTweaker.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1519,6 +1555,14 @@ 8B409F060F95341E00DF540E /* GTMUILocalizerTestView.xib in Resources */, 8B409F130F95352500DF540E /* GTMUILocalizerView2State.gtmUTState in Resources */, 8B409F140F95352500DF540E /* GTMUILocalizerView1State.gtmUTState in Resources */, + F42E2C84102B14B0004DF054 /* GTMUILocalizerAndLayoutTweakerTest1.xib in Resources */, + F42E2CFF102B21EE004DF054 /* GTMUILocalizerAndLayoutTweakerTest1-0.tiff in Resources */, + F42E2D00102B21EE004DF054 /* GTMUILocalizerAndLayoutTweakerTest1-1.tiff in Resources */, + F42E2D01102B21EE004DF054 /* GTMUILocalizerAndLayoutTweakerTest1-2.tiff in Resources */, + F42E2D08102B2283004DF054 /* GTMUILocalizerAndLayoutTweakerTest2.xib in Resources */, + F42E2D24102B24E5004DF054 /* GTMUILocalizerAndLayoutTweakerTest2-0.tiff in Resources */, + F42E2D25102B24E5004DF054 /* GTMUILocalizerAndLayoutTweakerTest2-1.tiff in Resources */, + F42E2D26102B24E5004DF054 /* GTMUILocalizerAndLayoutTweakerTest2-2.tiff in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1749,6 +1793,7 @@ 8BD35B920FB22980009058F5 /* GTMNSScanner+JSON.m in Sources */, 8BF4D2E70FC7073A009ABC3F /* GTMGoogleSearch.m in Sources */, 8207B89C0FEA7AA1008A527B /* GTMWindowSheetController.m in Sources */, + F43C7A581021FAA300ABF03C /* GTMUILocalizerAndLayoutTweaker.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1777,6 +1822,7 @@ 8BAA9EFD0F7C2AB500DF4F12 /* GTMThemeTest.m in Sources */, 8B409BC60F94405A00DF540E /* GTMUILocalizerTest.m in Sources */, 8207B89D0FEA7AA6008A527B /* GTMWindowSheetControllerTest.m in Sources */, + F42E2C69102B1261004DF054 /* GTMUILocalizerAndLayoutTweakerTest.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; |