aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Interfaces/English.lproj/DBView.xib626
-rw-r--r--Source/SPTableStructure.h3
-rw-r--r--Source/SPTableStructure.m57
3 files changed, 634 insertions, 52 deletions
diff --git a/Interfaces/English.lproj/DBView.xib b/Interfaces/English.lproj/DBView.xib
index 1bbc8f52..2d66bbf5 100644
--- a/Interfaces/English.lproj/DBView.xib
+++ b/Interfaces/English.lproj/DBView.xib
@@ -23,7 +23,7 @@
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="7503"/>
+ <integer value="7654"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -47,7 +47,7 @@
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSCustomView" id="632807581">
- <nil key="NSNextResponder"/>
+ <reference key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -940,7 +940,7 @@
<object class="NSTabViewItem" id="831053945">
<string key="NSIdentifier">source</string>
<object class="NSView" key="NSView" id="461236772">
- <nil key="NSNextResponder"/>
+ <reference key="NSNextResponder" ref="714795046"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -954,10 +954,118 @@
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="BWAnchoredPopUpButton" id="844922654">
+ <reference key="NSNextResponder" ref="220777809"/>
+ <int key="NSvFlags">292</int>
+ <string key="NSFrame">{{124, -1}, {32, 24}}</string>
+ <reference key="NSSuperview" ref="220777809"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="BWAnchoredPopUpButtonCell" key="NSCell" id="688701059">
+ <int key="NSCellFlags">71433792</int>
+ <int key="NSCellFlags2">134219776</int>
+ <reference key="NSSupport" ref="244931163"/>
+ <reference key="NSControlView" ref="844922654"/>
+ <int key="NSButtonFlags">-2038284033</int>
+ <int key="NSButtonFlags2">163</int>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">400</int>
+ <int key="NSPeriodicInterval">75</int>
+ <object class="NSMenuItem" key="NSMenuItem" id="388408398">
+ <reference key="NSMenu" ref="1032311748"/>
+ <bool key="NSIsHidden">YES</bool>
+ <string key="NSTitle"/>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSImage" ref="551275390"/>
+ <reference key="NSOnImage" ref="450876295"/>
+ <reference key="NSMixedImage" ref="414351669"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="688701059"/>
+ </object>
+ <bool key="NSMenuItemRespectAlignment">YES</bool>
+ <object class="NSMenu" key="NSMenu" id="1032311748">
+ <string key="NSTitle">OtherViews</string>
+ <object class="NSMutableArray" key="NSMenuItems">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="388408398"/>
+ <object class="NSMenuItem" id="995423539">
+ <reference key="NSMenu" ref="1032311748"/>
+ <string key="NSTitle">View Columns</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="450876295"/>
+ <reference key="NSMixedImage" ref="414351669"/>
+ <string key="NSAction">submenuAction:</string>
+ <object class="NSMenu" key="NSSubmenu" id="361834046">
+ <string key="NSTitle">View Columns</string>
+ <object class="NSMutableArray" key="NSMenuItems">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSMenuItem" id="746368739">
+ <reference key="NSMenu" ref="361834046"/>
+ <string key="NSTitle">Key</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <int key="NSState">1</int>
+ <reference key="NSOnImage" ref="450876295"/>
+ <reference key="NSMixedImage" ref="414351669"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <int key="NSTag">7</int>
+ <reference key="NSTarget" ref="688701059"/>
+ </object>
+ <object class="NSMenuItem" id="175745626">
+ <reference key="NSMenu" ref="361834046"/>
+ <string key="NSTitle">Encoding</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <int key="NSState">1</int>
+ <reference key="NSOnImage" ref="450876295"/>
+ <reference key="NSMixedImage" ref="414351669"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <int key="NSTag">10</int>
+ <reference key="NSTarget" ref="688701059"/>
+ </object>
+ <object class="NSMenuItem" id="975189907">
+ <reference key="NSMenu" ref="361834046"/>
+ <string key="NSTitle">Collation</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <int key="NSState">1</int>
+ <reference key="NSOnImage" ref="450876295"/>
+ <reference key="NSMixedImage" ref="414351669"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <int key="NSTag">11</int>
+ <reference key="NSTarget" ref="688701059"/>
+ </object>
+ <object class="NSMenuItem" id="776631612">
+ <reference key="NSMenu" ref="361834046"/>
+ <string key="NSTitle">Comment</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <int key="NSState">1</int>
+ <reference key="NSOnImage" ref="450876295"/>
+ <reference key="NSMixedImage" ref="414351669"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <int key="NSTag">12</int>
+ <reference key="NSTarget" ref="688701059"/>
+ </object>
+ </object>
+ </object>
+ </object>
+ </object>
+ </object>
+ <int key="NSSelectedIndex">1</int>
+ <bool key="NSPullDown">YES</bool>
+ <int key="NSPreferredEdge">1</int>
+ <bool key="NSUsesItemFromMenu">YES</bool>
+ <bool key="NSAltersState">YES</bool>
+ </object>
+ </object>
<object class="NSButton" id="168895907">
<reference key="NSNextResponder" ref="220777809"/>
<int key="NSvFlags">-2147483356</int>
- <string key="NSFrame">{{124, -1}, {33, 25}}</string>
+ <string key="NSFrame">{{155, -1}, {33, 25}}</string>
<reference key="NSSuperview" ref="220777809"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="598509241">
@@ -1729,7 +1837,7 @@
<string>NeXT TIFF v4.0 pasteboard type</string>
</object>
</object>
- <string key="NSFrame">{{125, 2}, {538, 23}}</string>
+ <string key="NSFrame">{{156, 0}, {507, 23}}</string>
<reference key="NSSuperview" ref="220777809"/>
<bool key="NSEnabled">YES</bool>
<object class="NSImageCell" key="NSCell" id="4715">
@@ -2311,6 +2419,7 @@
</object>
</object>
<string key="NSFrame">{{10, 7}, {706, 544}}</string>
+ <reference key="NSSuperview" ref="714795046"/>
</object>
<string key="NSLabel">Structure</string>
<reference key="NSColor" ref="62854682"/>
@@ -2319,7 +2428,7 @@
<object class="NSTabViewItem" id="624106058">
<string key="NSIdentifier">content</string>
<object class="NSView" key="NSView" id="1013108064">
- <reference key="NSNextResponder" ref="714795046"/>
+ <nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -3083,7 +3192,6 @@
</object>
</object>
<string key="NSFrame">{{10, 7}, {706, 544}}</string>
- <reference key="NSSuperview" ref="714795046"/>
</object>
<string key="NSLabel">Content</string>
<reference key="NSColor" ref="62854682"/>
@@ -6059,14 +6167,14 @@
<reference key="NSTabView" ref="714795046"/>
</object>
</object>
- <reference key="NSSelectedTabViewItem" ref="624106058"/>
+ <reference key="NSSelectedTabViewItem" ref="831053945"/>
<reference key="NSFont" ref="26"/>
<int key="NSTvFlags">134217731</int>
<bool key="NSAllowTruncatedLabels">YES</bool>
<bool key="NSDrawsBackground">YES</bool>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="1013108064"/>
+ <reference ref="461236772"/>
</object>
</object>
</object>
@@ -6083,6 +6191,7 @@
</object>
</object>
<string key="NSFrameSize">{943, 549}</string>
+ <reference key="NSSuperview"/>
<string key="NSClassName">NSView</string>
</object>
<object class="NSWindowTemplate" id="554105051">
@@ -9281,7 +9390,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
<string key="NSWindowContentMinSize">{380, 170}</string>
<object class="NSView" key="NSWindowView" id="257361103">
- <reference key="NSNextResponder"/>
+ <nil key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -9298,7 +9407,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<object class="BWTransparentTableView" id="1256480">
<reference key="NSNextResponder" ref="585936743"/>
<int key="NSvFlags">4352</int>
- <string key="NSFrameSize">{478, 1002}</string>
+ <string key="NSFrameSize">{478, 53}</string>
<reference key="NSSuperview" ref="585936743"/>
<bool key="NSEnabled">YES</bool>
<object class="_NSCornerView" key="NSCornerView">
@@ -9371,7 +9480,6 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{-100, -100}, {15, 120}}</string>
<reference key="NSSuperview" ref="571404189"/>
- <bool key="NSEnabled">YES</bool>
<int key="NSArrowsLoc">2</int>
<reference key="NSTarget" ref="571404189"/>
<string key="NSAction">_doScroller:</string>
@@ -9391,7 +9499,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<string key="NSFrameSize">{480, 55}</string>
<reference key="NSSuperview" ref="257361103"/>
<reference key="NSNextKeyView" ref="585936743"/>
- <int key="NSsFlags">65</int>
+ <int key="NSsFlags">1</int>
<reference key="NSVScroller" ref="175346013"/>
<reference key="NSHScroller" ref="750508133"/>
<reference key="NSContentView" ref="585936743"/>
@@ -9606,29 +9714,6 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<object class="NSTextView" id="378021102">
<reference key="NSNextResponder" ref="673776733"/>
<int key="NSvFlags">2322</int>
- <object class="NSMutableSet" key="NSDragTypes">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="set.sortedObjects">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>Apple HTML pasteboard type</string>
- <string>Apple PDF pasteboard type</string>
- <string>Apple PICT pasteboard type</string>
- <string>Apple PNG pasteboard type</string>
- <string>Apple URL pasteboard type</string>
- <string>CorePasteboardFlavorType 0x6D6F6F76</string>
- <string>NSColor pasteboard type</string>
- <string>NSFilenamesPboardType</string>
- <string>NSStringPboardType</string>
- <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
- <string>NeXT RTFD pasteboard type</string>
- <string>NeXT Rich Text Format v1.0 pasteboard type</string>
- <string>NeXT TIFF v4.0 pasteboard type</string>
- <string>NeXT font pasteboard type</string>
- <string>NeXT ruler pasteboard type</string>
- <string>WebURLsWithTitlesPboardType</string>
- <string>public.url</string>
- </object>
- </object>
<string key="NSFrameSize">{480, 14}</string>
<reference key="NSSuperview" ref="673776733"/>
<object class="NSTextContainer" key="NSTextContainer" id="310042793">
@@ -9936,7 +10021,6 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<bool key="NSNoAutoenable">YES</bool>
<reference key="NSMenuFont" ref="244931163"/>
</object>
- <int key="NSSelectedIndex">3</int>
<bool key="NSPullDown">YES</bool>
<int key="NSPreferredEdge">1</int>
<bool key="NSUsesItemFromMenu">YES</bool>
@@ -9945,7 +10029,6 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
</object>
</object>
<string key="NSFrameSize">{480, 269}</string>
- <reference key="NSSuperview"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1280, 778}}</string>
<string key="NSMinSize">{380, 192}</string>
@@ -9963,7 +10046,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<string key="NSWindowContentMaxSize">{261, 157}</string>
<string key="NSWindowContentMinSize">{261, 157}</string>
<object class="NSView" key="NSWindowView" id="680570399">
- <reference key="NSNextResponder"/>
+ <nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -9982,7 +10065,6 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<int key="NSvFlags">2322</int>
<string key="NSFrameSize">{232, 58}</string>
<reference key="NSSuperview" ref="958883561"/>
- <reference key="NSWindow"/>
<object class="NSTextContainer" key="NSTextContainer" id="650906113">
<object class="NSLayoutManager" key="NSLayoutManager">
<object class="NSTextStorage" key="NSTextStorage">
@@ -10145,7 +10227,6 @@ bGQgTmFtZQkgID0gQAoJCQkJICBMRU5HVEgoYEBgKSA+IEA</bytes>
</object>
<string key="NSFrameSize">{232, 99}</string>
<reference key="NSSuperview" ref="176747162"/>
- <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="561854733"/>
<reference key="NSDocView" ref="561854733"/>
<reference key="NSBGColor" ref="449903125"/>
@@ -10157,7 +10238,6 @@ bGQgTmFtZQkgID0gQAoJCQkJICBMRU5HVEgoYEBgKSA+IEA</bytes>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{-100, -100}, {15, 46}}</string>
<reference key="NSSuperview" ref="176747162"/>
- <reference key="NSWindow"/>
<reference key="NSTarget" ref="176747162"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">0.75409835577011108</double>
@@ -10167,7 +10247,6 @@ bGQgTmFtZQkgID0gQAoJCQkJICBMRU5HVEgoYEBgKSA+IEA</bytes>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{-100, -100}, {87, 18}}</string>
<reference key="NSSuperview" ref="176747162"/>
- <reference key="NSWindow"/>
<int key="NSsFlags">1</int>
<reference key="NSTarget" ref="176747162"/>
<string key="NSAction">_doScroller:</string>
@@ -10177,7 +10256,6 @@ bGQgTmFtZQkgID0gQAoJCQkJICBMRU5HVEgoYEBgKSA+IEA</bytes>
</object>
<string key="NSFrame">{{15, 6}, {232, 99}}</string>
<reference key="NSSuperview" ref="680570399"/>
- <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="958883561"/>
<int key="NSsFlags">0</int>
<reference key="NSVScroller" ref="200145570"/>
@@ -10189,7 +10267,6 @@ bGQgTmFtZQkgID0gQAoJCQkJICBMRU5HVEgoYEBgKSA+IEA</bytes>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{150, 13}, {96, 28}}</string>
<reference key="NSSuperview" ref="680570399"/>
- <reference key="NSWindow"/>
<int key="NSTag">1</int>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="307696791">
@@ -10211,7 +10288,6 @@ bGQgTmFtZQkgID0gQAoJCQkJICBMRU5HVEgoYEBgKSA+IEA</bytes>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{56, 13}, {96, 28}}</string>
<reference key="NSSuperview" ref="680570399"/>
- <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="409181653">
<int key="NSCellFlags">67239424</int>
@@ -10232,7 +10308,6 @@ bGQgTmFtZQkgID0gQAoJCQkJICBMRU5HVEgoYEBgKSA+IEA</bytes>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{17, 131}, {227, 14}}</string>
<reference key="NSSuperview" ref="680570399"/>
- <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="516417057">
<int key="NSCellFlags">68288064</int>
@@ -10249,7 +10324,6 @@ bGQgTmFtZQkgID0gQAoJCQkJICBMRU5HVEgoYEBgKSA+IEA</bytes>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{20, 106}, {224, 22}}</string>
<reference key="NSSuperview" ref="680570399"/>
- <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSComboBoxCell" key="NSCell" id="928180881">
<int key="NSCellFlags">343014976</int>
@@ -10322,8 +10396,6 @@ bGQgTmFtZQkgID0gQAoJCQkJICBMRU5HVEgoYEBgKSA+IEA</bytes>
</object>
</object>
<string key="NSFrameSize">{261, 157}</string>
- <reference key="NSSuperview"/>
- <reference key="NSWindow"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1920, 1058}}</string>
<string key="NSMinSize">{261, 179}</string>
@@ -16031,6 +16103,54 @@ bGQgTmFtZQkgID0gQAoJCQkJICBMRU5HVEgoYEBgKSA+IEA</bytes>
</object>
<int key="connectionID">7636</int>
</object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">delegate</string>
+ <reference key="source" ref="361834046"/>
+ <reference key="destination" ref="4626"/>
+ </object>
+ <int key="connectionID">7659</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">toggleColumnView:</string>
+ <reference key="source" ref="103234030"/>
+ <reference key="destination" ref="746368739"/>
+ </object>
+ <int key="connectionID">7662</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">toggleColumnView:</string>
+ <reference key="source" ref="103234030"/>
+ <reference key="destination" ref="175745626"/>
+ </object>
+ <int key="connectionID">7663</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">toggleColumnView:</string>
+ <reference key="source" ref="103234030"/>
+ <reference key="destination" ref="975189907"/>
+ </object>
+ <int key="connectionID">7664</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">toggleColumnView:</string>
+ <reference key="source" ref="103234030"/>
+ <reference key="destination" ref="776631612"/>
+ </object>
+ <int key="connectionID">7665</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">viewColumnsMenu</string>
+ <reference key="source" ref="103234030"/>
+ <reference key="destination" ref="361834046"/>
+ </object>
+ <int key="connectionID">7667</int>
+ </object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
@@ -19576,6 +19696,7 @@ bGQgTmFtZQkgID0gQAoJCQkJICBMRU5HVEgoYEBgKSA+IEA</bytes>
<reference ref="22340145"/>
<reference ref="996552255"/>
<reference ref="168895907"/>
+ <reference ref="844922654"/>
</object>
<reference key="parent" ref="628830973"/>
</object>
@@ -22469,6 +22590,80 @@ bGQgTmFtZQkgID0gQAoJCQkJICBMRU5HVEgoYEBgKSA+IEA</bytes>
<reference key="object" ref="960836473"/>
<reference key="parent" ref="435787029"/>
</object>
+ <object class="IBObjectRecord">
+ <int key="objectID">7649</int>
+ <reference key="object" ref="844922654"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="688701059"/>
+ </object>
+ <reference key="parent" ref="220777809"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">7650</int>
+ <reference key="object" ref="688701059"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="1032311748"/>
+ </object>
+ <reference key="parent" ref="844922654"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">7651</int>
+ <reference key="object" ref="1032311748"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="388408398"/>
+ <reference ref="995423539"/>
+ </object>
+ <reference key="parent" ref="688701059"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">7652</int>
+ <reference key="object" ref="388408398"/>
+ <reference key="parent" ref="1032311748"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">7653</int>
+ <reference key="object" ref="995423539"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="361834046"/>
+ </object>
+ <reference key="parent" ref="1032311748"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">7654</int>
+ <reference key="object" ref="361834046"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="975189907"/>
+ <reference ref="175745626"/>
+ <reference ref="776631612"/>
+ <reference ref="746368739"/>
+ </object>
+ <reference key="parent" ref="995423539"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">7655</int>
+ <reference key="object" ref="975189907"/>
+ <reference key="parent" ref="361834046"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">7656</int>
+ <reference key="object" ref="175745626"/>
+ <reference key="parent" ref="361834046"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">7660</int>
+ <reference key="object" ref="776631612"/>
+ <reference key="parent" ref="361834046"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">7661</int>
+ <reference key="object" ref="746368739"/>
+ <reference key="parent" ref="361834046"/>
+ </object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
@@ -23759,6 +23954,18 @@ bGQgTmFtZQkgID0gQAoJCQkJICBMRU5HVEgoYEBgKSA+IEA</bytes>
<string>7630.IBPluginDependency</string>
<string>7633.IBAttributePlaceholdersKey</string>
<string>7633.IBPluginDependency</string>
+ <string>7649.IBPluginDependency</string>
+ <string>7650.IBPluginDependency</string>
+ <string>7651.IBEditorWindowLastContentRect</string>
+ <string>7651.IBPluginDependency</string>
+ <string>7652.IBPluginDependency</string>
+ <string>7653.IBPluginDependency</string>
+ <string>7654.IBEditorWindowLastContentRect</string>
+ <string>7654.IBPluginDependency</string>
+ <string>7655.IBPluginDependency</string>
+ <string>7656.IBPluginDependency</string>
+ <string>7660.IBPluginDependency</string>
+ <string>7661.IBPluginDependency</string>
<string>858.IBPluginDependency</string>
<string>858.ImportedFromIB2</string>
<string>959.IBEditorWindowLastContentRect</string>
@@ -25091,7 +25298,7 @@ bGQgTmFtZQkgID0gQAoJCQkJICBMRU5HVEgoYEBgKSA+IEA</bytes>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{119, 203}, {943, 549}}</string>
+ <string>{{85, 417}, {943, 549}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -25532,6 +25739,18 @@ bGQgTmFtZQkgID0gQAoJCQkJICBMRU5HVEgoYEBgKSA+IEA</bytes>
</object>
</object>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.brandonwalkin.BWToolkit</string>
+ <string>com.brandonwalkin.BWToolkit</string>
+ <string>{{423, 617}, {136, 37}}</string>
+ <string>com.brandonwalkin.BWToolkit</string>
+ <string>com.brandonwalkin.BWToolkit</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>{{559, 554}, {119, 83}}</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>
<integer value="1"/>
<string>{{265, 489}, {405, 267}}</string>
@@ -25570,7 +25789,7 @@ bGQgTmFtZQkgID0gQAoJCQkJICBMRU5HVEgoYEBgKSA+IEA</bytes>
</object>
</object>
<nil key="sourceID"/>
- <int key="maxID">7648</int>
+ <int key="maxID">7667</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -31386,6 +31605,309 @@ bGQgTmFtZQkgID0gQAoJCQkJICBMRU5HVEgoYEBgKSA+IEA</bytes>
<string key="minorKey">../../Source/SPTableContent.h</string>
</object>
</object>
+ <object class="IBPartialClassDescription">
+ <string key="className">SPTableStructure</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>addField:</string>
+ <string>closeKeySheet:</string>
+ <string>closeSheet:</string>
+ <string>copyField:</string>
+ <string>reloadTable:</string>
+ <string>removeField:</string>
+ <string>resetAutoIncrement:</string>
+ <string>showOptimizedFieldType:</string>
+ <string>toggleColumnView:</string>
+ <string>unhideIndexesView:</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>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="actionInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>addField:</string>
+ <string>closeKeySheet:</string>
+ <string>closeSheet:</string>
+ <string>copyField:</string>
+ <string>reloadTable:</string>
+ <string>removeField:</string>
+ <string>resetAutoIncrement:</string>
+ <string>showOptimizedFieldType:</string>
+ <string>toggleColumnView:</string>
+ <string>unhideIndexesView:</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBActionInfo">
+ <string key="name">addField:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">closeKeySheet:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">closeSheet:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">copyField:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">reloadTable:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">removeField:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">resetAutoIncrement:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">showOptimizedFieldType:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">toggleColumnView:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
+ <string key="name">unhideIndexesView:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="outlets">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>addFieldButton</string>
+ <string>addIndexButton</string>
+ <string>chooseKeyButton</string>
+ <string>copyFieldButton</string>
+ <string>databaseDataInstance</string>
+ <string>editTableButton</string>
+ <string>encodingPopupCell</string>
+ <string>extendedTableInfoInstance</string>
+ <string>indexesController</string>
+ <string>indexesShowButton</string>
+ <string>indexesTableView</string>
+ <string>keySheet</string>
+ <string>refreshIndexesButton</string>
+ <string>reloadFieldsButton</string>
+ <string>removeFieldButton</string>
+ <string>removeIndexButton</string>
+ <string>resetAutoIncrementLine</string>
+ <string>resetAutoIncrementSheet</string>
+ <string>resetAutoIncrementValue</string>
+ <string>structureGrabber</string>
+ <string>tableDataInstance</string>
+ <string>tableDocumentInstance</string>
+ <string>tableInfoInstance</string>
+ <string>tableSourceView</string>
+ <string>tablesIndexesSplitView</string>
+ <string>tablesListInstance</string>
+ <string>viewColumnsMenu</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>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>NSButton</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>NSSplitView</string>
+ <string>id</string>
+ <string>id</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>addFieldButton</string>
+ <string>addIndexButton</string>
+ <string>chooseKeyButton</string>
+ <string>copyFieldButton</string>
+ <string>databaseDataInstance</string>
+ <string>editTableButton</string>
+ <string>encodingPopupCell</string>
+ <string>extendedTableInfoInstance</string>
+ <string>indexesController</string>
+ <string>indexesShowButton</string>
+ <string>indexesTableView</string>
+ <string>keySheet</string>
+ <string>refreshIndexesButton</string>
+ <string>reloadFieldsButton</string>
+ <string>removeFieldButton</string>
+ <string>removeIndexButton</string>
+ <string>resetAutoIncrementLine</string>
+ <string>resetAutoIncrementSheet</string>
+ <string>resetAutoIncrementValue</string>
+ <string>structureGrabber</string>
+ <string>tableDataInstance</string>
+ <string>tableDocumentInstance</string>
+ <string>tableInfoInstance</string>
+ <string>tableSourceView</string>
+ <string>tablesIndexesSplitView</string>
+ <string>tablesListInstance</string>
+ <string>viewColumnsMenu</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBToOneOutletInfo">
+ <string key="name">addFieldButton</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">addIndexButton</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">chooseKeyButton</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">copyFieldButton</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">databaseDataInstance</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">editTableButton</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">encodingPopupCell</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">extendedTableInfoInstance</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">indexesController</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">indexesShowButton</string>
+ <string key="candidateClassName">NSButton</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">indexesTableView</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">keySheet</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">refreshIndexesButton</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">reloadFieldsButton</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">removeFieldButton</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">removeIndexButton</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">resetAutoIncrementLine</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">resetAutoIncrementSheet</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">resetAutoIncrementValue</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">structureGrabber</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">tableDataInstance</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">tableDocumentInstance</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">tableInfoInstance</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">tableSourceView</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">tablesIndexesSplitView</string>
+ <string key="candidateClassName">NSSplitView</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">tablesListInstance</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">viewColumnsMenu</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBDocumentRelativeSource</string>
+ <string key="minorKey">../../Source/SPTableStructure.h</string>
+ </object>
+ </object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<bool key="EncodedWithXMLCoder">YES</bool>
diff --git a/Source/SPTableStructure.h b/Source/SPTableStructure.h
index d5229153..b6c29f45 100644
--- a/Source/SPTableStructure.h
+++ b/Source/SPTableStructure.h
@@ -54,6 +54,8 @@
IBOutlet NSSplitView *tablesIndexesSplitView;
IBOutlet NSButton *indexesShowButton;
+ IBOutlet id viewColumnsMenu;
+
IBOutlet id encodingPopupCell;
id databaseDataInstance;
@@ -85,6 +87,7 @@
- (IBAction)removeField:(id)sender;
- (IBAction)resetAutoIncrement:(id)sender;
- (IBAction)showOptimizedFieldType:(id)sender;
+- (IBAction)toggleColumnView:(id)sender;
- (BOOL)cancelRowEditing;
// Index sheet methods
diff --git a/Source/SPTableStructure.m b/Source/SPTableStructure.m
index a51fa12e..55309cb1 100644
--- a/Source/SPTableStructure.m
+++ b/Source/SPTableStructure.m
@@ -151,6 +151,24 @@
object:tableDocumentInstance];
[prefs addObserver:indexesController forKeyPath:SPUseMonospacedFonts options:NSKeyValueObservingOptionNew context:NULL];
+
+ // Init the view column submenu according to saved hidden status;
+ // menu items are identified by their tag number which represents the initial column index
+ for(NSMenuItem *item in [viewColumnsMenu itemArray]) [item setState:NSOnState]; // Set all items to NSOnState
+ for(NSTableColumn *col in [tableSourceView tableColumns]) {
+ if([col isHidden]) {
+ if([[col identifier] isEqualToString:@"Key"])
+ [[viewColumnsMenu itemWithTag:7] setState:NSOffState];
+ else if([[col identifier] isEqualToString:@"encoding"])
+ [[viewColumnsMenu itemWithTag:10] setState:NSOffState];
+ else if([[col identifier] isEqualToString:@"collation"])
+ [[viewColumnsMenu itemWithTag:11] setState:NSOffState];
+ else if([[col identifier] isEqualToString:@"comment"])
+ [[viewColumnsMenu itemWithTag:12] setState:NSOffState];
+ }
+ }
+ [tableSourceView reloadData];
+
}
#pragma mark -
@@ -471,6 +489,45 @@
}
/**
+ * Control the visibility of the columns
+ */
+- (IBAction)toggleColumnView:(id)sender
+{
+
+ NSString *columnIdentifierName = nil;
+
+ switch([sender tag]) {
+ case 7:
+ columnIdentifierName = @"Key";
+ break;
+ case 10:
+ columnIdentifierName = @"encoding";
+ break;
+ case 11:
+ columnIdentifierName = @"collation";
+ break;
+ case 12:
+ columnIdentifierName = @"comment";
+ break;
+ default:
+ return;
+ }
+
+ for(NSTableColumn *col in [tableSourceView tableColumns]) {
+
+ if([[col identifier] isEqualToString:columnIdentifierName]) {
+ [col setHidden:([sender state] == NSOffState) ? NO : YES];
+ [sender setState:![sender state]];
+ break;
+ }
+
+ }
+
+ [tableSourceView reloadData];
+
+}
+
+/**
* Copies a field and goes in edit mode for the new field
*/
- (IBAction)copyField:(id)sender