Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Header checkbox reimplementation finished. Rearranging rows works aga…

…in. Lots of beautifulazations. Next: Export.
  • Loading branch information...
commit f813a9e33a18e9fecba352a058c99fa9e40321e9 1 parent 78bef07
svnuser authored
View
2  CSVDocument/CSVDocument.h
@@ -72,7 +72,7 @@
- (BOOL) parseCSVString:(NSString *)string error:(NSError **)error;
- (BOOL) parseCSVString:(NSString *)string maxRows:(NSUInteger)maxRows error:(NSError **)error;
#ifdef CSV_STRING_EXPORTING
-- (NSString *) stringInFormat:(PPStringFormat *)format withColumns:(NSArray *)columnArray forRowIndexes:(NSIndexSet *)rowIndexes writeHeader:(BOOL)headerFlag;
+- (NSString *) stringInFormat:(PPStringFormat *)format withColumns:(NSArray *)columnArray forRowIndexes:(NSIndexSet *)rowIndexes includeHeaders:(BOOL)headerFlag;
#endif
// column handling
View
7 CSVDocument/CSVDocument.m
@@ -344,7 +344,7 @@ - (BOOL) parseCSVString:(NSString *)string maxRows:(NSUInteger)maxRows error:(NS
#pragma mark Returning as String
#ifdef CSV_STRING_EXPORTING
-- (NSString *) stringInFormat:(PPStringFormat *)format withColumns:(NSArray *)columnArray forRowIndexes:(NSIndexSet *)rowIndexes writeHeader:(BOOL)headerFlag
+- (NSString *) stringInFormat:(PPStringFormat *)format withColumns:(NSArray *)columnArray forRowIndexes:(NSIndexSet *)rowIndexes includeHeaders:(BOOL)headerFlag
{
if ([columnArray count] < 1) {
return @"";
@@ -361,6 +361,7 @@ - (NSString *) stringInFormat:(PPStringFormat *)format withColumns:(NSArray *)co
}
// get desired row indexes if not given
+ // TODO: Also return header rows if we want the headers!
if (nil == rowIndexes) {
if (NSNotFound == [rowController selectionIndex]) {
NSRange fullRange = NSMakeRange(0, [rows count]);
@@ -373,7 +374,9 @@ - (NSString *) stringInFormat:(PPStringFormat *)format withColumns:(NSArray *)co
NSArray *exportRows = [[rowController arrangedObjects] objectsAtIndexes:rowIndexes];
// get the string from the formatter
- return [format stringForRows:exportRows includeHeaderRows:headerFlag withColumnKeys:columnKeys];
+ NSString *string = [format stringForRows:exportRows includeHeaderRows:headerFlag withColumnKeys:columnKeys];
+ NSLog(@"--> %@ returning formatted string:\n%@", self, string);
+ return string;
}
#endif
#pragma mark -
View
5,689 CSVManipulator.xcodeproj/pp.pbxuser
4,202 additions, 1,487 deletions not shown
View
93 CSVManipulator.xcodeproj/pp.perspectivev3
@@ -234,8 +234,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -277,12 +275,15 @@
<string>2A37F4B8FDCFA73011CA2CEA</string>
<string>2A37F4C3FDCFA73011CA2CEA</string>
<string>1C37FBAC04509CD000000102</string>
+ <string>EE13770A108876B900D31816</string>
+ <string>EE13770B108876B900D31816</string>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>48</integer>
- <integer>42</integer>
+ <integer>15</integer>
+ <integer>12</integer>
+ <integer>1</integer>
<integer>0</integer>
</array>
</array>
@@ -306,7 +307,7 @@
<real>235</real>
</array>
<key>RubberWindowFrame</key>
- <string>118 102 1430 926 0 0 1680 1028 </string>
+ <string>121 102 1430 926 0 0 1680 1028 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -317,12 +318,14 @@
<key>Dock</key>
<array>
<dict>
+ <key>BecomeActive</key>
+ <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>EEF027910D6D8015000532A4</string>
<key>PBXProjectModuleLabel</key>
- <string>Info.plist</string>
+ <string>CSVDocument.m</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -330,11 +333,11 @@
<key>PBXProjectModuleGUID</key>
<string>EEF027920D6D8015000532A4</string>
<key>PBXProjectModuleLabel</key>
- <string>Info.plist</string>
+ <string>CSVDocument.m</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>EEF074AF1087880600C05DE9</string>
+ <string>EE1379881088C5EB00D31816</string>
<key>history</key>
<array>
<string>EECAA3C10D803E5200AE2D4A</string>
@@ -346,7 +349,6 @@
<string>EE9E11301042D26300554687</string>
<string>EE9E24081048283F00554687</string>
<string>EE9E241410482B3300554687</string>
- <string>EE64B60C1049E8A1000DF5D2</string>
<string>EE64B6D8104A8803000DF5D2</string>
<string>EE64B712104AADA2000DF5D2</string>
<string>EE64B713104AADA2000DF5D2</string>
@@ -356,38 +358,40 @@
<string>EE64B8F1104AC0BF000DF5D2</string>
<string>EECDB98B104AC66700260BC7</string>
<string>EECDB98C104AC66700260BC7</string>
- <string>EECDBB8D104DA80900260BC7</string>
<string>EE219E59107F71C000E28D4D</string>
<string>EEF0713F108608EF00C05DE9</string>
<string>EEF0715410860BCE00C05DE9</string>
- <string>EEF0715510860BCE00C05DE9</string>
- <string>EEF071691086102700C05DE9</string>
- <string>EEF0716A1086102700C05DE9</string>
<string>EEF071D51086164200C05DE9</string>
<string>EEF071F5108618B000C05DE9</string>
<string>EEF071F6108618B000C05DE9</string>
- <string>EEF0720B10861CB100C05DE9</string>
- <string>EEF0720D10861CB100C05DE9</string>
<string>EEF0720E10861CB100C05DE9</string>
- <string>EEF0720F10861CB100C05DE9</string>
<string>EEF0724B1086225A00C05DE9</string>
<string>EEF0724C1086225A00C05DE9</string>
- <string>EEF0724D1086225A00C05DE9</string>
<string>EEF072851086275100C05DE9</string>
- <string>EEF072A010862AAB00C05DE9</string>
<string>EEF072A110862AAB00C05DE9</string>
- <string>EEF072AD10862B2900C05DE9</string>
<string>EEF072BF10862B8A00C05DE9</string>
<string>EEF072F4108630B900C05DE9</string>
- <string>EEF07359108634CE00C05DE9</string>
- <string>EEF073621086351600C05DE9</string>
- <string>EEF0737B1086376200C05DE9</string>
- <string>EEF073831086383400C05DE9</string>
<string>EEF07453108781AD00C05DE9</string>
- <string>EEF074771087855700C05DE9</string>
- <string>EEF07488108785EC00C05DE9</string>
- <string>EEF074AD1087880600C05DE9</string>
- <string>EEF074AE1087880600C05DE9</string>
+ <string>EE13773B1088A0B700D31816</string>
+ <string>EE13773C1088A0B700D31816</string>
+ <string>EE13778E1088A95400D31816</string>
+ <string>EE1377901088A95400D31816</string>
+ <string>EE1377911088A95400D31816</string>
+ <string>EE1378901088B9D100D31816</string>
+ <string>EE1378911088B9D100D31816</string>
+ <string>EE1378941088B9D100D31816</string>
+ <string>EE1378DE1088BCD400D31816</string>
+ <string>EE1379211088C19900D31816</string>
+ <string>EE1379401088C32E00D31816</string>
+ <string>EE1379411088C32E00D31816</string>
+ <string>EE13795A1088C3F300D31816</string>
+ <string>EE13795B1088C3F300D31816</string>
+ <string>EE1379781088C4F700D31816</string>
+ <string>EE13797A1088C4F700D31816</string>
+ <string>EE13797B1088C4F700D31816</string>
+ <string>EE1379851088C5EB00D31816</string>
+ <string>EE1379861088C5EB00D31816</string>
+ <string>EE1379871088C5EB00D31816</string>
</array>
</dict>
<key>SplitCount</key>
@@ -403,7 +407,7 @@
<key>Frame</key>
<string>{{0, 0}, {1151, 880}}</string>
<key>RubberWindowFrame</key>
- <string>118 102 1430 926 0 0 1680 1028 </string>
+ <string>121 102 1430 926 0 0 1680 1028 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
@@ -442,7 +446,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {614, 336}}</string>
+ <string>{{10, 27}, {1151, -27}}</string>
+ <key>RubberWindowFrame</key>
+ <string>121 102 1430 926 0 0 1680 1028 </string>
</dict>
<key>Module</key>
<string>PBXProjectFindModule</string>
@@ -502,8 +508,6 @@
<dict>
<key>Frame</key>
<string>{{10, 27}, {1151, -27}}</string>
- <key>RubberWindowFrame</key>
- <string>118 102 1430 926 0 0 1680 1028 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -531,11 +535,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>EEF073E3108775BC00C05DE9</string>
+ <string>EE1376741088622D00D31816</string>
<string>1CA23ED40692098700951B8B</string>
- <string>EEF073E4108775BC00C05DE9</string>
+ <string>EE1376751088622D00D31816</string>
<string>EEF027910D6D8015000532A4</string>
- <string>EEF073E5108775BC00C05DE9</string>
+ <string>EE1376761088622D00D31816</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -684,14 +688,14 @@
</array>
<key>TableOfContents</key>
<array>
- <string>EEF073E6108775BC00C05DE9</string>
+ <string>EE1376771088622D00D31816</string>
<string>1CCC7628064C1048000F2A68</string>
<string>1CCC7629064C1048000F2A68</string>
- <string>EEF073E7108775BC00C05DE9</string>
- <string>EEF073E8108775BC00C05DE9</string>
- <string>EEF073E9108775BC00C05DE9</string>
- <string>EEF073EA108775BC00C05DE9</string>
- <string>EEF027910D6D8015000532A4</string>
+ <string>EE1376781088622D00D31816</string>
+ <string>EE1376791088622D00D31816</string>
+ <string>EE13767A1088622D00D31816</string>
+ <string>EE13767B1088622D00D31816</string>
+ <string>EE13767C1088622D00D31816</string>
</array>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
@@ -723,12 +727,13 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>EEF073EC108775BC00C05DE9</string>
- <string>EEF073ED108775BC00C05DE9</string>
+ <string>EEF071321086083800C05DE9</string>
+ <string>EE13768B1088687A00D31816</string>
+ <string>EE13768C1088687A00D31816</string>
<string>/Users/pp/Cocoa/CSVManipulator/CSVManipulator.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>118 102 1430 926 0 0 1680 1028 </string>
+ <string>121 102 1430 926 0 0 1680 1028 </string>
<key>WindowToolsV3</key>
<array>
<dict>
@@ -1560,7 +1565,7 @@
<key>TableOfContents</key>
<array>
<string>EEF071321086083800C05DE9</string>
- <string>EEF071331086083800C05DE9</string>
+ <string>EE1379891088C5EB00D31816</string>
<string>EEF071311086083800C05DE9</string>
</array>
<key>WindowString</key>
View
100 CSVManipulator.xcodeproj/project.pbxproj
@@ -6,6 +6,20 @@
objectVersion = 44;
objects = {
+/* Begin PBXAggregateTarget section */
+ EE1377031088767D00D31816 /* Save IB Files */ = {
+ isa = PBXAggregateTarget;
+ buildConfigurationList = EE13770E108876B900D31816 /* Build configuration list for PBXAggregateTarget "Save IB Files" */;
+ buildPhases = (
+ EE1377021088767D00D31816 /* ShellScript */,
+ );
+ dependencies = (
+ );
+ name = "Save IB Files";
+ productName = "Save IB Files";
+ };
+/* End PBXAggregateTarget section */
+
/* Begin PBXBuildFile section */
8D15AC2C0486D014006FF6A4 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 2A37F4B9FDCFA73011CA2CEA /* Credits.rtf */; };
8D15AC2F0486D014006FF6A4 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165FFE840EACC02AAC07 /* InfoPlist.strings */; };
@@ -41,6 +55,16 @@
EEF072F01086302800C05DE9 /* DataTableHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = EEF072EF1086302700C05DE9 /* DataTableHeaderView.m */; };
/* End PBXBuildFile section */
+/* Begin PBXContainerItemProxy section */
+ EE1377061088769500D31816 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 2A37F4A9FDCFA73011CA2CEA /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = EE1377031088767D00D31816 /* Save IB Files */;
+ remoteInfo = "Save IB Files";
+ };
+/* End PBXContainerItemProxy section */
+
/* Begin PBXFileReference section */
089C1660FE840EACC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
1058C7A7FEA54F5311CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
@@ -56,6 +80,7 @@
8D15AC370486D014006FF6A4 /* CSVManipulator.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CSVManipulator.app; sourceTree = BUILT_PRODUCTS_DIR; };
EE0D3A280D6F02350009A7B2 /* DataTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DataTableView.h; sourceTree = "<group>"; };
EE0D3A290D6F02350009A7B2 /* DataTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DataTableView.m; sourceTree = "<group>"; };
+ EE1377641088A54D00D31816 /* DataTableViewDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DataTableViewDelegate.h; sourceTree = "<group>"; };
EE15121C0D7F048D0092C02F /* DataTableColumn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DataTableColumn.h; sourceTree = "<group>"; };
EE15121D0D7F048D0092C02F /* DataTableColumn.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DataTableColumn.m; sourceTree = "<group>"; };
EE15121E0D7F048D0092C02F /* DataTableHeaderCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DataTableHeaderCell.h; sourceTree = "<group>"; };
@@ -89,7 +114,7 @@
EE9E110F1042BC8A00554687 /* CSVColumn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CSVColumn.h; sourceTree = "<group>"; };
EE9E11101042BC8A00554687 /* CSVColumn.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CSVColumn.m; sourceTree = "<group>"; };
EE9E19531045380800554687 /* CSVDocumentDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CSVDocumentDelegate.h; sourceTree = "<group>"; };
- EE9E1DEB1046BDC100554687 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MyDocument.xib; sourceTree = "<group>"; };
+ EE9E1DEB1046BDC100554687 /* English */ = {isa = PBXFileReference; explicitFileType = file.xib; name = English; path = English.lproj/MyDocument.xib; sourceTree = "<group>"; };
EE9E1DF11046BE1F00554687 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = "<group>"; };
EE9E21211047CF8700554687 /* PPToolbarView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PPToolbarView.h; sourceTree = "<group>"; };
EE9E21221047CF8700554687 /* PPToolbarView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PPToolbarView.m; sourceTree = "<group>"; };
@@ -220,6 +245,7 @@
EE1512230D7F04910092C02F /* DataTable */ = {
isa = PBXGroup;
children = (
+ EE1377641088A54D00D31816 /* DataTableViewDelegate.h */,
EE0D3A280D6F02350009A7B2 /* DataTableView.h */,
EE0D3A290D6F02350009A7B2 /* DataTableView.m */,
EE15121C0D7F048D0092C02F /* DataTableColumn.h */,
@@ -283,6 +309,7 @@
isa = PBXNativeTarget;
buildConfigurationList = C05733C708A9546B00998B17 /* Build configuration list for PBXNativeTarget "CSVManipulator" */;
buildPhases = (
+ EE13771B10887D9800D31816 /* ShellScript */,
8D15AC2B0486D014006FF6A4 /* Resources */,
8D15AC300486D014006FF6A4 /* Sources */,
8D15AC330486D014006FF6A4 /* Frameworks */,
@@ -290,6 +317,7 @@
buildRules = (
);
dependencies = (
+ EE1377071088769500D31816 /* PBXTargetDependency */,
);
name = CSVManipulator;
productInstallPath = "$(HOME)/Applications";
@@ -310,6 +338,7 @@
projectRoot = "";
targets = (
8D15AC270486D014006FF6A4 /* CSVManipulator */,
+ EE1377031088767D00D31816 /* Save IB Files */,
);
};
/* End PBXProject section */
@@ -330,6 +359,37 @@
};
/* End PBXResourcesBuildPhase section */
+/* Begin PBXShellScriptBuildPhase section */
+ EE1377021088767D00D31816 /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "if [ -f \"/Users/pp/Programming/SaveIBFiles.scpt\" ]; then\n\tosascript \"/Users/pp/Programming/SaveIBFiles.scpt\"\nfi";
+ showEnvVarsInLog = 0;
+ };
+ EE13771B10887D9800D31816 /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ comments = "Automatically inserts current revision number";
+ files = (
+ );
+ inputPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "REV=`svnversion -n | sed -e 's/[0-9]+://;s/[^0-9]*//g'`\n/usr/libexec/PlistBuddy -c \"Set :SVNRevision $REV\" ${PROJECT_DIR}/Info.plist";
+ };
+/* End PBXShellScriptBuildPhase section */
+
/* Begin PBXSourcesBuildPhase section */
8D15AC300486D014006FF6A4 /* Sources */ = {
isa = PBXSourcesBuildPhase;
@@ -364,6 +424,14 @@
};
/* End PBXSourcesBuildPhase section */
+/* Begin PBXTargetDependency section */
+ EE1377071088769500D31816 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = EE1377031088767D00D31816 /* Save IB Files */;
+ targetProxy = EE1377061088769500D31816 /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
/* Begin PBXVariantGroup section */
089C165FFE840EACC02AAC07 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
@@ -469,6 +537,27 @@
};
name = Release;
};
+ EE1377041088767D00D31816 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ PRODUCT_NAME = "Save IB Files";
+ };
+ name = Debug;
+ };
+ EE1377051088767D00D31816 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = YES;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
+ PRODUCT_NAME = "Save IB Files";
+ ZERO_LINK = NO;
+ };
+ name = Release;
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -490,6 +579,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
+ EE13770E108876B900D31816 /* Build configuration list for PBXAggregateTarget "Save IB Files" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ EE1377041088767D00D31816 /* Debug */,
+ EE1377051088767D00D31816 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
/* End XCConfigurationList section */
};
rootObject = 2A37F4A9FDCFA73011CA2CEA /* Project object */;
View
4 CSVWindowController.h
@@ -7,13 +7,14 @@
//
#import <Cocoa/Cocoa.h>
+#import "DataTableViewDelegate.h"
@class MyDocument;
@class PPStringFormat;
@class DataTableView;
@class PPToolbarView;
-@interface CSVWindowController : NSWindowController
+@interface CSVWindowController : NSWindowController <DataTableViewDelegate>
{
MyDocument *document;
@@ -57,7 +58,6 @@
// TableView delegate
- (void) redefineTable;
-- (void) tableView:(NSTableView *)tableView didClickTableColumn:(NSTableColumn *)tableColumn;
- (void) refreshData;
// Progress Sheet Actions
View
70 CSVWindowController.m
@@ -136,8 +136,7 @@ - (void) redefineTable
// remove OLD columns
for (NSTableColumn *oldColumn in [mainTable tableColumns]) {
[[oldColumn headerCell] unbind:@"stringValue"];
- [[oldColumn headerCell] unbind:@"checked"];
- [[oldColumn dataCell] unbind:@"titleCell"];
+ //[oldColumn unbind:@"active"];
[oldColumn unbind:@"value"];
[mainTable removeTableColumn:oldColumn];
}
@@ -150,7 +149,7 @@ - (void) redefineTable
[firstDataCell setTitle:@""];
DataTableColumn *firstTableColumn = [DataTableColumn column];
- [firstTableColumn setIdentifier:@"_isHeaderRowColumn"];
+ [firstTableColumn setIdentifier:@"_theHeaderRowColumn"];
[firstTableColumn setDataCell:firstDataCell];
[firstTableColumn setWidth:firstColumnWidth];
firstTableColumn.resizingMask = NSTableColumnNoResizing;
@@ -186,7 +185,7 @@ - (void) redefineTable
NSString *key = [tableColumn identifier];
// first column with checkboxes
- if ([@"_isHeaderRowColumn" isEqualToString:key]) {
+ if ([@"_theHeaderRowColumn" isEqualToString:key]) {
[tableColumn bind:@"value"
toObject:document.csvDocument.rowController
withKeyPath:@"arrangedObjects.headerRow"
@@ -199,16 +198,16 @@ - (void) redefineTable
toObject:document.csvDocument.rowController
withKeyPath:[NSString stringWithFormat:@"arrangedObjects.rowValues.%@", key]
options:nil];
+ // [tableColumn bind:@"active"
+ // toObject:document.csvDocument.columnDict
+ // withKeyPath:[NSString stringWithFormat:@"%@.active", key]
+ // options:nil]; // does somehow not work. Using the delegate method for now
// also bind column header
[[tableColumn headerCell] bind:@"stringValue"
toObject:document.csvDocument.columnDict
withKeyPath:[NSString stringWithFormat:@"%@.type", key]
options:nil];
- [[tableColumn headerCell] bind:@"checked"
- toObject:document.csvDocument.columnDict
- withKeyPath:[NSString stringWithFormat:@"%@.active", key]
- options:nil];
}
}
}
@@ -216,10 +215,6 @@ - (void) redefineTable
[mainTable setNeedsDisplay:YES]; // !! does not remove redundant column (graphical glitch)
}
-- (void) tableView:(NSTableView *)aTableView willDisplayCell:(id)aCell forTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
-{
-
-}
- (void) tableViewSelectionDidChange:(NSNotification *)notification
{
@@ -233,48 +228,37 @@ - (void) tableViewSelectionDidChange:(NSNotification *)notification
}
}
-/*
+
- (void) tableView:(NSTableView *)tableView didClickTableColumn:(NSTableColumn *)tableColumn
{
+ // set sort descriptors
if (mainTable == tableView) {
- NSEvent *current = [[NSApplication sharedApplication] currentEvent];
- NSPoint windowLocation = [current locationInWindow];
- NSPoint viewLocation = [tableView convertPoint:windowLocation fromView:nil];
-
- NSArray *columns = [tableView tableColumns];
- NSUInteger index = [columns indexOfObject:tableColumn];
- NSRect columnRect = [tableView rectOfColumn:index];
-
- // hit the checkbox
- if ((viewLocation.x - columnRect.origin.x) < 20.0) {
- DataTableHeaderCell *cell = (DataTableHeaderCell *)[tableColumn headerCell];
-
- cell.checked = !cell.isChecked;
- [document.csvDocument setHeaderActive:[cell isChecked] forColumnKey:[tableColumn identifier]];
- [tableView setNeedsDisplay:YES];
- }
-
- // hit the column header title
- else {
- // TODO: Improve
- [(DataTableView *)tableView setSortDescriptorsWithColumn:(DataTableColumn *)tableColumn];
- [document setDataIsAtOriginalOrder:NO];
- }
+ [(DataTableView *)tableView setSortDescriptorsWithColumn:(DataTableColumn *)tableColumn];
+ [document setDataIsAtOriginalOrder:NO];
}
}
-// */
+
+
+- (void) tableView:(DataTableView *)tableView didChangeTableColumnState:(DataTableColumn *)tableColumn
+{
+ [document.csvDocument setHeaderActive:tableColumn.active forColumnKey:[tableColumn identifier]];
+}
+
+
- (void) tableView:(NSTableView *)tableView didDragTableColumn:(NSTableColumn *)tableColumn
{
- if(mainTable == tableView) {
- NSEnumerator *walker = [[tableView tableColumns] objectEnumerator];
+ if (mainTable == tableView) {
NSMutableArray *arr = [NSMutableArray array];
- id col;
- while(col = [walker nextObject]) {
- [arr addObject:[col identifier]];
+ // propagate changes to CSVDocument
+ for (DataTableColumn *col in [tableView tableColumns]) {
+ CSVColumn *csvCol = [document.csvDocument.columnDict objectForKey:[col identifier]];
+ if (nil != csvCol) {
+ [arr addObject:csvCol];
+ }
}
+ document.csvDocument.columns = [arr copy];
- //[document setColumnOrder:arr];
document.documentEdited = YES;
}
}
View
12 DataTable/DataTableColumn.h
@@ -7,17 +7,21 @@
//
#import <Cocoa/Cocoa.h>
-@class DataTableHeaderCell;
@interface DataTableColumn : NSTableColumn {
- DataTableHeaderCell *headerCell;
+ BOOL active;
+ NSUInteger sortPriority; // needed to keep track of the sort state
+ BOOL sortAscending; // needed to keep track of the sort state
}
-@property (nonatomic, retain) DataTableHeaderCell *headerCell;
+@property (nonatomic, assign) BOOL active;
+@property (nonatomic, readonly) NSUInteger sortPriority;
+@property (nonatomic, readonly) BOOL sortAscending;
+ (DataTableColumn *) column;
-- (BOOL) handlesClickAtPoint:(NSPoint)point;
+
+-(void) setSortAscending:(BOOL)ascending priority:(NSUInteger)priority; // needed to show sort state of the column
@end
View
51 DataTable/DataTableColumn.m
@@ -8,20 +8,31 @@
#import "DataTableColumn.h"
#import "DataTableHeaderCell.h"
+#import "DataTableView.h"
#import "CSVColumn.h"
@implementation DataTableColumn
-@synthesize headerCell;
+@dynamic active;
+@synthesize sortPriority;
+@synthesize sortAscending;
++ (void) initialize
+{
+ [self exposeBinding:@"active"];
+}
+
- (id) init
{
self = [super init];
if (nil != self) {
- self.headerCell = [[[DataTableHeaderCell alloc] init] autorelease];
- headerCell.checked = YES;
+ sortPriority = 1;
+ DataTableHeaderCell *headerCell = [[[DataTableHeaderCell alloc] init] autorelease];
+ headerCell.myColumn = self;
+ [self setHeaderCell:headerCell];
+ self.active = YES;
}
return self;
@@ -31,21 +42,43 @@ + (DataTableColumn *) column
{
return [[[DataTableColumn alloc] init] autorelease];
}
+#pragma mark -
+
+
+
+#pragma mark KVC
+- (BOOL) active
+{
+ return active;
+}
+- (void) setActive:(BOOL)newActive
+{
+ if (newActive != active) {
+ active = newActive;
+ ((DataTableHeaderCell *)[self headerCell]).checked = active;
+ [(DataTableView *)[self tableView] columnDidChangeCheckedStatus:self];
+ }
+}
+#pragma mark -
+
+
-- (void) dealloc
+#pragma mark Sorting
+- (void) setSortAscending:(BOOL)ascending priority:(NSUInteger)priority
{
- self.headerCell = nil;
+ sortAscending = ascending;
+ sortPriority = priority;
- [super dealloc];
+ [(NSControl *)[[self headerCell] controlView] updateCell:[self headerCell]];
}
#pragma mark -
-#pragma mark Events
-- (BOOL) handlesClickAtPoint:(NSPoint)point
+#pragma mark Utilities
+- (NSString *) description
{
- return NO;
+ return [NSString stringWithFormat:@"%@ <0x%x>, active: %i", NSStringFromClass([self class]), self, active];
}
View
10 DataTable/DataTableHeaderCell.h
@@ -7,26 +7,24 @@
//
#import <Cocoa/Cocoa.h>
+@class DataTableColumn;
@interface DataTableHeaderCell : NSTableHeaderCell {
+ DataTableColumn *myColumn;
+
BOOL showsCheckbox;
BOOL checked;
NSButtonCell *headerCheckbox;
NSTextFieldCell *headerTextfield;
NSRect headerCheckboxRect;
-
- NSUInteger sortPriority; // needed to keep track of the sort state
- BOOL sortAscending; // needed to keep track of the sort state
}
+@property (nonatomic, assign) DataTableColumn *myColumn;
@property (nonatomic, assign) BOOL showsCheckbox;
@property (nonatomic, assign, getter=isChecked) BOOL checked;
@property (nonatomic, retain) NSButtonCell *headerCheckbox;
@property (nonatomic, retain) NSTextFieldCell *headerTextfield;
-@property (nonatomic, readonly) BOOL sortAscending;
-
--(void) setSortAscending:(BOOL)ascending priority:(NSUInteger)priority; // needed to show sort state of the column
@end
View
52 DataTable/DataTableHeaderCell.m
@@ -7,15 +7,24 @@
//
#import "DataTableHeaderCell.h"
+#import "DataTableColumn.h"
+
+
+@interface DataTableHeaderCell ()
+
+- (void) checkboxAction:(NSView *)controlView;
+
+@end
+
@implementation DataTableHeaderCell
+@synthesize myColumn;
@synthesize showsCheckbox;
@synthesize checked;
@synthesize headerCheckbox;
@synthesize headerTextfield;
-@synthesize sortAscending;
- (id) init
@@ -23,12 +32,14 @@ - (id) init
self = [super init];
if (nil != self) {
showsCheckbox = YES;
- sortPriority = 1;
headerCheckboxRect = NSZeroRect;
self.headerCheckbox = [[[NSButtonCell alloc] init] autorelease];
[headerCheckbox setButtonType:NSSwitchButton];
[headerCheckbox setControlSize:NSSmallControlSize];
+ [headerCheckbox setTarget:self];
+ [headerCheckbox setAction:@selector(checkboxAction:)];
+ [headerCheckbox sendActionOn:NSLeftMouseUpMask];
self.headerTextfield = [[[NSTextFieldCell alloc] init] autorelease];
[headerTextfield setTextColor:[NSColor blackColor]];
@@ -39,6 +50,7 @@ - (id) init
- (void) dealloc
{
+ self.myColumn = nil;
self.headerCheckbox = nil;
self.headerTextfield = nil;
@@ -49,8 +61,12 @@ - (id) copyWithZone:(NSZone*)zone
{
DataTableHeaderCell *cell = (DataTableHeaderCell *)[super copyWithZone:zone];
+ cell.myColumn = nil; // to avoid associating with the same column
+ cell->showsCheckbox = showsCheckbox;
cell->headerCheckbox = nil;
cell.headerCheckbox = [headerCheckbox copyWithZone:zone];
+ cell->headerCheckboxRect = headerCheckboxRect;
+ cell.checked = NO; // does not work...
cell->headerTextfield = nil;
cell.headerTextfield = [headerTextfield copyWithZone:zone];
@@ -72,11 +88,25 @@ - (void) setStringValue:(NSString *)newString
- (BOOL) isChecked
{
- return (NSOnState == [headerCheckbox state]);
+ return checked;
}
- (void) setChecked:(BOOL)flag
{
- [headerCheckbox setState:(flag ? NSOnState : NSOffState)];
+ checked = flag;
+
+ // adjust our checkbox
+ if (headerCheckbox) {
+ NSCellStateValue curState = headerCheckbox.state;
+ NSCellStateValue newState = (flag ? NSOnState : NSOffState);
+ if (curState != newState) {
+ [headerCheckbox setState:newState];
+ }
+ }
+
+ // tell our column
+ if (myColumn) {
+ myColumn.active = checked;
+ }
}
#pragma mark -
@@ -106,13 +136,9 @@ - (BOOL) trackMouse:(NSEvent *)theEvent inRect:(NSRect)cellFrame ofView:(NSView
return [super trackMouse:theEvent inRect:cellFrame ofView:controlView untilMouseUp:untilMouseUp];
}
-
-- (void) setSortAscending:(BOOL)ascending priority:(NSUInteger)priority
+- (void) checkboxAction:(NSView *)controlView
{
- sortAscending = ascending;
- sortPriority = priority;
-
- [(NSControl *)[self controlView] updateCell:self];
+ self.checked = (NSOnState == headerCheckbox.state);
}
#pragma mark -
@@ -129,7 +155,7 @@ - (void) drawWithFrame:(NSRect)cellFrame inView:(NSView*)controlView
topColor = [NSColor colorWithDeviceWhite:0.74 alpha:1.0];
bottomColor = [NSColor colorWithDeviceWhite:0.62 alpha:1.0];
}
- else if (0 == sortPriority) { // active sorting column
+ else if (nil != myColumn && 0 == myColumn.sortPriority) { // active sorting column
NSColor *selectedColor = [NSColor selectedTextBackgroundColor];
topColor = [selectedColor blendedColorWithFraction:0.1 ofColor:[NSColor whiteColor]];
bottomColor = [selectedColor blendedColorWithFraction:0.1 ofColor:[NSColor blackColor]];
@@ -179,7 +205,9 @@ - (void) drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
textFrame.size.width -= 20 + sortIndicator.size.width;
}
[headerTextfield drawWithFrame:textFrame inView:controlView];
- [self drawSortIndicatorWithFrame:cellFrame inView:controlView ascending:sortAscending priority:sortPriority];
+
+ NSUInteger priority = (nil != myColumn) ? myColumn.sortPriority : 1;
+ [self drawSortIndicatorWithFrame:cellFrame inView:controlView ascending:myColumn.sortAscending priority:priority];
}
View
2  DataTable/DataTableView.h
@@ -16,6 +16,6 @@
}
- (void) setSortDescriptorsWithColumn:(DataTableColumn *)tableColumn;
-
+- (void) columnDidChangeCheckedStatus:(DataTableColumn *)tableColumn;
@end
View
23 DataTable/DataTableView.m
@@ -7,6 +7,7 @@
//
#import "DataTableView.h"
+#import "DataTableViewDelegate.h"
#import "MyDocument.h"
#import "DataTableColumn.h"
#import "DataTableHeaderView.h"
@@ -26,7 +27,7 @@ - (void) dealloc
-#pragma mark Tasks
+#pragma mark Awakening
- (void) awakeFromNib
{
// exchange the header view
@@ -36,6 +37,11 @@ - (void) awakeFromNib
[self setHeaderView:newHeader];
}
}
+# pragma mark -
+
+
+
+#pragma mark Column Delegate
// this controls sorting - overridden since we don't want the table to re-sort when we click the checkbox in the header, we...
@@ -55,12 +61,21 @@ - (void) setSortDescriptorsWithColumn:(DataTableColumn *)tableColumn
// make the header cell indicate sort status
BOOL ascending = NO;
for (DataTableColumn *column in [self tableColumns]) {
- ascending = column.headerCell.sortAscending;
+ ascending = column.sortAscending;
if (column == tableColumn) {
- [column.headerCell setSortAscending:!ascending priority:0];
+ [column setSortAscending:!ascending priority:0];
}
else {
- [column.headerCell setSortAscending:ascending priority:1];
+ [column setSortAscending:ascending priority:1];
+ }
+ }
+}
+
+- (void) columnDidChangeCheckedStatus:(DataTableColumn *)tableColumn
+{
+ if (nil != tableColumn) {
+ if (self.delegate && [self.delegate respondsToSelector:@selector(tableView:didChangeTableColumnState:)]) {
+ [self.delegate tableView:self didChangeTableColumnState:tableColumn];
}
}
}
View
22 DataTable/DataTableViewDelegate.h
@@ -0,0 +1,22 @@
+//
+// DataTableViewDelegate.h
+// CSVManipulator
+//
+// Created by Pascal Pfiffner on 10/16/09.
+// Copyright 2009 __MyCompanyName__. All rights reserved.
+//
+
+
+#import <Cocoa/Cocoa.h>
+@class DataTableView;
+@class DataTableColumn;
+
+
+@protocol DataTableViewDelegate <NSObject>
+
+@optional
+
+- (void) tableView:(DataTableView *)tableView didChangeTableColumnState:(DataTableColumn *)tableColumn;
+
+
+@end
View
727 English.lproj/MainMenu.xib
@@ -1,19 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
-<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.03">
+<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">1050</int>
- <string key="IBDocument.SystemVersion">10A432</string>
- <string key="IBDocument.InterfaceBuilderVersion">677</string>
- <string key="IBDocument.AppKitVersion">1038</string>
+ <string key="IBDocument.SystemVersion">10B504</string>
+ <string key="IBDocument.InterfaceBuilderVersion">732</string>
+ <string key="IBDocument.AppKitVersion">1038.2</string>
<string key="IBDocument.HIToolboxVersion">437.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="NS.object.0">732</string>
+ </object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="81"/>
<integer value="380"/>
+ <integer value="81"/>
</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">
@@ -86,7 +89,7 @@
</object>
<object class="NSMenuItem" id="609285721">
<reference key="NSMenu" ref="110575045"/>
- <string type="base64-UTF8" key="NSTitle">UHJlZmVyZW5jZXPigKY</string>
+ <string key="NSTitle">Preferences…</string>
<string key="NSKeyEquiv">,</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
@@ -216,7 +219,7 @@
</object>
<object class="NSMenuItem" id="722745758">
<reference key="NSMenu" ref="720053764"/>
- <string type="base64-UTF8" key="NSTitle">T3BlbuKApg</string>
+ <string key="NSTitle">Open…</string>
<string key="NSKeyEquiv">o</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
@@ -280,7 +283,7 @@
</object>
<object class="NSMenuItem" id="117038363">
<reference key="NSMenu" ref="720053764"/>
- <string type="base64-UTF8" key="NSTitle">U2F2ZSBBc+KApg</string>
+ <string key="NSTitle">Save As…</string>
<string key="NSKeyEquiv">S</string>
<int key="NSKeyEquivModMask">1179648</int>
<int key="NSMnemonicLoc">2147483647</int>
@@ -327,7 +330,7 @@
</object>
<object class="NSMenuItem" id="49223823">
<reference key="NSMenu" ref="720053764"/>
- <string type="base64-UTF8" key="NSTitle">UHJpbnTigKY</string>
+ <string key="NSTitle">Print…</string>
<string key="NSKeyEquiv">p</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
@@ -450,7 +453,7 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMenuItem" id="447796847">
<reference key="NSMenu" ref="963351320"/>
- <string type="base64-UTF8" key="NSTitle">RmluZOKApg</string>
+ <string key="NSTitle">Find…</string>
<string key="NSKeyEquiv">f</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
@@ -515,7 +518,7 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMenuItem" id="679648819">
<reference key="NSMenu" ref="769623530"/>
- <string type="base64-UTF8" key="NSTitle">U2hvdyBTcGVsbGluZ+KApg</string>
+ <string key="NSTitle">Show Spelling…</string>
<string key="NSKeyEquiv">:</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
@@ -693,7 +696,7 @@
</object>
<object class="NSMenuItem" id="237841660">
<reference key="NSMenu" ref="466310130"/>
- <string type="base64-UTF8" key="NSTitle">Q3VzdG9taXplIFRvb2xiYXLigKY</string>
+ <string key="NSTitle">Customize Toolbar…</string>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
@@ -803,7 +806,7 @@
<string key="NSContents">Filename:</string>
<object class="NSFont" key="NSSupport" id="871166338">
<string key="NSName">LucidaGrande</string>
- <double key="NSSize">1.300000e+01</double>
+ <double key="NSSize">13</double>
<int key="NSfFlags">1044</int>
</object>
<reference key="NSControlView" ref="564666629"/>
@@ -813,7 +816,7 @@
<string key="NSColorName">controlColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MC42NjY2NjY2ODY1AA</bytes>
+ <bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
</object>
</object>
<object class="NSColor" key="NSTextColor" id="991203464">
@@ -1202,7 +1205,7 @@
<int key="objectID">-2</int>
<reference key="object" ref="1021"/>
<reference key="parent" ref="0"/>
- <string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
+ <string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
@@ -1855,8 +1858,6 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
- <string>-1.IBPluginDependency</string>
- <string>-2.IBPluginDependency</string>
<string>-3.IBPluginDependency</string>
<string>103.IBPluginDependency</string>
<string>103.ImportedFromIB2</string>
@@ -2002,8 +2003,6 @@
<string>354.IBPluginDependency</string>
<string>354.ImportedFromIB2</string>
<string>374.IBPluginDependency</string>
- <string>375.IBPluginDependency</string>
- <string>379.IBPluginDependency</string>
<string>380.IBEditorWindowLastContentRect</string>
<string>380.IBPluginDependency</string>
<string>381.IBPluginDependency</string>
@@ -2051,123 +2050,121 @@
<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>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1" id="9"/>
+ <integer value="1"/>
<string>{{579, 813}, {217, 23}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>{{596, 852}, {216, 23}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>{{698, 732}, {146, 23}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>{{522, 812}, {146, 23}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>{{436, 809}, {64, 6}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>{{598, 573}, {275, 83}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>{{608, 612}, {275, 83}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>{{348, 593}, {250, 243}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>{{197, 734}, {243, 243}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>{{598, 573}, {167, 43}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>{{608, 612}, {167, 43}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>{{608, 612}, {241, 103}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>{{508, 763}, {197, 73}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>{{525, 802}, {197, 73}}</string>
<string>{{296, 836}, {478, 20}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>{74, 862}</string>
<string>{{11, 977}, {478, 20}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -2183,21 +2180,19 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>{{598, 573}, {215, 63}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>{{608, 612}, {215, 63}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{224, 426}, {500, 100}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -2207,41 +2202,41 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>{{335, 652}, {247, 183}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>{{23, 794}, {245, 183}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
- <string>{{440, 593}, {231, 243}}</string>
+ <integer value="1"/>
+ <string>{{440, 593}, {228, 243}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>{{155, 774}, {199, 203}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
+ <integer value="1"/>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
@@ -2269,17 +2264,8 @@
<string key="className">AppController</string>
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="actions">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>newDocumentFromClipboard:</string>
- <string>newGraphWindow:</string>
- </object>
- <object class="NSMutableArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>id</string>
- <string>id</string>
- </object>
+ <string key="NS.key.0">newDocumentFromClipboard:</string>
+ <string key="NS.object.0">id</string>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
@@ -2331,8 +2317,533 @@
</object>
</object>
</object>
+ <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSActionCell</string>
+ <string key="superclassName">NSCell</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSActionCell.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSApplication</string>
+ <string key="superclassName">NSResponder</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="1062402119">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSApplication.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSApplication</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="274984020">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSApplicationScripting.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSApplication</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="404193408">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSColorPanel.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSApplication</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSHelpManager.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSApplication</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSPageLayout.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSApplication</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSBrowser</string>
+ <string key="superclassName">NSControl</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSBrowser.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSCell</string>
+ <string key="superclassName">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSCell.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSControl</string>
+ <string key="superclassName">NSView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="106733057">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSControl.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSDocument</string>
+ <string key="superclassName">NSObject</string>
+ <object class="NSMutableDictionary" key="actions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>printDocument:</string>
+ <string>revertDocumentToSaved:</string>
+ <string>runPageLayout:</string>
+ <string>saveDocument:</string>
+ <string>saveDocumentAs:</string>
+ <string>saveDocumentTo:</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSDocument.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSDocument</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSDocumentScripting.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSDocumentController</string>
+ <string key="superclassName">NSObject</string>
+ <object class="NSMutableDictionary" key="actions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>clearRecentDocuments:</string>
+ <string>newDocument:</string>
+ <string>openDocument:</string>
+ <string>saveAllDocuments:</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSDocumentController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSFormatter</string>
+ <string key="superclassName">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSFormatter.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSMatrix</string>
+ <string key="superclassName">NSControl</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSMatrix.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSMenu</string>
+ <string key="superclassName">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="538393112">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSMenu.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSMenuItem</string>
+ <string key="superclassName">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="339022315">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSMenuItem.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSMovieView</string>
+ <string key="superclassName">NSView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSMovieView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSAccessibility.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <reference key="sourceIdentifier" ref="1062402119"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <reference key="sourceIdentifier" ref="274984020"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <reference key="sourceIdentifier" ref="404193408"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <reference key="sourceIdentifier" ref="106733057"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSDictionaryController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSDragging.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSFontManager.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSFontPanel.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSKeyValueBinding.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <reference key="sourceIdentifier" ref="538393112"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSNibLoading.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSOutlineView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSPasteboard.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSSavePanel.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="59858797">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSTableView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSToolbarItem.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="23854807">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSArchiver.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSClassDescription.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSError.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSObjectScripting.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSPortCoder.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSScriptClassDescription.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSScriptWhoseTests.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSURLDownload.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSResponder</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSInterfaceStyle.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSResponder</string>
+ <string key="superclassName">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSResponder.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSTableView</string>
+ <string key="superclassName">NSControl</string>
+ <reference key="sourceIdentifier" ref="59858797"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSText</string>
+ <string key="superclassName">NSView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSText.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSTextField</string>
+ <string key="superclassName">NSControl</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSTextField.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSTextFieldCell</string>
+ <string key="superclassName">NSActionCell</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSTextFieldCell.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSClipView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSView</string>
+ <reference key="sourceIdentifier" ref="339022315"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSRulerView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSView</string>
+ <string key="superclassName">NSResponder</string>
+ <reference key="sourceIdentifier" ref="23854807"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSWindow</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSDrawer.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSWindow</string>
+ <string key="superclassName">NSResponder</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSWindow.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSWindow</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSWindowScripting.h</string>
+ </object>
+ </object>
+ </object>
</object>
<int key="IBDocument.localizationMode">0</int>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
+ <integer value="1050" key="NS.object.0"/>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
+ <integer value="1050" key="NS.object.0"/>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
+ <integer value="3000" key="NS.object.0"/>
+ </object>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">../CSVManipulator.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
</data>
View
34 English.lproj/MyDocument.xib
@@ -12,7 +12,7 @@
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="100021"/>
+ <integer value="100296"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -1299,20 +1299,6 @@
<reference key="parent" ref="779565336"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">100299</int>
- <reference key="object" ref="95163717"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="185441199"/>
- </object>
- <reference key="parent" ref="173972894"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">100300</int>
- <reference key="object" ref="185441199"/>
- <reference key="parent" ref="95163717"/>
- </object>
- <object class="IBObjectRecord">
<int key="objectID">100312</int>
<reference key="object" ref="418934109"/>