diff options
-rw-r--r-- | Interfaces/English.lproj/DBView.xib | 626 | ||||
-rw-r--r-- | Source/SPTableStructure.h | 3 | ||||
-rw-r--r-- | Source/SPTableStructure.m | 57 |
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 |