diff options
-rw-r--r-- | AppKit/GTMUILocalizerAndLayoutTweaker.h | 12 | ||||
-rw-r--r-- | AppKit/GTMUILocalizerAndLayoutTweaker.m | 20 | ||||
-rw-r--r-- | AppKit/GTMUILocalizerAndLayoutTweakerTest.m | 3 | ||||
-rw-r--r-- | AppKit/GTMUILocalizerAndLayoutTweakerTest3.xib | 4 | ||||
-rw-r--r-- | AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest3-0.tiff | bin | 9234 -> 8652 bytes | |||
-rw-r--r-- | AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest3-1.tiff | bin | 15754 -> 9252 bytes | |||
-rw-r--r-- | AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest3-2.tiff | bin | 16292 -> 15768 bytes | |||
-rw-r--r-- | AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest3-3.tiff | bin | 19996 -> 16290 bytes | |||
-rw-r--r-- | AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest3-4.tiff | bin | 0 -> 20016 bytes | |||
-rw-r--r-- | GTM.xcodeproj/project.pbxproj | 4 |
10 files changed, 36 insertions, 7 deletions
diff --git a/AppKit/GTMUILocalizerAndLayoutTweaker.h b/AppKit/GTMUILocalizerAndLayoutTweaker.h index abcb758..3c5c864 100644 --- a/AppKit/GTMUILocalizerAndLayoutTweaker.h +++ b/AppKit/GTMUILocalizerAndLayoutTweaker.h @@ -42,7 +42,7 @@ // 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. +// where sizeToFit doesn't produce a view that meets UI guidelines. // Returns the amount the view changed in size. + (NSSize)sizeToFitView:(NSView *)view; @@ -60,13 +60,15 @@ + (void)wrapButtonTitleForWidth:(NSButton *)button; + (void)wrapRadioGroupForWidth:(NSMatrix *)radioGroup; -// Resizes |window| by |delta| without letting the subviews of |window| get +// Resizes |window| or |view| by |delta| without letting the subviews get // resized. Useful when you've done manual tweaking by things like -// +sizeToFitFixedWidthTextField. The window's origin is not adjusted. Passes -// |NO| to for -setFrame:display:'s |displayViews| flag on the assumptions -// the caller is doing all the invals/updates needed. +// +sizeToFitFixedWidthTextField. The origin is not adjusted. For windows, +// passes |NO| to for -setFrame:display:'s |displayViews| flag on the +// assumptions the caller is doing all the invals/updates needed. + (void)resizeWindowWithoutAutoResizingSubViews:(NSWindow*)window delta:(NSSize)delta; ++ (void)resizeViewWithoutAutoResizingSubViews:(NSView*)view + delta:(NSSize)delta; @end diff --git a/AppKit/GTMUILocalizerAndLayoutTweaker.m b/AppKit/GTMUILocalizerAndLayoutTweaker.m index dca167a..382871c 100644 --- a/AppKit/GTMUILocalizerAndLayoutTweaker.m +++ b/AppKit/GTMUILocalizerAndLayoutTweaker.m @@ -223,6 +223,7 @@ static BOOL IsRightAnchored(NSView *view); NSRect initialFrame = [textField frame]; NSRect sizeRect = NSMakeRect(0, 0, NSWidth(initialFrame), CGFLOAT_MAX); NSSize newSize = [[textField cell] cellSizeForBounds:sizeRect]; + newSize.width = NSWidth(initialFrame); [textField setFrameSize:newSize]; return newSize.height - NSHeight(initialFrame); } @@ -278,6 +279,25 @@ static BOOL IsRightAnchored(NSView *view); } } ++ (void)resizeViewWithoutAutoResizingSubViews:(NSView*)view + delta:(NSSize)delta { + // Clear autosizesSubviews (saving the state). + BOOL autoresizesSubviews = [view autoresizesSubviews]; + if (autoresizesSubviews) { + [view setAutoresizesSubviews:NO]; + } + + NSRect rect = [view frame]; + rect.size.width += delta.width; + rect.size.height += delta.height; + [view setFrame:rect]; + + // Restore autosizesSubviews. + if (autoresizesSubviews) { + [view setAutoresizesSubviews:YES]; + } +} + @end @implementation GTMWidthBasedTweaker diff --git a/AppKit/GTMUILocalizerAndLayoutTweakerTest.m b/AppKit/GTMUILocalizerAndLayoutTweakerTest.m index 51dd9ff..5d2375f 100644 --- a/AppKit/GTMUILocalizerAndLayoutTweakerTest.m +++ b/AppKit/GTMUILocalizerAndLayoutTweakerTest.m @@ -63,7 +63,10 @@ static NSUInteger gTestPass = 0; // In the xib, the one field is over sized, the other is undersized, this // way we make sure the code handles both condions as there was a bahavior // change between the 10.4 and 10.5 SDKs. + // The right field is also right aligned to make sure the width of the text + // field stays constant. NSString *kTestStrings[] = { + @"The fox jumps the dog.", @"The quick brown fox jumps over the lazy dog.", @"The quick brown fox jumps over the lazy dog. The quick brown fox jumps " @"over the lazy dog. The quick brown fox jumps over the lazy dog. " diff --git a/AppKit/GTMUILocalizerAndLayoutTweakerTest3.xib b/AppKit/GTMUILocalizerAndLayoutTweakerTest3.xib index d0e3e21..36a6fc5 100644 --- a/AppKit/GTMUILocalizerAndLayoutTweakerTest3.xib +++ b/AppKit/GTMUILocalizerAndLayoutTweakerTest3.xib @@ -8,7 +8,7 @@ <string key="IBDocument.HIToolboxVersion">353.00</string> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <bool key="EncodedWithXMLCoder">YES</bool> - <integer value="1"/> + <integer value="2"/> </object> <object class="NSArray" key="IBDocument.PluginDependencies"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -93,7 +93,7 @@ <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="847317034"> <int key="NSCellFlags">67239424</int> - <int key="NSCellFlags2">272891904</int> + <int key="NSCellFlags2">71565312</int> <string key="NSContents">Multiline Label</string> <reference key="NSSupport" ref="554297525"/> <reference key="NSControlView" ref="958773035"/> diff --git a/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest3-0.tiff b/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest3-0.tiff Binary files differindex 6ea28e6..30c2a89 100644 --- a/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest3-0.tiff +++ b/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest3-0.tiff diff --git a/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest3-1.tiff b/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest3-1.tiff Binary files differindex fb0826c..d949898 100644 --- a/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest3-1.tiff +++ b/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest3-1.tiff diff --git a/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest3-2.tiff b/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest3-2.tiff Binary files differindex a9640a0..2d51e31 100644 --- a/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest3-2.tiff +++ b/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest3-2.tiff diff --git a/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest3-3.tiff b/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest3-3.tiff Binary files differindex 7f2f0a9..eb7b8fa 100644 --- a/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest3-3.tiff +++ b/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest3-3.tiff diff --git a/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest3-4.tiff b/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest3-4.tiff Binary files differnew file mode 100644 index 0000000..041b683 --- /dev/null +++ b/AppKit/TestData/GTMUILocalizerAndLayoutTweakerTest3-4.tiff diff --git a/GTM.xcodeproj/project.pbxproj b/GTM.xcodeproj/project.pbxproj index e1df5c4..b236943 100644 --- a/GTM.xcodeproj/project.pbxproj +++ b/GTM.xcodeproj/project.pbxproj @@ -315,6 +315,7 @@ F49FA88B0EEF303D00077669 /* GTMFileSystemKQueueTest.m in Sources */ = {isa = PBXBuildFile; fileRef = F49FA88A0EEF303D00077669 /* GTMFileSystemKQueueTest.m */; }; F4A420EF0EDDF8E000397A11 /* GTMHotKeyTextField.h in Headers */ = {isa = PBXBuildFile; fileRef = F4A420EC0EDDF8E000397A11 /* GTMHotKeyTextField.h */; settings = {ATTRIBUTES = (Public, ); }; }; F4A420F00EDDF8E000397A11 /* GTMHotKeyTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = F4A420ED0EDDF8E000397A11 /* GTMHotKeyTextField.m */; }; + F4AA2CB2109B37650025C956 /* GTMUILocalizerAndLayoutTweakerTest3-4.tiff in Resources */ = {isa = PBXBuildFile; fileRef = F4AA2CB1109B37650025C956 /* GTMUILocalizerAndLayoutTweakerTest3-4.tiff */; }; F4BC1C880DDDD45D00108B7D /* GTMHTTPServer.h in Headers */ = {isa = PBXBuildFile; fileRef = F4BC1C860DDDD45D00108B7D /* GTMHTTPServer.h */; settings = {ATTRIBUTES = (Public, ); }; }; F4BC1C890DDDD45D00108B7D /* GTMHTTPServer.m in Sources */ = {isa = PBXBuildFile; fileRef = F4BC1C870DDDD45D00108B7D /* GTMHTTPServer.m */; }; F4BC1E8D0DE1FC4A00108B7D /* GTMHTTPServerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = F4BC1E8C0DE1FC4A00108B7D /* GTMHTTPServerTest.m */; }; @@ -715,6 +716,7 @@ F4A420EC0EDDF8E000397A11 /* GTMHotKeyTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTMHotKeyTextField.h; sourceTree = "<group>"; }; F4A420ED0EDDF8E000397A11 /* GTMHotKeyTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTMHotKeyTextField.m; sourceTree = "<group>"; }; F4A420EE0EDDF8E000397A11 /* GTMHotKeyTextFieldTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTMHotKeyTextFieldTest.m; sourceTree = "<group>"; }; + F4AA2CB1109B37650025C956 /* GTMUILocalizerAndLayoutTweakerTest3-4.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "GTMUILocalizerAndLayoutTweakerTest3-4.tiff"; sourceTree = "<group>"; }; F4BC1C860DDDD45D00108B7D /* GTMHTTPServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTMHTTPServer.h; sourceTree = "<group>"; }; F4BC1C870DDDD45D00108B7D /* GTMHTTPServer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTMHTTPServer.m; sourceTree = "<group>"; }; F4BC1E8C0DE1FC4A00108B7D /* GTMHTTPServerTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTMHTTPServerTest.m; sourceTree = "<group>"; }; @@ -994,6 +996,7 @@ F4FC16001046B581000AB7BC /* GTMUILocalizerAndLayoutTweakerTest3-1.tiff */, F4FC16011046B581000AB7BC /* GTMUILocalizerAndLayoutTweakerTest3-2.tiff */, F4FC16021046B581000AB7BC /* GTMUILocalizerAndLayoutTweakerTest3-3.tiff */, + F4AA2CB1109B37650025C956 /* GTMUILocalizerAndLayoutTweakerTest3-4.tiff */, F4FC327A104EC6D5000AB7BC /* GTMUILocalizerAndLayoutTweakerTest4-0.tiff */, F4FC327B104EC6D5000AB7BC /* GTMUILocalizerAndLayoutTweakerTest4-1.tiff */, F4FC327C104EC6D5000AB7BC /* GTMUILocalizerAndLayoutTweakerTest4-2.tiff */, @@ -1717,6 +1720,7 @@ F4C0B9DB108E3142002FC8E4 /* GTMUILocalizerAndLayoutTweakerTest5-1.tiff in Resources */, F4C0B9DC108E3142002FC8E4 /* GTMUILocalizerAndLayoutTweakerTest5-2.tiff in Resources */, F4C6248A109753960069CADD /* GTMIBArrayTest.xib in Resources */, + F4AA2CB2109B37650025C956 /* GTMUILocalizerAndLayoutTweakerTest3-4.tiff in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; |