diff options
author | gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2009-07-27 17:00:45 +0000 |
---|---|---|
committer | gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2009-07-27 17:00:45 +0000 |
commit | c9e416c3c74910d79fd548180584491b257b833b (patch) | |
tree | 98813297be9238782c7516da4e489d8da21c3b7e /AppKit | |
parent | 992bf43928c259fd791f16d8639f000195310017 (diff) |
[Author: thomasvl]
Support for NSMatrix in uistate files (dumps the cells and row/column counts).
Support for NSMatrix in GTMUILocalizer.
Added checkboxes and radio groups to the GTMUILocalizer unittest.
R=dmaclach
DELTA=551 (541 added, 0 deleted, 10 changed)
Diffstat (limited to 'AppKit')
-rw-r--r-- | AppKit/GTMUILocalizer.h | 1 | ||||
-rw-r--r-- | AppKit/GTMUILocalizer.m | 34 | ||||
-rw-r--r-- | AppKit/GTMUILocalizerTestWindow.xib | 351 | ||||
-rw-r--r-- | AppKit/TestData/GTMUILocalizerWindow1State.gtmUTState | 123 | ||||
-rw-r--r-- | AppKit/TestData/Resources/English.lproj/Localizable.strings | bin | 2246 -> 1300 bytes |
5 files changed, 502 insertions, 7 deletions
diff --git a/AppKit/GTMUILocalizer.h b/AppKit/GTMUILocalizer.h index 54012cf..b07b861 100644 --- a/AppKit/GTMUILocalizer.h +++ b/AppKit/GTMUILocalizer.h @@ -73,6 +73,7 @@ - (void)localizeWindow:(NSWindow *)window recursively:(BOOL)recursive; - (void)localizeView:(NSView *)view recursively:(BOOL)recursive; - (void)localizeMenu:(NSMenu *)menu recursively:(BOOL)recursive; +- (void)localizeCell:(NSCell *)cell recursively:(BOOL)recursive; // A method for subclasses to override in case you have a different // way to go about getting localized strings. diff --git a/AppKit/GTMUILocalizer.m b/AppKit/GTMUILocalizer.m index 1782159..8f7d467 100644 --- a/AppKit/GTMUILocalizer.m +++ b/AppKit/GTMUILocalizer.m @@ -97,6 +97,8 @@ // Do the main menu NSMenu *menu = [object mainMenu]; [self localizeMenu:menu recursively:recursive]; + } else if ([object isKindOfClass:[NSCell class]]) { + [self localizeCell:(NSCell *)object recursively:recursive]; } } } @@ -215,6 +217,24 @@ [[(NSSearchField *)view cell] setPlaceholderString:localizedPlaceholer]; } } + + // Do any NSMatrix placeholders + if ([view isKindOfClass:[NSMatrix class]]) { + NSMatrix *matrix = (NSMatrix *)view; + // Process the prototype + id cell = [matrix prototype]; + [self localizeCell:cell recursively:recursive]; + // Process the cells + GTM_FOREACH_OBJECT(cell, [matrix cells]) { + [self localizeCell:cell recursively:recursive]; + // The tooltip isn't on a cell, so we do it via the matrix. + NSString *toolTip = [matrix toolTipForCell:cell]; + NSString *localizedToolTip = [self localizedStringForString:toolTip]; + if (localizedToolTip) { + [matrix setToolTip:localizedToolTip forCell:cell]; + } + } + } } - (void)localizeMenu:(NSMenu *)menu recursively:(BOOL)recursive { @@ -238,4 +258,18 @@ } } } + +- (void)localizeCell:(NSCell *)cell recursively:(BOOL)recursive { + if (cell) { + NSString *title = [cell title]; + NSString *localizedTitle = [self localizedStringForString:title]; + if (localizedTitle) { + [cell setTitle:localizedTitle]; + } + [self localizeMenu:[cell menu] recursively:recursive]; + id obj = [cell representedObject]; + [self localizeObject:obj recursively:recursive]; + } +} + @end diff --git a/AppKit/GTMUILocalizerTestWindow.xib b/AppKit/GTMUILocalizerTestWindow.xib index 320ff9a..8c41c40 100644 --- a/AppKit/GTMUILocalizerTestWindow.xib +++ b/AppKit/GTMUILocalizerTestWindow.xib @@ -2,9 +2,9 @@ <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.03"> <data> <int key="IBDocument.SystemTarget">1050</int> - <string key="IBDocument.SystemVersion">9G55</string> + <string key="IBDocument.SystemVersion">9J61</string> <string key="IBDocument.InterfaceBuilderVersion">677</string> - <string key="IBDocument.AppKitVersion">949.43</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> @@ -243,6 +243,255 @@ <int key="NSArrowPosition">2</int> </object> </object> + <object class="NSButton" id="739084402"> + <reference key="NSNextResponder" ref="1006"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{154, 33}, {106, 18}}</string> + <reference key="NSSuperview" ref="1006"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="450501437"> + <int key="NSCellFlags">-2080244224</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">^Checkbox 1</string> + <reference key="NSSupport" ref="168773824"/> + <reference key="NSControlView" ref="739084402"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <object class="NSCustomResource" key="NSNormalImage" id="437083559"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">NSSwitch</string> + </object> + <object class="NSButtonImageSource" key="NSAlternateImage" id="634128218"> + <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="484232841"> + <reference key="NSNextResponder" ref="1006"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{291, 33}, {106, 18}}</string> + <reference key="NSSuperview" ref="1006"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="468013402"> + <int key="NSCellFlags">-2080244224</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">^Checkbox 2</string> + <reference key="NSSupport" ref="168773824"/> + <reference key="NSControlView" ref="484232841"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="437083559"/> + <reference key="NSAlternateImage" ref="634128218"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSMatrix" id="413705031"> + <reference key="NSNextResponder" ref="1006"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{351, 172}, {87, 38}}</string> + <reference key="NSSuperview" ref="1006"/> + <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="232253570"> + <int key="NSCellFlags">-2080244224</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">^Radio 1</string> + <reference key="NSSupport" ref="168773824"/> + <int key="NSTag">1</int> + <reference key="NSControlView" ref="413705031"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">128</int> + <object class="NSButtonImageSource" key="NSAlternateImage" id="182487189"> + <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="310759369"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">^Radio 2</string> + <reference key="NSSupport" ref="168773824"/> + <reference key="NSControlView" ref="413705031"/> + <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">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 +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="1027339248"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MCAwAA</bytes> + </object> + </object> + <reference key="NSAlternateImage" ref="182487189"/> + <int key="NSPeriodicDelay">400</int> + <int key="NSPeriodicInterval">75</int> + </object> + </object> + <string key="NSCellSize">{87, 18}</string> + <string key="NSIntercellSpacing">{4, 2}</string> + <int key="NSMatrixFlags">1151868928</int> + <string key="NSCellClass">NSActionCell</string> + <object class="NSButtonCell" key="NSProtoCell" id="819072791"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Radio</string> + <reference key="NSSupport" ref="168773824"/> + <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="1027339248"/> + </object> + <reference key="NSAlternateImage" ref="182487189"/> + <int key="NSPeriodicDelay">400</int> + <int key="NSPeriodicInterval">75</int> + </object> + <reference key="NSSelectedCell" ref="232253570"/> + <reference key="NSBackgroundColor" ref="1000162704"/> + <object class="NSColor" key="NSCellBackgroundColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MQA</bytes> + </object> + <reference key="NSFont" ref="168773824"/> + </object> </object> <string key="NSFrameSize">{480, 270}</string> <reference key="NSSuperview"/> @@ -371,6 +620,9 @@ <reference ref="18987080"/> <reference ref="39833761"/> <reference ref="197597199"/> + <reference ref="739084402"/> + <reference ref="484232841"/> + <reference ref="413705031"/> </object> <reference key="parent" ref="1005"/> </object> @@ -539,6 +791,60 @@ <reference key="object" ref="180141984"/> <reference key="parent" ref="768660937"/> </object> + <object class="IBObjectRecord"> + <int key="objectID">41</int> + <reference key="object" ref="739084402"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="450501437"/> + </object> + <reference key="parent" ref="1006"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">42</int> + <reference key="object" ref="450501437"/> + <reference key="parent" ref="739084402"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">45</int> + <reference key="object" ref="484232841"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="468013402"/> + </object> + <reference key="parent" ref="1006"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">46</int> + <reference key="object" ref="468013402"/> + <reference key="parent" ref="484232841"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">47</int> + <reference key="object" ref="413705031"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="232253570"/> + <reference ref="310759369"/> + <reference ref="819072791"/> + </object> + <reference key="parent" ref="1006"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">48</int> + <reference key="object" ref="232253570"/> + <reference key="parent" ref="413705031"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">49</int> + <reference key="object" ref="310759369"/> + <reference key="parent" ref="413705031"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">50</int> + <reference key="object" ref="819072791"/> + <reference key="parent" ref="413705031"/> + </object> </object> </object> <object class="NSMutableDictionary" key="flattenedProperties"> @@ -578,7 +884,15 @@ <string>38.IBPluginDependency</string> <string>39.IBPluginDependency</string> <string>4.IBPluginDependency</string> + <string>41.IBPluginDependency</string> + <string>42.IBPluginDependency</string> + <string>45.IBPluginDependency</string> + <string>46.IBPluginDependency</string> + <string>47.IBPluginDependency</string> + <string>48.IBPluginDependency</string> + <string>49.IBPluginDependency</string> <string>5.IBPluginDependency</string> + <string>50.IBPluginDependency</string> <string>6.IBPluginDependency</string> <string>7.IBPluginDependency</string> <string>8.IBPluginDependency</string> @@ -589,9 +903,9 @@ <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>{{174, 930}, {480, 270}}</string> + <string>{{174, 886}, {480, 270}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>{{174, 930}, {480, 270}}</string> + <string>{{174, 886}, {480, 270}}</string> <boolean value="NO" id="6"/> <string>{196, 240}</string> <string>{{357, 418}, {480, 270}}</string> @@ -603,9 +917,9 @@ <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>{{2775, 1068}, {480, 270}}</string> + <string>{{1808, 886}, {480, 270}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>{{2775, 1068}, {480, 270}}</string> + <string>{{1808, 886}, {480, 270}}</string> <reference ref="6"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>{{126, 673}, {161, 23}}</string> @@ -624,6 +938,14 @@ <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"> @@ -646,7 +968,7 @@ </object> </object> <nil key="sourceID"/> - <int key="maxID">40</int> + <int key="maxID">50</int> </object> <object class="IBClassDescriber" key="IBDocument.Classes"> <object class="NSMutableArray" key="referencedPartialClassDescriptions"> @@ -703,6 +1025,10 @@ </object> </object> <object class="IBPartialClassDescription"> + <string key="className">NSButton</string> + <reference key="sourceIdentifier" ref="485269976"/> + </object> + <object class="IBPartialClassDescription"> <string key="className">NSCell</string> <reference key="sourceIdentifier" ref="485269976"/> </object> @@ -788,10 +1114,21 @@ </object> <object class="IBPartialClassDescription"> <string key="className">NSView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="185860818"> + <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="485269976"/> </object> <object class="IBPartialClassDescription"> <string key="className">NSWindow</string> + <reference key="sourceIdentifier" ref="185860818"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSWindow</string> <reference key="sourceIdentifier" ref="485269976"/> </object> </object> diff --git a/AppKit/TestData/GTMUILocalizerWindow1State.gtmUTState b/AppKit/TestData/GTMUILocalizerWindow1State.gtmUTState index aea66e9..015cb93 100644 --- a/AppKit/TestData/GTMUILocalizerWindow1State.gtmUTState +++ b/AppKit/TestData/GTMUILocalizerWindow1State.gtmUTState @@ -209,6 +209,129 @@ <string>OtherViews</string> </dict> </dict> + <key>ViewSubView 6</key> + <dict> + <key>ButtonAlternateTitle</key> + <string></string> + <key>ControlIsEnabled</key> + <true/> + <key>ControlSelectedCell</key> + <dict> + <key>CellState</key> + <integer>1</integer> + <key>CellTag</key> + <integer>0</integer> + <key>CellTitle</key> + <string>Localized Checkbox 1</string> + <key>CellValue</key> + <string>1</string> + </dict> + <key>ControlTag</key> + <integer>0</integer> + <key>ControlType</key> + <string>NSButton</string> + <key>ControlValue</key> + <string>1</string> + <key>ViewIsHidden</key> + <false/> + </dict> + <key>ViewSubView 7</key> + <dict> + <key>ButtonAlternateTitle</key> + <string></string> + <key>ControlIsEnabled</key> + <true/> + <key>ControlSelectedCell</key> + <dict> + <key>CellState</key> + <integer>1</integer> + <key>CellTag</key> + <integer>0</integer> + <key>CellTitle</key> + <string>Localized Checkbox 2</string> + <key>CellValue</key> + <string>1</string> + </dict> + <key>ControlTag</key> + <integer>0</integer> + <key>ControlType</key> + <string>NSButton</string> + <key>ControlValue</key> + <string>1</string> + <key>ViewIsHidden</key> + <false/> + </dict> + <key>ViewSubView 8</key> + <dict> + <key>ControlIsEnabled</key> + <true/> + <key>ControlSelectedCell</key> + <dict> + <key>CellState</key> + <integer>1</integer> + <key>CellTag</key> + <integer>1</integer> + <key>CellTitle</key> + <string>Localized Radio 1</string> + <key>CellValue</key> + <string>1</string> + </dict> + <key>ControlTag</key> + <integer>0</integer> + <key>ControlType</key> + <string>NSMatrix</string> + <key>ControlValue</key> + <string>1</string> + <key>MatrixAllowEmptySelection</key> + <false/> + <key>MatrixAutosizesCells</key> + <true/> + <key>MatrixCell 0</key> + <dict> + <key>CellState</key> + <integer>1</integer> + <key>CellTag</key> + <integer>1</integer> + <key>CellTitle</key> + <string>Localized Radio 1</string> + <key>CellValue</key> + <string>1</string> + </dict> + <key>MatrixCell 1</key> + <dict> + <key>CellState</key> + <integer>0</integer> + <key>CellTag</key> + <integer>0</integer> + <key>CellTitle</key> + <string>Localized Radio 2</string> + <key>CellValue</key> + <string>0</string> + </dict> + <key>MatrixCellPrototype</key> + <dict> + <key>CellState</key> + <integer>0</integer> + <key>CellTag</key> + <integer>0</integer> + <key>CellTitle</key> + <string>Radio</string> + <key>CellValue</key> + <string>0</string> + </dict> + <key>MatrixColumnCount</key> + <integer>1</integer> + <key>MatrixIntercellSpacing</key> + <string>{4, 2}</string> + <key>MatrixMode</key> + <integer>0</integer> + <key>MatrixRowCount</key> + <integer>2</integer> + <key>MatrixSelectionByRect</key> + <true/> + <key>ViewIsHidden</key> + <false/> + </dict> </dict> <key>WindowIsMain</key> <false/> diff --git a/AppKit/TestData/Resources/English.lproj/Localizable.strings b/AppKit/TestData/Resources/English.lproj/Localizable.strings Binary files differindex 9786563..b68c66b 100644 --- a/AppKit/TestData/Resources/English.lproj/Localizable.strings +++ b/AppKit/TestData/Resources/English.lproj/Localizable.strings |