diff options
author | mltownsend <mltownsend@gmail.com> | 2009-08-11 17:00:46 +0000 |
---|---|---|
committer | mltownsend <mltownsend@gmail.com> | 2009-08-11 17:00:46 +0000 |
commit | 80f757d7f217ae836f6c8de60134bc2a5d005687 (patch) | |
tree | 6969e36a3bd1f63227d67d2f2bdb224c36b1aeed | |
parent | f6afd1e9699b891f1deee9058a1737e8c5744bd7 (diff) | |
download | sequelpro-80f757d7f217ae836f6c8de60134bc2a5d005687.tar.gz sequelpro-80f757d7f217ae836f6c8de60134bc2a5d005687.tar.bz2 sequelpro-80f757d7f217ae836f6c8de60134bc2a5d005687.zip |
User Manager feature
-rw-r--r-- | Interfaces/English.lproj/MainMenu.xib | 73 | ||||
-rw-r--r-- | Interfaces/English.lproj/UserManagerView.xib | 3788 | ||||
-rw-r--r-- | Source/SPArrayAdditions.h | 1 | ||||
-rw-r--r-- | Source/SPArrayAdditions.m | 15 | ||||
-rw-r--r-- | Source/SPStringAdditions.h | 2 | ||||
-rw-r--r-- | Source/SPStringAdditions.m | 36 | ||||
-rw-r--r-- | Source/SPUserMO.h | 41 | ||||
-rw-r--r-- | Source/SPUserMO.m | 72 | ||||
-rw-r--r-- | Source/SPUserManager.h | 73 | ||||
-rw-r--r-- | Source/SPUserManager.m | 680 | ||||
-rw-r--r-- | Source/SPUserManager.xcdatamodel/elements | bin | 0 -> 50142 bytes | |||
-rw-r--r-- | Source/SPUserManager.xcdatamodel/layout | bin | 0 -> 5707 bytes | |||
-rw-r--r-- | Source/TableDocument.h | 4 | ||||
-rw-r--r-- | Source/TableDocument.m | 23 | ||||
-rw-r--r-- | sequel-pro.xcodeproj/project.pbxproj | 28 |
15 files changed, 4832 insertions, 4 deletions
diff --git a/Interfaces/English.lproj/MainMenu.xib b/Interfaces/English.lproj/MainMenu.xib index ed410904..81335a21 100644 --- a/Interfaces/English.lproj/MainMenu.xib +++ b/Interfaces/English.lproj/MainMenu.xib @@ -8,6 +8,7 @@ <string key="IBDocument.HIToolboxVersion">353.00</string> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <bool key="EncodedWithXMLCoder">YES</bool> + <integer value="951"/> </object> <object class="NSArray" key="IBDocument.PluginDependencies"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -1449,6 +1450,30 @@ <string key="NSString"/> </object> </object> + <object class="NSMenuItem" id="909284423"> + <reference key="NSMenu" ref="171386461"/> + <string key="NSTitle">Tools</string> + <string key="NSKeyEquiv"/> + <int key="NSMnemonicLoc">2147483647</int> + <reference key="NSOnImage" ref="625762401"/> + <reference key="NSMixedImage" ref="315854375"/> + <string key="NSAction">submenuAction:</string> + <object class="NSMenu" key="NSSubmenu" id="661845796"> + <string key="NSTitle"/> + <object class="NSMutableArray" key="NSMenuItems"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMenuItem" id="356281746"> + <reference key="NSMenu" ref="661845796"/> + <string key="NSTitle">User Manager</string> + <string key="NSKeyEquiv">u</string> + <int key="NSKeyEquivModMask">1048576</int> + <int key="NSMnemonicLoc">2147483647</int> + <reference key="NSOnImage" ref="625762401"/> + <reference key="NSMixedImage" ref="315854375"/> + </object> + </object> + </object> + </object> <object class="NSMenuItem" id="228261277"> <reference key="NSMenu" ref="171386461"/> <string key="NSTitle">Table</string> @@ -2521,6 +2546,14 @@ </object> <int key="connectionID">949</int> </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">showUserManager:</string> + <reference key="source" ref="63651044"/> + <reference key="destination" ref="356281746"/> + </object> + <int key="connectionID">955</int> + </object> </object> <object class="IBMutableOrderedSet" key="objectRecords"> <object class="NSArray" key="orderedObjects"> @@ -2564,6 +2597,7 @@ <reference ref="401969940"/> <reference ref="693420496"/> <reference ref="228261277"/> + <reference ref="909284423"/> </object> <reference key="parent" ref="201414690"/> <string key="objectName">MainMenu</string> @@ -3744,6 +3778,29 @@ <reference key="object" ref="256715652"/> <reference key="parent" ref="709725194"/> </object> + <object class="IBObjectRecord"> + <int key="objectID">950</int> + <reference key="object" ref="909284423"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="661845796"/> + </object> + <reference key="parent" ref="171386461"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">951</int> + <reference key="object" ref="661845796"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="356281746"/> + </object> + <reference key="parent" ref="909284423"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">952</int> + <reference key="object" ref="356281746"/> + <reference key="parent" ref="661845796"/> + </object> </object> </object> <object class="NSMutableDictionary" key="flattenedProperties"> @@ -4086,6 +4143,10 @@ <string>941.IBPluginDependency</string> <string>943.IBPluginDependency</string> <string>944.IBPluginDependency</string> + <string>950.IBPluginDependency</string> + <string>951.IBEditorWindowLastContentRect</string> + <string>951.IBPluginDependency</string> + <string>952.IBPluginDependency</string> </object> <object class="NSMutableArray" key="dict.values"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -4179,7 +4240,7 @@ <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> <string>{{449, 1007}, {197, 53}}</string> - <string>{{455, 703}, {511, 20}}</string> + <string>{{300, 703}, {567, 20}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> <string>{{506, 836}, {511, 20}}</string> @@ -4468,6 +4529,10 @@ w6gg4oaSIGZhY2FkZV0</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>{{623, 680}, {172, 23}}</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> </object> </object> <object class="NSMutableDictionary" key="unlocalizedProperties"> @@ -4490,7 +4555,7 @@ w6gg4oaSIGZhY2FkZV0</string> </object> </object> <nil key="sourceID"/> - <int key="maxID">949</int> + <int key="maxID">955</int> </object> <object class="IBClassDescriber" key="IBDocument.Classes"> <object class="NSMutableArray" key="referencedPartialClassDescriptions"> @@ -4890,6 +4955,7 @@ w6gg4oaSIGZhY2FkZV0</string> <string>setDatabases:</string> <string>showCreateTableSyntax:</string> <string>showMySQLHelp:</string> + <string>showUserManager:</string> <string>showVariables:</string> <string>viewContent:</string> <string>viewQuery:</string> @@ -4931,6 +4997,7 @@ w6gg4oaSIGZhY2FkZV0</string> <string>id</string> <string>id</string> <string>id</string> + <string>id</string> </object> </object> <object class="NSMutableDictionary" key="outlets"> @@ -4976,6 +5043,7 @@ w6gg4oaSIGZhY2FkZV0</string> <string>titleAccessoryView</string> <string>titleImageView</string> <string>titleStringView</string> + <string>userManagerInstance</string> <string>variablesCountTextField</string> <string>variablesSearchField</string> <string>variablesSheet</string> @@ -5022,6 +5090,7 @@ w6gg4oaSIGZhY2FkZV0</string> <string>id</string> <string>id</string> <string>id</string> + <string>id</string> <string>NSTextField</string> <string>NSSearchField</string> <string>id</string> diff --git a/Interfaces/English.lproj/UserManagerView.xib b/Interfaces/English.lproj/UserManagerView.xib new file mode 100644 index 00000000..5e91154e --- /dev/null +++ b/Interfaces/English.lproj/UserManagerView.xib @@ -0,0 +1,3788 @@ +<?xml version="1.0" encoding="UTF-8"?> +<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.03"> + <data> + <int key="IBDocument.SystemTarget">1050</int> + <string key="IBDocument.SystemVersion">9L30</string> + <string key="IBDocument.InterfaceBuilderVersion">677</string> + <string key="IBDocument.AppKitVersion">949.54</string> + <string key="IBDocument.HIToolboxVersion">353.00</string> + <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> + <bool key="EncodedWithXMLCoder">YES</bool> + <integer value="31"/> + </object> + <object class="NSArray" key="IBDocument.PluginDependencies"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>com.brandonwalkin.BWToolkit</string> + <string>com.apple.InterfaceBuilderKit</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + </object> + <object class="NSMutableDictionary" key="IBDocument.Metadata"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSCustomObject" id="1001"> + <string key="NSClassName">SPUserManager</string> + </object> + <object class="NSCustomObject" id="1003"> + <string key="NSClassName">FirstResponder</string> + </object> + <object class="NSCustomObject" id="1004"> + <string key="NSClassName">NSApplication</string> + </object> + <object class="NSWindowTemplate" id="1044129360"> + <int key="NSWindowStyleMask">15</int> + <int key="NSWindowBacking">2</int> + <string key="NSWindowRect">{{376, 491}, {752, 506}}</string> + <int key="NSWTFlags">1677721600</int> + <string key="NSWindowTitle">User Managment</string> + <string key="NSWindowClass">NSWindow</string> + <nil key="NSViewClass"/> + <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string> + <object class="NSView" key="NSWindowView" id="846307432"> + <reference key="NSNextResponder"/> + <int key="NSvFlags">256</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSSplitView" id="138392961"> + <reference key="NSNextResponder" ref="846307432"/> + <int key="NSvFlags">274</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSCustomView" id="490248567"> + <reference key="NSNextResponder" ref="138392961"/> + <int key="NSvFlags">256</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSScrollView" id="848314643"> + <reference key="NSNextResponder" ref="490248567"/> + <int key="NSvFlags">274</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSClipView" id="310332121"> + <reference key="NSNextResponder" ref="848314643"/> + <int key="NSvFlags">2304</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSOutlineView" id="265138544"> + <reference key="NSNextResponder" ref="310332121"/> + <int key="NSvFlags">4352</int> + <string key="NSFrameSize">{194, 467}</string> + <reference key="NSSuperview" ref="310332121"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTableHeaderView" key="NSHeaderView" id="98886535"> + <reference key="NSNextResponder" ref="283216473"/> + <int key="NSvFlags">256</int> + <string key="NSFrameSize">{194, 17}</string> + <reference key="NSSuperview" ref="283216473"/> + <reference key="NSTableView" ref="265138544"/> + </object> + <object class="_NSCornerView" key="NSCornerView" id="1005712676"> + <reference key="NSNextResponder" ref="848314643"/> + <int key="NSvFlags">-2147483392</int> + <string key="NSFrame">{{-26, 0}, {16, 17}}</string> + <reference key="NSSuperview" ref="848314643"/> + </object> + <object class="NSMutableArray" key="NSTableColumns"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSTableColumn" id="716100442"> + <string key="NSIdentifier">NameColumn</string> + <double key="NSWidth">1.910000e+02</double> + <double key="NSMinWidth">1.600000e+01</double> + <double key="NSMaxWidth">1.000000e+03</double> + <object class="NSTableHeaderCell" key="NSHeaderCell"> + <int key="NSCellFlags">75628032</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Accounts</string> + <object class="NSFont" key="NSSupport" id="26"> + <string key="NSName">LucidaGrande</string> + <double key="NSSize">1.100000e+01</double> + <int key="NSfFlags">3100</int> + </object> + <object class="NSColor" key="NSBackgroundColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MC4zMzMzMzI5OQA</bytes> + </object> + <object class="NSColor" key="NSTextColor"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName">System</string> + <string key="NSColorName">headerTextColor</string> + <object class="NSColor" key="NSColor" id="194396468"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MAA</bytes> + </object> + </object> + </object> + <object class="NSTextFieldCell" key="NSDataCell" id="984683345"> + <int key="NSCellFlags">337772096</int> + <int key="NSCellFlags2">2048</int> + <string key="NSContents">Text Cell</string> + <object class="NSFont" key="NSSupport" id="746597359"> + <string key="NSName">LucidaGrande</string> + <double key="NSSize">1.300000e+01</double> + <int key="NSfFlags">1044</int> + </object> + <reference key="NSControlView" ref="265138544"/> + <object class="NSColor" key="NSBackgroundColor" id="898983655"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName">System</string> + <string key="NSColorName">controlBackgroundColor</string> + <object class="NSColor" key="NSColor" id="246134814"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MC42NjY2NjY2OQA</bytes> + </object> + </object> + <object class="NSColor" key="NSTextColor" id="315534074"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName">System</string> + <string key="NSColorName">controlTextColor</string> + <reference key="NSColor" ref="194396468"/> + </object> + </object> + <int key="NSResizingMask">3</int> + <bool key="NSIsResizeable">YES</bool> + <bool key="NSIsEditable">YES</bool> + <reference key="NSTableView" ref="265138544"/> + <object class="NSSortDescriptor" key="NSSortDescriptorPrototype"> + <string key="NSKey">displayName</string> + <bool key="NSAscending">YES</bool> + <string key="NSSelector">compare:</string> + </object> + </object> + </object> + <double key="NSIntercellSpacingWidth">3.000000e+00</double> + <object class="NSColor" key="NSBackgroundColor"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName">System</string> + <string key="NSColorName">_sourceListBackgroundColor</string> + <object class="NSColor" key="NSColor"> + <int key="NSColorSpace">1</int> + <bytes key="NSRGB">MC44MzkyMTU3IDAuODY2NjY2NjcgMC44OTgwMzkyMgA</bytes> + </object> + </object> + <object class="NSColor" key="NSGridColor"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName">System</string> + <string key="NSColorName">gridColor</string> + <object class="NSColor" key="NSColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MC41AA</bytes> + </object> + </object> + <double key="NSRowHeight">2.000000e+01</double> + <int key="NSTvFlags">1379926016</int> + <int key="NSColumnAutoresizingStyle">4</int> + <int key="NSDraggingSourceMaskForLocal">15</int> + <int key="NSDraggingSourceMaskForNonLocal">0</int> + <bool key="NSAllowsTypeSelect">YES</bool> + <int key="NSTableViewSelectionHighlightStyle">1</int> + <float key="NSOutlineViewIndentationPerLevelKey">1.400000e+01</float> + </object> + </object> + <string key="NSFrame">{{0, 17}, {194, 467}}</string> + <reference key="NSSuperview" ref="848314643"/> + <reference key="NSNextKeyView" ref="265138544"/> + <reference key="NSDocView" ref="265138544"/> + <reference key="NSBGColor" ref="898983655"/> + <int key="NScvFlags">4</int> + </object> + <object class="NSScroller" id="710626046"> + <reference key="NSNextResponder" ref="848314643"/> + <int key="NSvFlags">-2147483392</int> + <string key="NSFrame">{{246, 17}, {15, 308}}</string> + <reference key="NSSuperview" ref="848314643"/> + <reference key="NSTarget" ref="848314643"/> + <string key="NSAction">_doScroller:</string> + <double key="NSPercent">9.969040e-01</double> + </object> + <object class="NSScroller" id="851800246"> + <reference key="NSNextResponder" ref="848314643"/> + <int key="NSvFlags">-2147483392</int> + <string key="NSFrame">{{1, 325}, {245, 15}}</string> + <reference key="NSSuperview" ref="848314643"/> + <int key="NSsFlags">1</int> + <reference key="NSTarget" ref="848314643"/> + <string key="NSAction">_doScroller:</string> + <double key="NSPercent">9.961686e-01</double> + </object> + <object class="NSClipView" id="283216473"> + <reference key="NSNextResponder" ref="848314643"/> + <int key="NSvFlags">2304</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="98886535"/> + </object> + <string key="NSFrameSize">{194, 17}</string> + <reference key="NSSuperview" ref="848314643"/> + <reference key="NSNextKeyView" ref="98886535"/> + <reference key="NSDocView" ref="98886535"/> + <reference key="NSBGColor" ref="898983655"/> + <int key="NScvFlags">4</int> + </object> + <reference ref="1005712676"/> + </object> + <string key="NSFrame">{{0, 22}, {194, 484}}</string> + <reference key="NSSuperview" ref="490248567"/> + <reference key="NSNextKeyView" ref="310332121"/> + <int key="NSsFlags">560</int> + <reference key="NSVScroller" ref="710626046"/> + <reference key="NSHScroller" ref="851800246"/> + <reference key="NSContentView" ref="310332121"/> + <reference key="NSHeaderClipView" ref="283216473"/> + <reference key="NSCornerView" ref="1005712676"/> + <bytes key="NSScrollAmts">QSAAAEEgAABBoAAAQaAAAA</bytes> + </object> + <object class="BWAnchoredButtonBar" id="623571747"> + <reference key="NSNextResponder" ref="490248567"/> + <int key="NSvFlags">290</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="BWAnchoredButton" id="100435394"> + <reference key="NSNextResponder" ref="623571747"/> + <int key="NSvFlags">292</int> + <string key="NSFrame">{{-1, -1}, {32, 24}}</string> + <reference key="NSSuperview" ref="623571747"/> + <bool key="NSEnabled">YES</bool> + <object class="BWAnchoredButtonCell" key="NSCell" id="224905719"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">134348800</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="26"/> + <reference key="NSControlView" ref="100435394"/> + <int key="NSButtonFlags">-2033434369</int> + <int key="NSButtonFlags2">163</int> + <object class="NSCustomResource" key="NSNormalImage"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">NSAddTemplate</string> + </object> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="BWAnchoredButton" id="254382996"> + <reference key="NSNextResponder" ref="623571747"/> + <int key="NSvFlags">292</int> + <string key="NSFrame">{{30, -1}, {32, 24}}</string> + <reference key="NSSuperview" ref="623571747"/> + <bool key="NSEnabled">YES</bool> + <object class="BWAnchoredButtonCell" key="NSCell" id="297146523"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">134348800</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="26"/> + <reference key="NSControlView" ref="254382996"/> + <int key="NSButtonFlags">-2033434369</int> + <int key="NSButtonFlags2">163</int> + <object class="NSCustomResource" key="NSNormalImage"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">NSRemoveTemplate</string> + </object> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="BWAnchoredPopUpButton" id="112862365"> + <reference key="NSNextResponder" ref="623571747"/> + <int key="NSvFlags">292</int> + <string key="NSFrame">{{61, -1}, {32, 24}}</string> + <reference key="NSSuperview" ref="623571747"/> + <bool key="NSEnabled">YES</bool> + <object class="BWAnchoredPopUpButtonCell" key="NSCell" id="17402987"> + <int key="NSCellFlags">-2076049856</int> + <int key="NSCellFlags2">134350848</int> + <reference key="NSSupport" ref="26"/> + <reference key="NSControlView" ref="112862365"/> + <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="567387396"> + <reference key="NSMenu" ref="524779283"/> + <bool key="NSIsHidden">YES</bool> + <string key="NSTitle"/> + <string key="NSKeyEquiv"/> + <int key="NSKeyEquivModMask">1048576</int> + <int key="NSMnemonicLoc">2147483647</int> + <object class="NSCustomResource" key="NSImage"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">NSActionTemplate</string> + </object> + <object class="NSCustomResource" key="NSOnImage" id="854359994"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">NSMenuCheckmark</string> + </object> + <object class="NSCustomResource" key="NSMixedImage" id="799289035"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">NSMenuMixedState</string> + </object> + <string key="NSAction">_popUpItemAction:</string> + <reference key="NSTarget" ref="17402987"/> + </object> + <bool key="NSMenuItemRespectAlignment">YES</bool> + <object class="NSMenu" key="NSMenu" id="524779283"> + <string key="NSTitle">OtherViews</string> + <object class="NSMutableArray" key="NSMenuItems"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="567387396"/> + <object class="NSMenuItem" id="378830537"> + <reference key="NSMenu" ref="524779283"/> + <string key="NSTitle">Add Host</string> + <string key="NSKeyEquiv"/> + <int key="NSKeyEquivModMask">1048576</int> + <int key="NSMnemonicLoc">2147483647</int> + <reference key="NSOnImage" ref="854359994"/> + <reference key="NSMixedImage" ref="799289035"/> + <string key="NSAction">_popUpItemAction:</string> + <reference key="NSTarget" ref="17402987"/> + </object> + <object class="NSMenuItem" id="281110028"> + <reference key="NSMenu" ref="524779283"/> + <string key="NSTitle">Remove Host</string> + <string key="NSKeyEquiv"/> + <int key="NSKeyEquivModMask">1048576</int> + <int key="NSMnemonicLoc">2147483647</int> + <reference key="NSOnImage" ref="854359994"/> + <reference key="NSMixedImage" ref="799289035"/> + <string key="NSAction">_popUpItemAction:</string> + <reference key="NSTarget" ref="17402987"/> + </object> + </object> + </object> + <bool key="NSPullDown">YES</bool> + <int key="NSPreferredEdge">1</int> + <bool key="NSUsesItemFromMenu">YES</bool> + <bool key="NSAltersState">YES</bool> + <int key="NSArrowPosition">2</int> + </object> + </object> + </object> + <string key="NSFrameSize">{194, 23}</string> + <reference key="NSSuperview" ref="490248567"/> + <bool key="BWABBIsResizable">YES</bool> + <bool key="BWABBIsAtBottom">YES</bool> + <bool key="BWABBHandleIsRightAligned">NO</bool> + <int key="BWABBSelectedIndex">0</int> + </object> + </object> + <string key="NSFrameSize">{194, 506}</string> + <reference key="NSSuperview" ref="138392961"/> + <string key="NSClassName">NSView</string> + </object> + <object class="NSCustomView" id="755335467"> + <reference key="NSNextResponder" ref="138392961"/> + <int key="NSvFlags">256</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSTabView" id="716372522"> + <reference key="NSNextResponder" ref="755335467"/> + <int key="NSvFlags">274</int> + <string key="NSFrame">{{13, 40}, {531, 460}}</string> + <reference key="NSSuperview" ref="755335467"/> + <object class="NSMutableArray" key="NSTabViewItems"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSTabViewItem" id="820796939"> + <string key="NSIdentifier">General</string> + <object class="NSView" key="NSView" id="143215913"> + <reference key="NSNextResponder" ref="716372522"/> + <int key="NSvFlags">256</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSBox" id="813339681"> + <reference key="NSNextResponder" ref="143215913"/> + <int key="NSvFlags">13</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSView" id="338485078"> + <reference key="NSNextResponder" ref="813339681"/> + <int key="NSvFlags">256</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSTextField" id="810516533"> + <reference key="NSNextResponder" ref="338485078"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{15, 42}, {71, 17}}</string> + <reference key="NSSuperview" ref="338485078"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="634743178"> + <int key="NSCellFlags">68288064</int> + <int key="NSCellFlags2">71304192</int> + <string key="NSContents">Username:</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="810516533"/> + <object class="NSColor" key="NSBackgroundColor" id="409859189"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName">System</string> + <string key="NSColorName">controlColor</string> + <reference key="NSColor" ref="246134814"/> + </object> + <reference key="NSTextColor" ref="315534074"/> + </object> + </object> + <object class="NSTextField" id="810288614"> + <reference key="NSNextResponder" ref="338485078"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{15, 12}, {71, 17}}</string> + <reference key="NSSuperview" ref="338485078"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="403703009"> + <int key="NSCellFlags">68288064</int> + <int key="NSCellFlags2">71304192</int> + <string key="NSContents">Password:</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="810288614"/> + <reference key="NSBackgroundColor" ref="409859189"/> + <reference key="NSTextColor" ref="315534074"/> + </object> + </object> + <object class="NSTextField" id="1021720165"> + <reference key="NSNextResponder" ref="338485078"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{91, 42}, {147, 22}}</string> + <reference key="NSSuperview" ref="338485078"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="540584164"> + <int key="NSCellFlags">-1804468671</int> + <int key="NSCellFlags2">272630784</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="1021720165"/> + <bool key="NSDrawsBackground">YES</bool> + <object class="NSColor" key="NSBackgroundColor" id="148864816"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName">System</string> + <string key="NSColorName">textBackgroundColor</string> + <object class="NSColor" key="NSColor" id="888720323"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MQA</bytes> + </object> + </object> + <object class="NSColor" key="NSTextColor" id="238030669"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName">System</string> + <string key="NSColorName">textColor</string> + <reference key="NSColor" ref="194396468"/> + </object> + </object> + </object> + <object class="NSSecureTextField" id="926329636"> + <reference key="NSNextResponder" ref="338485078"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{91, 12}, {147, 22}}</string> + <reference key="NSSuperview" ref="338485078"/> + <bool key="NSEnabled">YES</bool> + <object class="NSSecureTextFieldCell" key="NSCell" id="71857161"> + <int key="NSCellFlags">343014976</int> + <int key="NSCellFlags2">272630784</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="926329636"/> + <bool key="NSDrawsBackground">YES</bool> + <reference key="NSBackgroundColor" ref="148864816"/> + <reference key="NSTextColor" ref="238030669"/> + <object class="NSArray" key="NSAllowedInputLocales"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>NSAllRomanInputSourcesLocaleIdentifier</string> + </object> + </object> + </object> + </object> + <string key="NSFrame">{{1, 1}, {254, 72}}</string> + <reference key="NSSuperview" ref="813339681"/> + </object> + </object> + <string key="NSFrame">{{147, 312}, {256, 88}}</string> + <reference key="NSSuperview" ref="143215913"/> + <string key="NSOffsets">{0, 0}</string> + <object class="NSTextFieldCell" key="NSTitleCell"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Login Information</string> + <reference key="NSSupport" ref="26"/> + <reference key="NSBackgroundColor" ref="148864816"/> + <object class="NSColor" key="NSTextColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes> + </object> + </object> + <reference key="NSContentView" ref="338485078"/> + <int key="NSBorderType">1</int> + <int key="NSBoxType">0</int> + <int key="NSTitlePosition">2</int> + <bool key="NSTransparent">NO</bool> + </object> + </object> + <string key="NSFrame">{{10, 33}, {511, 414}}</string> + <reference key="NSSuperview" ref="716372522"/> + </object> + <string key="NSLabel">General</string> + <reference key="NSColor" ref="409859189"/> + <reference key="NSTabView" ref="716372522"/> + </object> + <object class="NSTabViewItem" id="1024639412"> + <string key="NSIdentifier">Global Privileges</string> + <object class="NSView" key="NSView" id="202198269"> + <nil key="NSNextResponder"/> + <int key="NSvFlags">274</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSCustomView" id="386290455"> + <reference key="NSNextResponder" ref="202198269"/> + <int key="NSvFlags">269</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSBox" id="223367051"> + <reference key="NSNextResponder" ref="386290455"/> + <int key="NSvFlags">9</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSView" id="507349185"> + <reference key="NSNextResponder" ref="223367051"/> + <int key="NSvFlags">256</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSButton" id="639415915"> + <reference key="NSNextResponder" ref="507349185"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{16, 72}, {133, 18}}</string> + <reference key="NSSuperview" ref="507349185"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="919244938"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Replication Client</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="639415915"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <object class="NSCustomResource" key="NSNormalImage" id="399252468"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">NSSwitch</string> + </object> + <object class="NSButtonImageSource" key="NSAlternateImage" id="357101228"> + <string key="NSImageName">NSSwitch</string> + </object> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="557764028"> + <reference key="NSNextResponder" ref="507349185"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{16, 52}, {133, 18}}</string> + <reference key="NSSuperview" ref="507349185"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="3268085"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Replication Slave</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="557764028"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="399252468"/> + <reference key="NSAlternateImage" ref="357101228"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + </object> + <string key="NSFrame">{{1, 1}, {175, 98}}</string> + <reference key="NSSuperview" ref="223367051"/> + </object> + </object> + <string key="NSFrame">{{252, 128}, {177, 114}}</string> + <reference key="NSSuperview" ref="386290455"/> + <string key="NSOffsets">{0, 0}</string> + <object class="NSTextFieldCell" key="NSTitleCell"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Replications</string> + <reference key="NSSupport" ref="26"/> + <reference key="NSBackgroundColor" ref="148864816"/> + <object class="NSColor" key="NSTextColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes> + </object> + </object> + <reference key="NSContentView" ref="507349185"/> + <int key="NSBorderType">1</int> + <int key="NSBoxType">0</int> + <int key="NSTitlePosition">2</int> + <bool key="NSTransparent">NO</bool> + </object> + <object class="NSBox" id="517432726"> + <reference key="NSNextResponder" ref="386290455"/> + <int key="NSvFlags">12</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSView" id="1066741257"> + <reference key="NSNextResponder" ref="517432726"/> + <int key="NSvFlags">256</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSButton" id="165190944"> + <reference key="NSNextResponder" ref="1066741257"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{16, 190}, {65, 18}}</string> + <reference key="NSSuperview" ref="1066741257"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="68967500"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Reload</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="165190944"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="399252468"/> + <reference key="NSAlternateImage" ref="357101228"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="948609625"> + <reference key="NSNextResponder" ref="1066741257"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{16, 170}, {85, 18}}</string> + <reference key="NSSuperview" ref="1066741257"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="410960559"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Shutdown</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="948609625"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="399252468"/> + <reference key="NSAlternateImage" ref="357101228"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="514468506"> + <reference key="NSNextResponder" ref="1066741257"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{16, 150}, {65, 18}}</string> + <reference key="NSSuperview" ref="1066741257"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="231869678"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">File</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="514468506"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="399252468"/> + <reference key="NSAlternateImage" ref="357101228"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="654009227"> + <reference key="NSNextResponder" ref="1066741257"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{16, 130}, {70, 18}}</string> + <reference key="NSSuperview" ref="1066741257"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="144741035"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Process</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="654009227"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="399252468"/> + <reference key="NSAlternateImage" ref="357101228"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="341346472"> + <reference key="NSNextResponder" ref="1066741257"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{16, 110}, {70, 18}}</string> + <reference key="NSSuperview" ref="1066741257"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="967891320"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Super</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="341346472"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="399252468"/> + <reference key="NSAlternateImage" ref="357101228"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="460063174"> + <reference key="NSNextResponder" ref="1066741257"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{16, 90}, {142, 18}}</string> + <reference key="NSSuperview" ref="1066741257"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="315454579"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Create Temp Table</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="460063174"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="399252468"/> + <reference key="NSAlternateImage" ref="357101228"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="712816655"> + <reference key="NSNextResponder" ref="1066741257"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{16, 70}, {142, 18}}</string> + <reference key="NSSuperview" ref="1066741257"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="40570585"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Lock Tables</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="712816655"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="399252468"/> + <reference key="NSAlternateImage" ref="357101228"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="1026585310"> + <reference key="NSNextResponder" ref="1066741257"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{16, 50}, {142, 18}}</string> + <reference key="NSSuperview" ref="1066741257"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="799488283"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Show Databases</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="1026585310"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="399252468"/> + <reference key="NSAlternateImage" ref="357101228"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="373270478"> + <reference key="NSNextResponder" ref="1066741257"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{16, 30}, {142, 18}}</string> + <reference key="NSSuperview" ref="1066741257"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="1072458811"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Create User</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="373270478"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="399252468"/> + <reference key="NSAlternateImage" ref="357101228"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="285378693"> + <reference key="NSNextResponder" ref="1066741257"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{16, 10}, {142, 18}}</string> + <reference key="NSSuperview" ref="1066741257"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="205758531"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Grant</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="285378693"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="399252468"/> + <reference key="NSAlternateImage" ref="357101228"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + </object> + <string key="NSFrame">{{1, 1}, {231, 216}}</string> + <reference key="NSSuperview" ref="517432726"/> + </object> + </object> + <string key="NSFrame">{{17, 10}, {233, 232}}</string> + <reference key="NSSuperview" ref="386290455"/> + <string key="NSOffsets">{0, 0}</string> + <object class="NSTextFieldCell" key="NSTitleCell"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Administration</string> + <reference key="NSSupport" ref="26"/> + <reference key="NSBackgroundColor" ref="148864816"/> + <object class="NSColor" key="NSTextColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes> + </object> + </object> + <reference key="NSContentView" ref="1066741257"/> + <int key="NSBorderType">1</int> + <int key="NSBoxType">0</int> + <int key="NSTitlePosition">2</int> + <bool key="NSTransparent">NO</bool> + </object> + <object class="NSButton" id="610554589"> + <reference key="NSNextResponder" ref="386290455"/> + <int key="NSvFlags">289</int> + <string key="NSFrame">{{318, 84}, {114, 32}}</string> + <reference key="NSSuperview" ref="386290455"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="674356083"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents">Check All</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="610554589"/> + <int key="NSButtonFlags">-2038284033</int> + <int key="NSButtonFlags2">129</int> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSBox" id="1050276179"> + <reference key="NSNextResponder" ref="386290455"/> + <int key="NSvFlags">12</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSView" id="424144569"> + <reference key="NSNextResponder" ref="1050276179"/> + <int key="NSvFlags">256</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSButton" id="354897609"> + <reference key="NSNextResponder" ref="424144569"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{16, 92}, {63, 18}}</string> + <reference key="NSSuperview" ref="424144569"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="856008013"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Select</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="354897609"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="399252468"/> + <reference key="NSAlternateImage" ref="357101228"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="279892883"> + <reference key="NSNextResponder" ref="424144569"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{16, 72}, {63, 18}}</string> + <reference key="NSSuperview" ref="424144569"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="754659519"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Insert</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="279892883"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="399252468"/> + <reference key="NSAlternateImage" ref="357101228"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="44622938"> + <reference key="NSNextResponder" ref="424144569"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{16, 52}, {67, 18}}</string> + <reference key="NSSuperview" ref="424144569"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="1032540047"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Update</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="44622938"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="399252468"/> + <reference key="NSAlternateImage" ref="357101228"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="221237545"> + <reference key="NSNextResponder" ref="424144569"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{16, 32}, {63, 18}}</string> + <reference key="NSSuperview" ref="424144569"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="127371548"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Delete</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="221237545"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="399252468"/> + <reference key="NSAlternateImage" ref="357101228"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="173464062"> + <reference key="NSNextResponder" ref="424144569"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{16, 12}, {91, 18}}</string> + <reference key="NSSuperview" ref="424144569"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="460476562"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">References</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="173464062"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="399252468"/> + <reference key="NSAlternateImage" ref="357101228"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="905629414"> + <reference key="NSNextResponder" ref="424144569"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{152, 92}, {63, 18}}</string> + <reference key="NSSuperview" ref="424144569"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="143275795"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Create</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="905629414"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="399252468"/> + <reference key="NSAlternateImage" ref="357101228"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="384517358"> + <reference key="NSNextResponder" ref="424144569"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{152, 72}, {63, 18}}</string> + <reference key="NSSuperview" ref="424144569"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="1016258703"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Drop</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="384517358"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="399252468"/> + <reference key="NSAlternateImage" ref="357101228"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="577327681"> + <reference key="NSNextResponder" ref="424144569"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{152, 52}, {63, 18}}</string> + <reference key="NSSuperview" ref="424144569"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="921961521"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Alter</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="577327681"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="399252468"/> + <reference key="NSAlternateImage" ref="357101228"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="658073531"> + <reference key="NSNextResponder" ref="424144569"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{152, 32}, {63, 18}}</string> + <reference key="NSSuperview" ref="424144569"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="489524765"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Index</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="658073531"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="399252468"/> + <reference key="NSAlternateImage" ref="357101228"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + </object> + <string key="NSFrame">{{1, 1}, {231, 118}}</string> + <reference key="NSSuperview" ref="1050276179"/> + </object> + </object> + <string key="NSFrame">{{17, 246}, {233, 134}}</string> + <reference key="NSSuperview" ref="386290455"/> + <string key="NSOffsets">{0, 0}</string> + <object class="NSTextFieldCell" key="NSTitleCell"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Database and Tables</string> + <reference key="NSSupport" ref="26"/> + <reference key="NSBackgroundColor" ref="148864816"/> + <object class="NSColor" key="NSTextColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes> + </object> + </object> + <reference key="NSContentView" ref="424144569"/> + <int key="NSBorderType">1</int> + <int key="NSBoxType">0</int> + <int key="NSTitlePosition">2</int> + <bool key="NSTransparent">NO</bool> + </object> + <object class="NSButton" id="191574098"> + <reference key="NSNextResponder" ref="386290455"/> + <int key="NSvFlags">289</int> + <string key="NSFrame">{{318, 52}, {114, 32}}</string> + <reference key="NSSuperview" ref="386290455"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="513183495"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents">Uncheck All</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="191574098"/> + <int key="NSButtonFlags">-2038284033</int> + <int key="NSButtonFlags2">129</int> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSBox" id="871205380"> + <reference key="NSNextResponder" ref="386290455"/> + <int key="NSvFlags">9</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSView" id="851437767"> + <reference key="NSNextResponder" ref="871205380"/> + <int key="NSvFlags">256</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSButton" id="556933759"> + <reference key="NSNextResponder" ref="851437767"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{16, 92}, {97, 18}}</string> + <reference key="NSSuperview" ref="851437767"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="189629129"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Create View</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="556933759"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="399252468"/> + <reference key="NSAlternateImage" ref="357101228"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="83587898"> + <reference key="NSNextResponder" ref="851437767"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{16, 72}, {97, 18}}</string> + <reference key="NSSuperview" ref="851437767"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="649732615"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Show View</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="83587898"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="399252468"/> + <reference key="NSAlternateImage" ref="357101228"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="969573372"> + <reference key="NSNextResponder" ref="851437767"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{16, 52}, {116, 18}}</string> + <reference key="NSSuperview" ref="851437767"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="637072733"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Create Routine</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="969573372"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="399252468"/> + <reference key="NSAlternateImage" ref="357101228"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="905340786"> + <reference key="NSNextResponder" ref="851437767"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{16, 32}, {105, 18}}</string> + <reference key="NSSuperview" ref="851437767"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="1073285410"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Alter Routine</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="905340786"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="399252468"/> + <reference key="NSAlternateImage" ref="357101228"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + <object class="NSButton" id="757005232"> + <reference key="NSNextResponder" ref="851437767"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{16, 12}, {97, 18}}</string> + <reference key="NSSuperview" ref="851437767"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="578316308"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Execute</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="757005232"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">130</int> + <reference key="NSNormalImage" ref="399252468"/> + <reference key="NSAlternateImage" ref="357101228"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> + </object> + <string key="NSFrame">{{1, 1}, {175, 118}}</string> + <reference key="NSSuperview" ref="871205380"/> + </object> + </object> + <string key="NSFrame">{{252, 246}, {177, 134}}</string> + <reference key="NSSuperview" ref="386290455"/> + <string key="NSOffsets">{0, 0}</string> + <object class="NSTextFieldCell" key="NSTitleCell"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Views and Procedures</string> + <reference key="NSSupport" ref="26"/> + <reference key="NSBackgroundColor" ref="148864816"/> + <object class="NSColor" key="NSTextColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes> + </object> + </object> + <reference key="NSContentView" ref="851437767"/> + <int key="NSBorderType">1</int> + <int key="NSBoxType">0</int> + <int key="NSTitlePosition">2</int> + <bool key="NSTransparent">NO</bool> + </object> + </object> + <string key="NSFrame">{{17, 11}, {446, 400}}</string> + <reference key="NSSuperview" ref="202198269"/> + <string key="NSClassName">NSView</string> + </object> + </object> + <string key="NSFrame">{{10, 33}, {511, 414}}</string> + </object> + <string key="NSLabel">Global Privileges</string> + <reference key="NSColor" ref="409859189"/> + <reference key="NSTabView" ref="716372522"/> + </object> + <object class="NSTabViewItem" id="285628164"> + <string key="NSIdentifier">Resources</string> + <object class="NSView" key="NSView" id="169019919"> + <nil key="NSNextResponder"/> + <int key="NSvFlags">256</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSBox" id="991025453"> + <reference key="NSNextResponder" ref="169019919"/> + <int key="NSvFlags">269</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSView" id="289920921"> + <reference key="NSNextResponder" ref="991025453"/> + <int key="NSvFlags">256</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSForm" id="29923434"> + <reference key="NSNextResponder" ref="289920921"/> + <int key="NSvFlags">4364</int> + <string key="NSFrame">{{18, 14}, {218, 82}}</string> + <reference key="NSSuperview" ref="289920921"/> + <bool key="NSEnabled">YES</bool> + <int key="NSNumRows">3</int> + <int key="NSNumCols">1</int> + <object class="NSMutableArray" key="NSCells"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSFormCell" id="892380277"> + <int key="NSCellFlags">-1804468671</int> + <int key="NSCellFlags2">-2143288320</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="746597359"/> + <object class="NSNumberFormatter" key="NSFormatter" id="542435188"> + <object class="NSMutableDictionary" key="NS.attributes"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>allowsFloats</string> + <string>formatterBehavior</string> + <string>minimum</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <boolean value="NO" id="6"/> + <integer value="1040"/> + <real value="0.000000e+00" id="675386282"/> + </object> + </object> + <string key="NS.positiveformat">#</string> + <string key="NS.negativeformat">#</string> + <nil key="NS.positiveattrs"/> + <nil key="NS.negativeattrs"/> + <object class="NSAttributedString" key="NS.zero"> + <nil key="NSString"/> + </object> + <object class="NSAttributedString" key="NS.nil"> + <nil key="NSString"/> + </object> + <object class="NSAttributedString" key="NS.nan"> + <string key="NSString">NaN</string> + <object class="NSDictionary" key="NSAttributes" id="220782088"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + </object> + <reference key="NS.min" ref="675386282"/> + <object class="NSDecimalNumberPlaceholder" key="NS.max" id="21182636"> + <int key="NS.exponent">0</int> + <int key="NS.length">0</int> + <bool key="NS.negative">YES</bool> + <bool key="NS.compact">NO</bool> + <int key="NS.mantissa.bo">1</int> + <bytes key="NS.mantissa">AAAAAAAAAAAAAAAAAAAAAA</bytes> + </object> + <object class="NSDecimalNumberHandler" key="NS.rounding"> + <int key="NS.roundingmode">3</int> + <bool key="NS.raise.overflow">YES</bool> + <bool key="NS.raise.underflow">YES</bool> + <bool key="NS.raise.dividebyzero">YES</bool> + </object> + <string key="NS.decimal">.</string> + <string key="NS.thousand">,</string> + <bool key="NS.hasthousands">NO</bool> + <bool key="NS.localized">YES</bool> + <bool key="NS.allowsfloats">NO</bool> + </object> + <reference key="NSControlView" ref="29923434"/> + <double key="NSTitleWidth">1.168931e+02</double> + <object class="NSCell" key="NSTitleCell"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">67108864</int> + <string key="NSContents">Max Updates:</string> + <reference key="NSSupport" ref="746597359"/> + </object> + </object> + <object class="NSFormCell" id="62674029"> + <int key="NSCellFlags">-1804468671</int> + <int key="NSCellFlags2">-1941961728</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="746597359"/> + <object class="NSNumberFormatter" key="NSFormatter" id="573461205"> + <object class="NSMutableDictionary" key="NS.attributes"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>allowsFloats</string> + <string>formatterBehavior</string> + <string>minimum</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="6"/> + <integer value="1040"/> + <real value="0.000000e+00" id="768513425"/> + </object> + </object> + <string key="NS.positiveformat">#</string> + <string key="NS.negativeformat">#</string> + <nil key="NS.positiveattrs"/> + <nil key="NS.negativeattrs"/> + <object class="NSAttributedString" key="NS.zero"> + <nil key="NSString"/> + </object> + <object class="NSAttributedString" key="NS.nil"> + <nil key="NSString"/> + </object> + <object class="NSAttributedString" key="NS.nan"> + <string key="NSString">NaN</string> + <reference key="NSAttributes" ref="220782088"/> + </object> + <reference key="NS.min" ref="768513425"/> + <reference key="NS.max" ref="21182636"/> + <object class="NSDecimalNumberHandler" key="NS.rounding"> + <int key="NS.roundingmode">3</int> + <bool key="NS.raise.overflow">YES</bool> + <bool key="NS.raise.underflow">YES</bool> + <bool key="NS.raise.dividebyzero">YES</bool> + </object> + <string key="NS.decimal">.</string> + <string key="NS.thousand">,</string> + <bool key="NS.hasthousands">NO</bool> + <bool key="NS.localized">YES</bool> + <bool key="NS.allowsfloats">NO</bool> + </object> + <int key="NSTag">1</int> + <reference key="NSControlView" ref="29923434"/> + <double key="NSTitleWidth">1.168931e+02</double> + <object class="NSCell" key="NSTitleCell"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">67108864</int> + <string key="NSContents">Max Connections:</string> + <reference key="NSSupport" ref="746597359"/> + </object> + </object> + <object class="NSFormCell" id="433998913"> + <int key="NSCellFlags">343014976</int> + <int key="NSCellFlags2">-1941961728</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="746597359"/> + <object class="NSNumberFormatter" key="NSFormatter" id="632279764"> + <object class="NSMutableDictionary" key="NS.attributes"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>allowsFloats</string> + <string>formatterBehavior</string> + <string>minimum</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="6"/> + <integer value="1040"/> + <real value="0.000000e+00" id="948592494"/> + </object> + </object> + <string key="NS.positiveformat">#</string> + <string key="NS.negativeformat">#</string> + <nil key="NS.positiveattrs"/> + <nil key="NS.negativeattrs"/> + <object class="NSAttributedString" key="NS.zero"> + <nil key="NSString"/> + </object> + <object class="NSAttributedString" key="NS.nil"> + <nil key="NSString"/> + </object> + <object class="NSAttributedString" key="NS.nan"> + <string key="NSString">NaN</string> + <reference key="NSAttributes" ref="220782088"/> + </object> + <reference key="NS.min" ref="948592494"/> + <reference key="NS.max" ref="21182636"/> + <object class="NSDecimalNumberHandler" key="NS.rounding"> + <int key="NS.roundingmode">3</int> + <bool key="NS.raise.overflow">YES</bool> + <bool key="NS.raise.underflow">YES</bool> + <bool key="NS.raise.dividebyzero">YES</bool> + </object> + <string key="NS.decimal">.</string> + <string key="NS.thousand">,</string> + <bool key="NS.hasthousands">NO</bool> + <bool key="NS.localized">YES</bool> + <bool key="NS.allowsfloats">NO</bool> + </object> + <reference key="NSControlView" ref="29923434"/> + <double key="NSTitleWidth">1.168931e+02</double> + <object class="NSCell" key="NSTitleCell"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">67108864</int> + <string key="NSContents">Max Questions:</string> + <reference key="NSSupport" ref="746597359"/> + </object> + </object> + </object> + <string key="NSCellSize">{218, 22}</string> + <string key="NSIntercellSpacing">{1, 8}</string> + <int key="NSMatrixFlags">524288</int> + <string key="NSCellClass">NSActionCell</string> + <object class="NSFormCell" key="NSProtoCell" id="795582240"> + <int key="NSCellFlags">343014976</int> + <int key="NSCellFlags2">205521920</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="746597359"/> + <double key="NSTitleWidth">1.168931e+02</double> + <object class="NSCell" key="NSTitleCell"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">67108864</int> + <string key="NSContents">Field:</string> + <reference key="NSSupport" ref="746597359"/> + </object> + </object> + <int key="NSSelectedRow">-1</int> + <int key="NSSelectedCol">-1</int> + <reference key="NSBackgroundColor" ref="409859189"/> + <reference key="NSCellBackgroundColor" ref="888720323"/> + <reference key="NSFont" ref="746597359"/> + </object> + </object> + <string key="NSFrame">{{1, 1}, {254, 106}}</string> + <reference key="NSSuperview" ref="991025453"/> + </object> + </object> + <string key="NSFrame">{{127, 244}, {256, 122}}</string> + <reference key="NSSuperview" ref="169019919"/> + <string key="NSOffsets">{0, 0}</string> + <object class="NSTextFieldCell" key="NSTitleCell"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Resource Limits for the User</string> + <reference key="NSSupport" ref="26"/> + <reference key="NSBackgroundColor" ref="148864816"/> + <object class="NSColor" key="NSTextColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes> + </object> + </object> + <reference key="NSContentView" ref="289920921"/> + <int key="NSBorderType">1</int> + <int key="NSBoxType">0</int> + <int key="NSTitlePosition">2</int> + <bool key="NSTransparent">NO</bool> + </object> + </object> + <string key="NSFrame">{{10, 33}, {511, 414}}</string> + </object> + <string key="NSLabel">Resources</string> + <reference key="NSColor" ref="409859189"/> + <reference key="NSTabView" ref="716372522"/> + </object> + </object> + <reference key="NSSelectedTabViewItem" ref="820796939"/> + <reference key="NSFont" ref="746597359"/> + <int key="NSTvFlags">0</int> + <bool key="NSDrawsBackground">YES</bool> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="143215913"/> + </object> + </object> + <object class="NSButton" id="445730006"> + <reference key="NSNextResponder" ref="755335467"/> + <int key="NSvFlags">289</int> + <string key="NSFrame">{{467, 12}, {76, 32}}</string> + <reference key="NSSuperview" ref="755335467"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="289173129"> + <int key="NSCellFlags">-2080244224</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents">Apply</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="445730006"/> + <int key="NSButtonFlags">-2038021889</int> + <int key="NSButtonFlags2">129</int> + <reference key="NSAlternateImage" ref="746597359"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">400</int> + <int key="NSPeriodicInterval">75</int> + </object> + </object> + <object class="NSButton" id="335568650"> + <reference key="NSNextResponder" ref="755335467"/> + <int key="NSvFlags">289</int> + <string key="NSFrame">{{385, 12}, {82, 32}}</string> + <reference key="NSSuperview" ref="755335467"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="1067684076"> + <int key="NSCellFlags">-2080244224</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents">Cancel</string> + <reference key="NSSupport" ref="746597359"/> + <reference key="NSControlView" ref="335568650"/> + <int key="NSButtonFlags">-2038021889</int> + <int key="NSButtonFlags2">129</int> + <reference key="NSAlternateImage" ref="746597359"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">400</int> + <int key="NSPeriodicInterval">75</int> + </object> + </object> + </object> + <string key="NSFrame">{{195, 0}, {557, 506}}</string> + <reference key="NSSuperview" ref="138392961"/> + <string key="NSClassName">NSView</string> + </object> + </object> + <string key="NSFrameSize">{752, 506}</string> + <reference key="NSSuperview" ref="846307432"/> + <bool key="NSIsVertical">YES</bool> + <int key="NSDividerStyle">2</int> + </object> + </object> + <string key="NSFrameSize">{752, 506}</string> + <reference key="NSSuperview"/> + </object> + <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string> + <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string> + </object> + <object class="NSTreeController" id="889422316"> + <object class="NSMutableArray" key="NSDeclaredKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>username</string> + <string>children</string> + <string>host</string> + <string>itemTitle</string> + <string>password</string> + <string>globalPrivileges</string> + <string>globalPrivileges.Select_priv</string> + <string>globalPrivileges.Insert_priv</string> + <string>globalPrivileges.Update_priv</string> + <string>globalPrivileges.Delete_priv</string> + <string>globalPrivileges.Create_priv</string> + <string>globalPrivileges.Drop_priv</string> + <string>globalPrivileges.Reload_priv</string> + <string>globalPrivileges.Shutdown_priv</string> + <string>globalPrivileges.Process_priv</string> + <string>globalPrivileges.File_priv</string> + <string>globalPrivileges.Grant_priv</string> + <string>globalPrivileges.References_priv</string> + <string>globalPrivileges.Index_priv</string> + <string>globalPrivileges.Alter_priv</string> + <string>globalPrivileges.Show_db_priv</string> + <string>globalPrivileges.Super_priv</string> + <string>globalPrivileges.Create_tmp_table_priv</string> + <string>globalPrivileges.Lock_tables_priv</string> + <string>globalPrivileges.Execute_priv</string> + <string>globalPrivileges.Repl_slav_priv</string> + <string>globalPrivileges.Repl_client_priv</string> + <string>globalPrivileges.Create_view_priv</string> + <string>globalPrivileges.Show_view_priv</string> + <string>globalPrivileges.Create_routine_priv</string> + <string>globalPrivileges.Alter_routine_priv</string> + <string>globalPrivileges.Create_user_priv</string> + <string>globalPrivileges.Event_pri</string> + <string>user</string> + <string>content</string> + <string>contents</string> + <string>hosts.Select_priv</string> + <string>hosts.Insert_priv</string> + <string>displayName</string> + <string>create_priv</string> + <string>delete_priv</string> + <string>drop_priv</string> + <string>insert_priv</string> + <string>reload_priv</string> + <string>select_priv</string> + <string>update_priv</string> + <string>maxUserConnections</string> + <string>maxConnections</string> + <string>maxQuestions</string> + <string>max_user_connections</string> + <string>max_connections</string> + <string>max_questions</string> + <string>references_priv</string> + <string>alter_priv</string> + <string>index_priv</string> + <string>create_view_priv</string> + <string>show_view_priv</string> + <string>create_routine_priv</string> + <string>alter_routine_priv</string> + <string>execute_priv</string> + <string>shutdown_priv</string> + <string>file_priv</string> + <string>process_priv</string> + <string>super_priv</string> + <string>create_temporary_table_priv</string> + <string>lock_table_priv</string> + <string>lock_tables_priv</string> + <string>show_databases_priv</string> + <string>create_user_priv</string> + <string>grant_option_priv</string> + <string>replication_client_priv</string> + <string>replication_slave_priv</string> + <string>parent</string> + </object> + <string key="NSObjectClassName">SPUserItem</string> + <bool key="NSEditable">YES</bool> + <bool key="NSAutomaticallyPreparesContent">YES</bool> + <object class="_NSManagedProxy" key="_NSManagedProxy"> + <string key="NSEntityName">SPUser</string> + <object class="NSComparisonPredicate" key="NSFetchPredicate"> + <object class="NSKeyPathExpression" key="NSLeftExpression"> + <int key="NSExpressionType">3</int> + <string key="NSSelectorName">valueForKey:</string> + <object class="NSSelfExpression" key="NSOperand"> + <int key="NSExpressionType">1</int> + </object> + <object class="NSMutableArray" key="NSArguments"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSKeyPathSpecifierExpression"> + <int key="NSExpressionType">10</int> + <string key="NSKeyPath">parent</string> + </object> + </object> + </object> + <object class="NSConstantValueExpression" key="NSRightExpression"> + <int key="NSExpressionType">0</int> + <nil key="NSConstantValueClassName"/> + </object> + <object class="NSEqualityPredicateOperator" key="NSPredicateOperator"> + <int key="NSOperatorType">4</int> + <int key="NSModifier">0</int> + <bool key="NSNegate">NO</bool> + </object> + </object> + </object> + <bool key="_NSIsUsingManagedProxy">YES</bool> + <bool key="NSAvoidsEmptySelection">YES</bool> + <bool key="NSPreservesSelection">YES</bool> + <bool key="NSSelectsInsertedObjects">YES</bool> + <string key="NSTreeContentChildrenKey">children</string> + </object> + </object> + <object class="IBObjectContainer" key="IBDocument.Objects"> + <object class="NSMutableArray" key="connectionRecords"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">treeController</string> + <reference key="source" ref="1001"/> + <reference key="destination" ref="889422316"/> + </object> + <int key="connectionID">101</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">outlineView</string> + <reference key="source" ref="1001"/> + <reference key="destination" ref="265138544"/> + </object> + <int key="connectionID">102</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">tabView</string> + <reference key="source" ref="1001"/> + <reference key="destination" ref="716372522"/> + </object> + <int key="connectionID">103</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">delegate</string> + <reference key="source" ref="265138544"/> + <reference key="destination" ref="1001"/> + </object> + <int key="connectionID">168</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">window</string> + <reference key="source" ref="1001"/> + <reference key="destination" ref="1044129360"/> + </object> + <int key="connectionID">169</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">managedObjectContext: managedObjectContext</string> + <reference key="source" ref="889422316"/> + <reference key="destination" ref="1001"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="889422316"/> + <reference key="NSDestination" ref="1001"/> + <string key="NSLabel">managedObjectContext: managedObjectContext</string> + <string key="NSBinding">managedObjectContext</string> + <string key="NSKeyPath">managedObjectContext</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">355</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">doApply:</string> + <reference key="source" ref="1001"/> + <reference key="destination" ref="445730006"/> + </object> + <int key="connectionID">399</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">doCancel:</string> + <reference key="source" ref="1001"/> + <reference key="destination" ref="335568650"/> + </object> + <int key="connectionID">400</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.max_user_connections</string> + <reference key="source" ref="892380277"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="892380277"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.max_user_connections</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.max_user_connections</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">434</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.max_connections</string> + <reference key="source" ref="62674029"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="62674029"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.max_connections</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.max_connections</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">435</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.max_questions</string> + <reference key="source" ref="433998913"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="433998913"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.max_questions</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.max_questions</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">436</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.user</string> + <reference key="source" ref="1021720165"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="1021720165"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.user</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.user</string> + <object class="NSDictionary" key="NSOptions"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>NSNoSelectionPlaceholder</string> + <string>NSNotApplicablePlaceholder</string> + <string>NSRaisesForNotApplicableKeys</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>No Selection</string> + <string>User Not Selected</string> + <reference ref="6"/> + </object> + </object> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">446</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">delegate</string> + <reference key="source" ref="716372522"/> + <reference key="destination" ref="1001"/> + </object> + <int key="connectionID">447</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.select_priv</string> + <reference key="source" ref="354897609"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="354897609"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.select_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.select_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">514</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.insert_priv</string> + <reference key="source" ref="279892883"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="279892883"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.insert_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.insert_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">516</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.update_priv</string> + <reference key="source" ref="44622938"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="44622938"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.update_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.update_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">518</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.delete_priv</string> + <reference key="source" ref="221237545"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="221237545"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.delete_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.delete_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">519</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.references_priv</string> + <reference key="source" ref="173464062"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="173464062"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.references_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.references_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">520</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.create_priv</string> + <reference key="source" ref="905629414"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="905629414"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.create_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.create_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">521</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.drop_priv</string> + <reference key="source" ref="384517358"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="384517358"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.drop_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.drop_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">522</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.alter_priv</string> + <reference key="source" ref="577327681"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="577327681"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.alter_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.alter_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">523</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.index_priv</string> + <reference key="source" ref="658073531"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="658073531"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.index_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.index_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">524</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.create_view_priv</string> + <reference key="source" ref="556933759"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="556933759"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.create_view_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.create_view_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">525</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.show_view_priv</string> + <reference key="source" ref="83587898"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="83587898"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.show_view_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.show_view_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">526</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.create_routine_priv</string> + <reference key="source" ref="969573372"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="969573372"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.create_routine_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.create_routine_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">527</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.alter_routine_priv</string> + <reference key="source" ref="905340786"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="905340786"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.alter_routine_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.alter_routine_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">528</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.execute_priv</string> + <reference key="source" ref="757005232"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="757005232"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.execute_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.execute_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">529</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.reload_priv</string> + <reference key="source" ref="165190944"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="165190944"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.reload_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.reload_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">530</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.shutdown_priv</string> + <reference key="source" ref="948609625"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="948609625"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.shutdown_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.shutdown_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">531</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.file_priv</string> + <reference key="source" ref="514468506"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="514468506"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.file_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.file_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">532</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.process_priv</string> + <reference key="source" ref="654009227"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="654009227"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.process_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.process_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">533</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.super_priv</string> + <reference key="source" ref="341346472"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="341346472"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.super_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.super_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">534</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.create_temporary_table_priv</string> + <reference key="source" ref="460063174"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="460063174"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.create_temporary_table_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.create_temporary_table_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">535</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.lock_tables_priv</string> + <reference key="source" ref="712816655"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="712816655"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.lock_tables_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.lock_tables_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">537</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.show_databases_priv</string> + <reference key="source" ref="1026585310"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="1026585310"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.show_databases_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.show_databases_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">538</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.create_user_priv</string> + <reference key="source" ref="373270478"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="373270478"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.create_user_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.create_user_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">539</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.grant_option_priv</string> + <reference key="source" ref="285378693"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="285378693"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.grant_option_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.grant_option_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">540</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.replication_client_priv</string> + <reference key="source" ref="639415915"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="639415915"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.replication_client_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.replication_client_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">541</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.replication_slave_priv</string> + <reference key="source" ref="557764028"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="557764028"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.replication_slave_priv</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.replication_slave_priv</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">542</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: selection.password</string> + <reference key="source" ref="926329636"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="926329636"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: selection.password</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">selection.password</string> + <object class="NSDictionary" key="NSOptions"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>NSConditionallySetsHidden</string> + <string>NSNoSelectionPlaceholder</string> + <string>NSRaisesForNotApplicableKeys</string> + <string>NSValidatesImmediately</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <boolean value="YES" id="5"/> + <string>No Selection</string> + <reference ref="6"/> + <reference ref="5"/> + </object> + </object> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">576</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">addUser:</string> + <reference key="source" ref="1001"/> + <reference key="destination" ref="100435394"/> + </object> + <int key="connectionID">590</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">removeUser:</string> + <reference key="source" ref="1001"/> + <reference key="destination" ref="254382996"/> + </object> + <int key="connectionID">591</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">addHost:</string> + <reference key="source" ref="1001"/> + <reference key="destination" ref="378830537"/> + </object> + <int key="connectionID">594</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">removeHost:</string> + <reference key="source" ref="1001"/> + <reference key="destination" ref="281110028"/> + </object> + <int key="connectionID">595</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">enabled: selection.parent</string> + <reference key="source" ref="100435394"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="100435394"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">enabled: selection.parent</string> + <string key="NSBinding">enabled</string> + <string key="NSKeyPath">selection.parent</string> + <object class="NSDictionary" key="NSOptions"> + <string key="NS.key.0">NSValueTransformerName</string> + <string key="NS.object.0">NSIsNil</string> + </object> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">600</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">enabled: selection.parent</string> + <reference key="source" ref="254382996"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="254382996"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">enabled: selection.parent</string> + <string key="NSBinding">enabled</string> + <string key="NSKeyPath">selection.parent</string> + <object class="NSDictionary" key="NSOptions"> + <string key="NS.key.0">NSValueTransformerName</string> + <string key="NS.object.0">NSIsNil</string> + </object> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">603</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: arrangedObjects.displayName</string> + <reference key="source" ref="716100442"/> + <reference key="destination" ref="889422316"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="716100442"/> + <reference key="NSDestination" ref="889422316"/> + <string key="NSLabel">value: arrangedObjects.displayName</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">arrangedObjects.displayName</string> + <object class="NSDictionary" key="NSOptions"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>NSAllowsEditingMultipleValuesSelection</string> + <string>NSValidatesImmediately</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="6"/> + <reference ref="5"/> + </object> + </object> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">604</int> + </object> + </object> + <object class="IBMutableOrderedSet" key="objectRecords"> + <object class="NSArray" key="orderedObjects"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBObjectRecord"> + <int key="objectID">0</int> + <object class="NSArray" key="object" id="1002"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <reference key="children" ref="1000"/> + <nil key="parent"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">-2</int> + <reference key="object" ref="1001"/> + <reference key="parent" ref="1002"/> + <string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string> + </object> + <object class="IBObjectRecord"> + <int key="objectID">-1</int> + <reference key="object" ref="1003"/> + <reference key="parent" ref="1002"/> + <string key="objectName">First Responder</string> + </object> + <object class="IBObjectRecord"> + <int key="objectID">-3</int> + <reference key="object" ref="1004"/> + <reference key="parent" ref="1002"/> + <string key="objectName">Application</string> + </object> + <object class="IBObjectRecord"> + <int key="objectID">3</int> + <reference key="object" ref="1044129360"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="846307432"/> + </object> + <reference key="parent" ref="1002"/> + <string key="objectName">UserManagerView</string> + </object> + <object class="IBObjectRecord"> + <int key="objectID">4</int> + <reference key="object" ref="846307432"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="138392961"/> + </object> + <reference key="parent" ref="1044129360"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">25</int> + <reference key="object" ref="138392961"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="755335467"/> + <reference ref="490248567"/> + </object> + <reference key="parent" ref="846307432"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">27</int> + <reference key="object" ref="755335467"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="445730006"/> + <reference ref="335568650"/> + <reference ref="716372522"/> + </object> + <reference key="parent" ref="138392961"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">48</int> + <reference key="object" ref="889422316"/> + <reference key="parent" ref="1002"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">122</int> + <reference key="object" ref="445730006"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="289173129"/> + </object> + <reference key="parent" ref="755335467"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">123</int> + <reference key="object" ref="289173129"/> + <reference key="parent" ref="445730006"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">124</int> + <reference key="object" ref="335568650"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="1067684076"/> + </object> + <reference key="parent" ref="755335467"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">125</int> + <reference key="object" ref="1067684076"/> + <reference key="parent" ref="335568650"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">37</int> + <reference key="object" ref="716372522"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="1024639412"/> + <reference ref="285628164"/> + <reference ref="820796939"/> + </object> + <reference key="parent" ref="755335467"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">189</int> + <reference key="object" ref="1024639412"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="202198269"/> + </object> + <reference key="parent" ref="716372522"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">190</int> + <reference key="object" ref="202198269"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="386290455"/> + </object> + <reference key="parent" ref="1024639412"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">42</int> + <reference key="object" ref="285628164"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="169019919"/> + </object> + <reference key="parent" ref="716372522"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">43</int> + <reference key="object" ref="169019919"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="991025453"/> + </object> + <reference key="parent" ref="285628164"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">38</int> + <reference key="object" ref="820796939"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="143215913"/> + </object> + <reference key="parent" ref="716372522"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">41</int> + <reference key="object" ref="143215913"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="813339681"/> + </object> + <reference key="parent" ref="820796939"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">44</int> + <reference key="object" ref="813339681"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="926329636"/> + <reference ref="810288614"/> + <reference ref="1021720165"/> + <reference ref="810516533"/> + </object> + <reference key="parent" ref="143215913"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">116</int> + <reference key="object" ref="926329636"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="71857161"/> + </object> + <reference key="parent" ref="813339681"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">117</int> + <reference key="object" ref="71857161"/> + <reference key="parent" ref="926329636"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">114</int> + <reference key="object" ref="810288614"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="403703009"/> + </object> + <reference key="parent" ref="813339681"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">115</int> + <reference key="object" ref="403703009"/> + <reference key="parent" ref="810288614"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">112</int> + <reference key="object" ref="1021720165"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="540584164"/> + </object> + <reference key="parent" ref="813339681"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">113</int> + <reference key="object" ref="540584164"/> + <reference key="parent" ref="1021720165"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">110</int> + <reference key="object" ref="810516533"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="634743178"/> + </object> + <reference key="parent" ref="813339681"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">111</int> + <reference key="object" ref="634743178"/> + <reference key="parent" ref="810516533"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">26</int> + <reference key="object" ref="490248567"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="623571747"/> + <reference ref="848314643"/> + </object> + <reference key="parent" ref="138392961"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">28</int> + <reference key="object" ref="848314643"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="265138544"/> + <reference ref="851800246"/> + <reference ref="710626046"/> + <reference ref="98886535"/> + </object> + <reference key="parent" ref="490248567"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">31</int> + <reference key="object" ref="265138544"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="716100442"/> + </object> + <reference key="parent" ref="848314643"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">33</int> + <reference key="object" ref="716100442"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="984683345"/> + </object> + <reference key="parent" ref="265138544"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">36</int> + <reference key="object" ref="984683345"/> + <reference key="parent" ref="716100442"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">30</int> + <reference key="object" ref="851800246"/> + <reference key="parent" ref="848314643"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">29</int> + <reference key="object" ref="710626046"/> + <reference key="parent" ref="848314643"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">578</int> + <reference key="object" ref="98886535"/> + <reference key="parent" ref="848314643"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">579</int> + <reference key="object" ref="623571747"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="100435394"/> + <reference ref="254382996"/> + <reference ref="112862365"/> + </object> + <reference key="parent" ref="490248567"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">580</int> + <reference key="object" ref="100435394"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="224905719"/> + </object> + <reference key="parent" ref="623571747"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">581</int> + <reference key="object" ref="224905719"/> + <reference key="parent" ref="100435394"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">582</int> + <reference key="object" ref="254382996"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="297146523"/> + </object> + <reference key="parent" ref="623571747"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">583</int> + <reference key="object" ref="297146523"/> + <reference key="parent" ref="254382996"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">584</int> + <reference key="object" ref="112862365"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="17402987"/> + </object> + <reference key="parent" ref="623571747"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">585</int> + <reference key="object" ref="17402987"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="524779283"/> + </object> + <reference key="parent" ref="112862365"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">586</int> + <reference key="object" ref="524779283"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="567387396"/> + <reference ref="378830537"/> + <reference ref="281110028"/> + </object> + <reference key="parent" ref="17402987"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">587</int> + <reference key="object" ref="567387396"/> + <reference key="parent" ref="524779283"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">588</int> + <reference key="object" ref="378830537"/> + <reference key="parent" ref="524779283"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">589</int> + <reference key="object" ref="281110028"/> + <reference key="parent" ref="524779283"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">592</int> + <reference key="object" ref="386290455"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="223367051"/> + <reference ref="517432726"/> + <reference ref="1050276179"/> + <reference ref="871205380"/> + <reference ref="610554589"/> + <reference ref="191574098"/> + </object> + <reference key="parent" ref="202198269"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">454</int> + <reference key="object" ref="223367051"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="639415915"/> + <reference ref="557764028"/> + </object> + <reference key="parent" ref="386290455"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">485</int> + <reference key="object" ref="557764028"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="3268085"/> + </object> + <reference key="parent" ref="223367051"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">483</int> + <reference key="object" ref="639415915"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="919244938"/> + </object> + <reference key="parent" ref="223367051"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">484</int> + <reference key="object" ref="919244938"/> + <reference key="parent" ref="639415915"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">486</int> + <reference key="object" ref="3268085"/> + <reference key="parent" ref="557764028"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">453</int> + <reference key="object" ref="517432726"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="285378693"/> + <reference ref="373270478"/> + <reference ref="1026585310"/> + <reference ref="712816655"/> + <reference ref="460063174"/> + <reference ref="341346472"/> + <reference ref="654009227"/> + <reference ref="514468506"/> + <reference ref="948609625"/> + <reference ref="165190944"/> + </object> + <reference key="parent" ref="386290455"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">505</int> + <reference key="object" ref="285378693"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="205758531"/> + </object> + <reference key="parent" ref="517432726"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">503</int> + <reference key="object" ref="373270478"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="1072458811"/> + </object> + <reference key="parent" ref="517432726"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">501</int> + <reference key="object" ref="1026585310"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="799488283"/> + </object> + <reference key="parent" ref="517432726"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">499</int> + <reference key="object" ref="712816655"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="40570585"/> + </object> + <reference key="parent" ref="517432726"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">497</int> + <reference key="object" ref="460063174"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="315454579"/> + </object> + <reference key="parent" ref="517432726"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">495</int> + <reference key="object" ref="341346472"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="967891320"/> + </object> + <reference key="parent" ref="517432726"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">493</int> + <reference key="object" ref="654009227"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="144741035"/> + </object> + <reference key="parent" ref="517432726"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">491</int> + <reference key="object" ref="514468506"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="231869678"/> + </object> + <reference key="parent" ref="517432726"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">489</int> + <reference key="object" ref="948609625"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="410960559"/> + </object> + <reference key="parent" ref="517432726"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">487</int> + <reference key="object" ref="165190944"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="68967500"/> + </object> + <reference key="parent" ref="517432726"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">488</int> + <reference key="object" ref="68967500"/> + <reference key="parent" ref="165190944"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">490</int> + <reference key="object" ref="410960559"/> + <reference key="parent" ref="948609625"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">492</int> + <reference key="object" ref="231869678"/> + <reference key="parent" ref="514468506"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">494</int> + <reference key="object" ref="144741035"/> + <reference key="parent" ref="654009227"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">496</int> + <reference key="object" ref="967891320"/> + <reference key="parent" ref="341346472"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">498</int> + <reference key="object" ref="315454579"/> + <reference key="parent" ref="460063174"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">500</int> + <reference key="object" ref="40570585"/> + <reference key="parent" ref="712816655"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">502</int> + <reference key="object" ref="799488283"/> + <reference key="parent" ref="1026585310"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">504</int> + <reference key="object" ref="1072458811"/> + <reference key="parent" ref="373270478"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">506</int> + <reference key="object" ref="205758531"/> + <reference key="parent" ref="285378693"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">509</int> + <reference key="object" ref="610554589"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="674356083"/> + </object> + <reference key="parent" ref="386290455"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">510</int> + <reference key="object" ref="674356083"/> + <reference key="parent" ref="610554589"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">451</int> + <reference key="object" ref="1050276179"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="658073531"/> + <reference ref="577327681"/> + <reference ref="384517358"/> + <reference ref="905629414"/> + <reference ref="173464062"/> + <reference ref="221237545"/> + <reference ref="44622938"/> + <reference ref="279892883"/> + <reference ref="354897609"/> + </object> + <reference key="parent" ref="386290455"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">471</int> + <reference key="object" ref="658073531"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="489524765"/> + </object> + <reference key="parent" ref="1050276179"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">469</int> + <reference key="object" ref="577327681"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="921961521"/> + </object> + <reference key="parent" ref="1050276179"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">467</int> + <reference key="object" ref="384517358"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="1016258703"/> + </object> + <reference key="parent" ref="1050276179"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">465</int> + <reference key="object" ref="905629414"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="143275795"/> + </object> + <reference key="parent" ref="1050276179"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">463</int> + <reference key="object" ref="173464062"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="460476562"/> + </object> + <reference key="parent" ref="1050276179"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">461</int> + <reference key="object" ref="221237545"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="127371548"/> + </object> + <reference key="parent" ref="1050276179"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">459</int> + <reference key="object" ref="44622938"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="1032540047"/> + </object> + <reference key="parent" ref="1050276179"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">457</int> + <reference key="object" ref="279892883"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="754659519"/> + </object> + <reference key="parent" ref="1050276179"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">455</int> + <reference key="object" ref="354897609"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="856008013"/> + </object> + <reference key="parent" ref="1050276179"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">456</int> + <reference key="object" ref="856008013"/> + <reference key="parent" ref="354897609"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">458</int> + <reference key="object" ref="754659519"/> + <reference key="parent" ref="279892883"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">460</int> + <reference key="object" ref="1032540047"/> + <reference key="parent" ref="44622938"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">462</int> + <reference key="object" ref="127371548"/> + <reference key="parent" ref="221237545"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">464</int> + <reference key="object" ref="460476562"/> + <reference key="parent" ref="173464062"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">466</int> + <reference key="object" ref="143275795"/> + <reference key="parent" ref="905629414"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">468</int> + <reference key="object" ref="1016258703"/> + <reference key="parent" ref="384517358"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">470</int> + <reference key="object" ref="921961521"/> + <reference key="parent" ref="577327681"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">472</int> + <reference key="object" ref="489524765"/> + <reference key="parent" ref="658073531"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">511</int> + <reference key="object" ref="191574098"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="513183495"/> + </object> + <reference key="parent" ref="386290455"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">512</int> + <reference key="object" ref="513183495"/> + <reference key="parent" ref="191574098"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">452</int> + <reference key="object" ref="871205380"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="969573372"/> + <reference ref="83587898"/> + <reference ref="556933759"/> + <reference ref="757005232"/> + <reference ref="905340786"/> + </object> + <reference key="parent" ref="386290455"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">477</int> + <reference key="object" ref="969573372"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="637072733"/> + </object> + <reference key="parent" ref="871205380"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">475</int> + <reference key="object" ref="83587898"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="649732615"/> + </object> + <reference key="parent" ref="871205380"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">473</int> + <reference key="object" ref="556933759"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="189629129"/> + </object> + <reference key="parent" ref="871205380"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">481</int> + <reference key="object" ref="757005232"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="578316308"/> + </object> + <reference key="parent" ref="871205380"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">479</int> + <reference key="object" ref="905340786"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="1073285410"/> + </object> + <reference key="parent" ref="871205380"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">480</int> + <reference key="object" ref="1073285410"/> + <reference key="parent" ref="905340786"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">482</int> + <reference key="object" ref="578316308"/> + <reference key="parent" ref="757005232"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">474</int> + <reference key="object" ref="189629129"/> + <reference key="parent" ref="556933759"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">476</int> + <reference key="object" ref="649732615"/> + <reference key="parent" ref="83587898"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">478</int> + <reference key="object" ref="637072733"/> + <reference key="parent" ref="969573372"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">593</int> + <reference key="object" ref="991025453"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="29923434"/> + </object> + <reference key="parent" ref="169019919"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">288</int> + <reference key="object" ref="29923434"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="892380277"/> + <reference ref="62674029"/> + <reference ref="795582240"/> + <reference ref="433998913"/> + </object> + <reference key="parent" ref="991025453"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">289</int> + <reference key="object" ref="892380277"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="542435188"/> + </object> + <reference key="parent" ref="29923434"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">290</int> + <reference key="object" ref="62674029"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="573461205"/> + </object> + <reference key="parent" ref="29923434"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">291</int> + <reference key="object" ref="795582240"/> + <reference key="parent" ref="29923434"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">292</int> + <reference key="object" ref="433998913"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="632279764"/> + </object> + <reference key="parent" ref="29923434"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">545</int> + <reference key="object" ref="632279764"/> + <reference key="parent" ref="433998913"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">544</int> + <reference key="object" ref="573461205"/> + <reference key="parent" ref="62674029"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">543</int> + <reference key="object" ref="542435188"/> + <reference key="parent" ref="892380277"/> + </object> + </object> + </object> + <object class="NSMutableDictionary" key="flattenedProperties"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>-1.IBPluginDependency</string> + <string>-2.IBPluginDependency</string> + <string>-3.IBPluginDependency</string> + <string>110.IBPluginDependency</string> + <string>111.IBPluginDependency</string> + <string>112.IBPluginDependency</string> + <string>113.IBPluginDependency</string> + <string>114.IBPluginDependency</string> + <string>115.IBPluginDependency</string> + <string>116.IBPluginDependency</string> + <string>117.IBPluginDependency</string> + <string>122.IBPluginDependency</string> + <string>123.IBPluginDependency</string> + <string>124.IBPluginDependency</string> + <string>125.IBPluginDependency</string> + <string>25.IBPluginDependency</string> + <string>26.IBPluginDependency</string> + <string>27.IBPluginDependency</string> + <string>28.IBPluginDependency</string> + <string>288.IBPluginDependency</string> + <string>289.IBPluginDependency</string> + <string>29.IBPluginDependency</string> + <string>290.IBPluginDependency</string> + <string>291.IBPluginDependency</string> + <string>3.IBEditorWindowLastContentRect</string> + <string>3.IBPluginDependency</string> + <string>3.IBViewEditorWindowController.showingBoundsRectangles</string> + <string>3.IBViewEditorWindowController.showingLayoutRectangles</string> + <string>3.IBWindowTemplateEditedContentRect</string> + <string>3.NSWindowTemplate.visibleAtLaunch</string> + <string>30.IBPluginDependency</string> + <string>31.IBPluginDependency</string> + <string>33.IBPluginDependency</string> + <string>36.IBPluginDependency</string> + <string>37.IBAttributePlaceholdersKey</string> + <string>37.IBPluginDependency</string> + <string>38.IBPluginDependency</string> + <string>4.IBPluginDependency</string> + <string>41.IBPluginDependency</string> + <string>44.IBPluginDependency</string> + <string>451.IBPluginDependency</string> + <string>452.IBPluginDependency</string> + <string>453.IBPluginDependency</string> + <string>454.IBPluginDependency</string> + <string>455.IBPluginDependency</string> + <string>456.IBPluginDependency</string> + <string>457.IBPluginDependency</string> + <string>458.IBPluginDependency</string> + <string>459.IBPluginDependency</string> + <string>460.IBPluginDependency</string> + <string>461.IBPluginDependency</string> + <string>462.IBPluginDependency</string> + <string>463.IBPluginDependency</string> + <string>464.IBPluginDependency</string> + <string>465.IBPluginDependency</string> + <string>466.IBPluginDependency</string> + <string>467.IBPluginDependency</string> + <string>468.IBPluginDependency</string> + <string>469.IBPluginDependency</string> + <string>470.IBPluginDependency</string> + <string>471.IBPluginDependency</string> + <string>472.IBPluginDependency</string> + <string>473.IBPluginDependency</string> + <string>474.IBPluginDependency</string> + <string>475.IBPluginDependency</string> + <string>476.IBPluginDependency</string> + <string>477.IBPluginDependency</string> + <string>478.IBPluginDependency</string> + <string>479.IBPluginDependency</string> + <string>48.IBPluginDependency</string> + <string>480.IBPluginDependency</string> + <string>481.IBPluginDependency</string> + <string>482.IBPluginDependency</string> + <string>483.IBPluginDependency</string> + <string>484.IBPluginDependency</string> + <string>485.IBPluginDependency</string> + <string>486.IBPluginDependency</string> + <string>487.IBPluginDependency</string> + <string>488.IBPluginDependency</string> + <string>489.IBPluginDependency</string> + <string>490.IBPluginDependency</string> + <string>491.IBPluginDependency</string> + <string>492.IBPluginDependency</string> + <string>493.IBPluginDependency</string> + <string>494.IBPluginDependency</string> + <string>495.IBPluginDependency</string> + <string>496.IBPluginDependency</string> + <string>497.IBPluginDependency</string> + <string>498.IBPluginDependency</string> + <string>499.IBPluginDependency</string> + <string>500.IBPluginDependency</string> + <string>501.IBPluginDependency</string> + <string>502.IBPluginDependency</string> + <string>503.IBPluginDependency</string> + <string>504.IBPluginDependency</string> + <string>505.IBPluginDependency</string> + <string>506.IBPluginDependency</string> + <string>509.IBPluginDependency</string> + <string>510.IBPluginDependency</string> + <string>511.IBPluginDependency</string> + <string>512.IBPluginDependency</string> + <string>543.IBPluginDependency</string> + <string>544.IBPluginDependency</string> + <string>545.IBPluginDependency</string> + <string>579.IBPluginDependency</string> + <string>580.IBAttributePlaceholdersKey</string> + <string>580.IBPluginDependency</string> + <string>581.IBPluginDependency</string> + <string>582.IBAttributePlaceholdersKey</string> + <string>582.IBPluginDependency</string> + <string>583.IBPluginDependency</string> + <string>584.IBPluginDependency</string> + <string>585.IBPluginDependency</string> + <string>586.IBEditorWindowLastContentRect</string> + <string>586.IBPluginDependency</string> + <string>587.IBPluginDependency</string> + <string>588.IBPluginDependency</string> + <string>589.IBPluginDependency</string> + </object> + <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> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>{{59, 255}, {752, 506}}</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <reference ref="6"/> + <reference ref="6"/> + <string>{{59, 255}, {752, 506}}</string> + <reference ref="5"/> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <object class="NSMutableDictionary"> + <string key="NS.key.0">InitialTabViewItem</string> + <object class="IBInitialTabViewItemAttribute" key="NS.object.0"> + <string key="name">InitialTabViewItem</string> + <reference key="object" ref="716372522"/> + <reference key="initialTabViewItem" ref="820796939"/> + </object> + </object> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.brandonwalkin.BWToolkit</string> + <object class="NSMutableDictionary"> + <string key="NS.key.0">ToolTip</string> + <object class="IBToolTipAttribute" key="NS.object.0"> + <string key="name">ToolTip</string> + <reference key="object" ref="100435394"/> + <string key="toolTip">Add User</string> + </object> + </object> + <string>com.brandonwalkin.BWToolkit</string> + <string>com.brandonwalkin.BWToolkit</string> + <object class="NSMutableDictionary"> + <string key="NS.key.0">ToolTip</string> + <object class="IBToolTipAttribute" key="NS.object.0"> + <string key="name">ToolTip</string> + <reference key="object" ref="254382996"/> + <string key="toolTip">Remove User</string> + </object> + </object> + <string>com.brandonwalkin.BWToolkit</string> + <string>com.brandonwalkin.BWToolkit</string> + <string>com.brandonwalkin.BWToolkit</string> + <string>com.brandonwalkin.BWToolkit</string> + <string>{{476, 47}, {133, 54}}</string> + <string>com.brandonwalkin.BWToolkit</string> + <string>com.brandonwalkin.BWToolkit</string> + <string>com.brandonwalkin.BWToolkit</string> + <string>com.brandonwalkin.BWToolkit</string> + </object> + </object> + <object class="NSMutableDictionary" key="unlocalizedProperties"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <nil key="activeLocalization"/> + <object class="NSMutableDictionary" key="localizations"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <nil key="sourceID"/> + <int key="maxID">604</int> + </object> + <object class="IBClassDescriber" key="IBDocument.Classes"> + <object class="NSMutableArray" key="referencedPartialClassDescriptions"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">Frameworks/MCPKit/MCPFoundationKit/MCPConnection.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">Frameworks/MCPKit/MCPFoundationKit/MCPNull.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">Source/CMImageView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">Source/SPConnectionController.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="NSMutableDictionary" key="actions"> + <string key="NS.key.0">toggleCollapse:</string> + <string key="NS.object.0">id</string> + </object> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">Source/TablesList.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSWindow</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">Source/SPWindowAdditions.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">SPUserManager</string> + <string key="superclassName">NSObject</string> + <object class="NSMutableDictionary" key="actions"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>addHost:</string> + <string>addUser:</string> + <string>doApply:</string> + <string>doCancel:</string> + <string>removeHost:</string> + <string>removeUser:</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="NSMutableDictionary" key="outlets"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>addHostSheet</string> + <string>outlineView</string> + <string>tabView</string> + <string>treeController</string> + <string>window</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>NSPanel</string> + <string>NSOutlineView</string> + <string>NSTabView</string> + <string>NSTreeController</string> + <string>NSWindow</string> + </object> + </object> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">Source/SPUserManager.h</string> + </object> + </object> + </object> + </object> + <int key="IBDocument.localizationMode">0</int> + <string key="IBDocument.LastKnownRelativeProjectPath">../../sequel-pro.xcodeproj</string> + <int key="IBDocument.defaultPropertyAccessControl">3</int> + </data> +</archive> diff --git a/Source/SPArrayAdditions.h b/Source/SPArrayAdditions.h index 45b81e03..473740fc 100644 --- a/Source/SPArrayAdditions.h +++ b/Source/SPArrayAdditions.h @@ -31,6 +31,7 @@ static inline id NSArrayObjectAtIndex(NSArray* self, NSUInteger i) { @interface NSArray (SPArrayAdditions) - (NSString *)componentsJoinedAndBacktickQuoted; +- (NSString *)componentsJoinedByCommas; - (NSArray *)subarrayWithIndexes:(NSIndexSet *)indexes; @end diff --git a/Source/SPArrayAdditions.m b/Source/SPArrayAdditions.m index 853421e0..37b1ba62 100644 --- a/Source/SPArrayAdditions.m +++ b/Source/SPArrayAdditions.m @@ -42,6 +42,21 @@ return result; } +- (NSString *)componentsJoinedByCommas +{ + NSString *result = [NSString string]; + for (NSString *component in self) + { + if ([result length]) + { + result = [result stringByAppendingString:@","]; + } + + result = [result stringByAppendingString:component]; + } + return result; +} + - (NSArray *)subarrayWithIndexes:(NSIndexSet *)indexes { NSMutableArray *subArray = [NSMutableArray arrayWithCapacity:[indexes count]]; diff --git a/Source/SPStringAdditions.h b/Source/SPStringAdditions.h index 764e6b24..6ee941c2 100644 --- a/Source/SPStringAdditions.h +++ b/Source/SPStringAdditions.h @@ -44,6 +44,8 @@ static inline const char* NSStringUTF8String(NSString* self) { + (NSString *)stringForTimeInterval:(float)timeInterval; - (NSString *)backtickQuotedString; +- (NSString *)tickQuotedString; +- (NSString *)replaceUnderscoreWithSpace; - (NSArray *)lineRangesForRange:(NSRange)aRange; - (NSString *)createViewSyntaxPrettifier; diff --git a/Source/SPStringAdditions.m b/Source/SPStringAdditions.m index 81c501f9..5ddc14f3 100644 --- a/Source/SPStringAdditions.m +++ b/Source/SPStringAdditions.m @@ -163,6 +163,42 @@ return quotedString; } +// ------------------------------------------------------------------------------- +// tickQuotedString +// +// Returns the string quoted with ticks as required for MySQL identifiers +// eg.: tablename => 'tablename' +// my'table => 'my''table' +// ------------------------------------------------------------------------------- +- (NSString *)tickQuotedString +{ + // mutableCopy automatically retains the returned string, so don't forget to release it later... + NSMutableString *workingCopy = [self mutableCopy]; + + // First double all backticks in the string to escape them + // I don't want to use "stringByReplacingOccurrencesOfString:withString:" because it's only available in 10.5 + [workingCopy replaceOccurrencesOfString: @"'" + withString: @"''" + options: NSLiteralSearch + range: NSMakeRange(0, [workingCopy length]) ]; + + // Add the quotes around the string + NSString *quotedString = [NSString stringWithFormat: @"'%@'", workingCopy]; + + [workingCopy release]; + + return quotedString; +} + +- (NSString *)replaceUnderscoreWithSpace +{ + NSMutableString *workingCopy = [self mutableCopy]; + [workingCopy replaceOccurrencesOfString:@"_" + withString:@" " + options:NSLiteralSearch + range:NSMakeRange(0, [workingCopy length])]; + return [workingCopy autorelease]; +} // ------------------------------------------------------------------------------- // createViewSyntaxPrettifier diff --git a/Source/SPUserMO.h b/Source/SPUserMO.h new file mode 100644 index 00000000..13837921 --- /dev/null +++ b/Source/SPUserMO.h @@ -0,0 +1,41 @@ +// +// $Id: SPUserMO.h 856 2009-06-12 05:31:39Z mltownsend $ +// +// SPUserMO.h +// sequel-pro +// +// Created by Mark Townsend on Jan 01, 2009 +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// More info at <http://code.google.com/p/sequel-pro/> + +#import <CoreData/CoreData.h> + +@interface NSManagedObject (CoreDataGeneratedAccessors) + +@property(nonatomic, retain) NSString *user; +@property(nonatomic, retain) NSString *host; +@property(nonatomic, retain) NSManagedObject *parent; +@property (nonatomic, retain) NSSet *children; + +- (NSString *)displayName; +- (void)setDisplayName:(NSString *)value; + +// Access to-many relationship via -[NSObject mutableSetValueForKey:] +- (void)addChildrenObject:(NSManagedObject *)value; +- (void)removeChildrenObject:(NSManagedObject *)value; + +@end
\ No newline at end of file diff --git a/Source/SPUserMO.m b/Source/SPUserMO.m new file mode 100644 index 00000000..05d699ae --- /dev/null +++ b/Source/SPUserMO.m @@ -0,0 +1,72 @@ +// +// $Id: SPUserMO.m 856 2009-06-12 05:31:39Z mltownsend $ +// +// SPUserMO.m +// sequel-pro +// +// Created by Mark Townsend on Jan 01, 2009 +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// More info at <http://code.google.com/p/sequel-pro/> + +#import "SPUserMO.h" + +@implementation NSManagedObject (CoreDataGeneratedAccessors) + +@dynamic user, host; +@dynamic parent; +@dynamic children; + +- (NSString *)displayName +{ + if ([self valueForKey:@"parent"] == nil) { + return self.user; + } else { + return self.host; + } +} + +- (void)setDisplayName:(NSString *)value +{ + [self setValue:value forKey:@"host"]; +} + +- (void)addChildrenObject:(NSManagedObject *)value +{ + NSSet *changedObjects = [[NSSet alloc] initWithObjects:&value count:1]; + + [self willChangeValueForKey:@"children" withSetMutation:NSKeyValueUnionSetMutation usingObjects:changedObjects]; + [[self primitiveValueForKey:@"children"] addObject:value]; + [self didChangeValueForKey:@"children" withSetMutation:NSKeyValueUnionSetMutation usingObjects:changedObjects]; + + [changedObjects release]; + value.user = self.user; +} + +- (void)removeChildrenObject:(NSManagedObject *)value +{ + NSSet *changedObjects = [[NSSet alloc] initWithObjects:&value count:1]; + + [self willChangeValueForKey:@"children" withSetMutation:NSKeyValueMinusSetMutation usingObjects:changedObjects]; + [[self primitiveValueForKey:@"children"] removeObject:value]; + [self didChangeValueForKey:@"children" withSetMutation:NSKeyValueMinusSetMutation usingObjects:changedObjects]; + + [changedObjects release]; +} +@end + + + diff --git a/Source/SPUserManager.h b/Source/SPUserManager.h new file mode 100644 index 00000000..febeb472 --- /dev/null +++ b/Source/SPUserManager.h @@ -0,0 +1,73 @@ +// +// $Id: SPUserManager.h 856 2009-06-12 05:31:39Z mltownsend $ +// +// SPUserManager.h +// sequel-pro +// +// Created by Mark Townsend on Jan 01, 2009 +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// More info at <http://code.google.com/p/sequel-pro/> + +#import <Cocoa/Cocoa.h> + +@class MCPConnection; + +@interface SPUserManager : NSObject { + + NSPersistentStoreCoordinator *persistentStoreCoordinator; + NSManagedObjectModel *managedObjectModel; + NSManagedObjectContext *managedObjectContext; + NSDictionary *privColumnsMODict; + + BOOL isInitializing; + + MCPConnection* mySqlConnection; + + IBOutlet NSOutlineView* outlineView; + IBOutlet NSTabView *tabView; + IBOutlet NSTreeController *treeController; + IBOutlet NSWindow *window; + IBOutlet NSPanel *addHostSheet; +} + +- (NSPersistentStoreCoordinator *)persistentStoreCoordinator; +- (NSManagedObjectModel *)managedObjectModel; +- (NSManagedObjectContext *)managedObjectContext; + +- (id)initWithConnection:(MCPConnection *)connection; +- (void)setConnection:(MCPConnection *)connection; +- (MCPConnection *)connection; +- (void)show; +- (void)initializeChild:(NSManagedObject *)child withItem:(NSDictionary *)item; + +// Add/Remove Users +- (IBAction)addUser:(id)sender; +- (IBAction)removeUser:(id)sender; +- (IBAction)addHost:(id)sender; +- (IBAction)removeHost:(id)sender; + +// General +- (IBAction)doCancel:(id)sender; +- (IBAction)doApply:(id)sender; + +// Core Data Notifications +- (void)contextDidSave:(NSNotification *)notification; +- (BOOL)insertUsers:(NSArray *)insertedUsers; +- (BOOL)deleteUsers:(NSArray *)deletedUsers; +- (BOOL)updateUsers:(NSArray *)updatedUsers; +- (BOOL)grantPrivilegesToUser:(NSManagedObject *)user; +@end diff --git a/Source/SPUserManager.m b/Source/SPUserManager.m new file mode 100644 index 00000000..9ef3e8ba --- /dev/null +++ b/Source/SPUserManager.m @@ -0,0 +1,680 @@ +// +// $Id: SPUserManager.m 856 2009-06-12 05:31:39Z mltownsend $ +// +// SPUserManager.m +// sequel-pro +// +// Created by Mark Townsend on Jan 01, 2009 +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// More info at <http://code.google.com/p/sequel-pro/> + +#import "SPUserManager.h" +#import "MCPConnection.h" +#import "SPUserMO.h" +#import "MCPResult.h" +#import "ImageAndTextCell.h" +#import "SPArrayAdditions.h" +#import "SPStringAdditions.h" + +#define COLUMNIDNAME @"NameColumn" + +@interface SPUserManager (PrivateMethods) +- (void)_initializeTree:(NSArray *)items; +- (void)_initializeUsers; +- (void)_selectParentFromSelection; +- (NSArray *)_fetchUserWithUserName:(NSString *)username; +- (NSManagedObject *)_createNewSPUser; +- (BOOL)checkAndDisplayMySqlError; +- (void)_clearData; +@end + +@implementation SPUserManager + +- (id)init +{ + [self dealloc]; + @throw [NSException exceptionWithName:@"BadInitCall" reason:@"Can't call init here" userInfo:nil]; + return nil; +} + +- (id)initWithConnection:(MCPConnection*) connection +{ + if (![super init]) { + return nil; + } + + [self setConnection:connection]; + + + privColumnsMODict = [[[NSDictionary alloc] initWithObjectsAndKeys: + @"grant_option_priv",@"Grant_priv", + @"show_databases_priv",@"Show_db_priv", + @"create_temporary_table_priv",@"Create_tmp_table_priv", + @"Replication_slave_priv",@"Repl_slave_priv", + @"Replication_client_priv",@"Repl_client_priv",nil] retain]; + + if (!outlineView) { + [NSBundle loadNibNamed:@"UserManagerView" owner:self]; + } + + return self; +} + +- (void)dealloc +{ + NSLog(@"SPUserManager dealloc."); + + [[NSNotificationCenter defaultCenter] removeObserver:self]; + + [managedObjectContext release], managedObjectContext = nil; + [persistentStoreCoordinator release], persistentStoreCoordinator = nil; + [managedObjectModel release], managedObjectModel = nil; + [privColumnsMODict release], privColumnsMODict = nil; + + [mySqlConnection release]; + [super dealloc]; +} + +- (void)awakeFromNib +{ + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(contextDidSave:) + name:NSManagedObjectContextDidSaveNotification + object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(contextDidChange:) + name:NSManagedObjectContextObjectsDidChangeNotification + object:nil]; + [tabView selectTabViewItemAtIndex:0]; + + NSTableColumn *tableColumn = [outlineView tableColumnWithIdentifier:COLUMNIDNAME]; + ImageAndTextCell *imageAndTextCell = [[[ImageAndTextCell alloc] init] autorelease]; + + [imageAndTextCell setEditable:NO]; + [tableColumn setDataCell:imageAndTextCell]; + + [NSThread detachNewThreadSelector:@selector(_initializeUsers) toTarget:self withObject:nil]; +} + +- (void)_initializeUsers +{ + isInitializing = TRUE; + + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + NSMutableArray *resultAsArray = [NSMutableArray array]; + NSMutableArray *usersResultArray = [NSMutableArray array]; + + [[self connection] selectDB:@"mysql"]; + MCPResult *result = [[[self connection] queryString:@"select * from user order by user"] retain]; + int rows = [result numOfRows]; + if (rows > 0) + { + // Go to the beginning + [result dataSeek:0]; + } + + for(int i = 0; i < rows; i++) + { + [resultAsArray addObject:[result fetchRowAsDictionary]]; + } + + [usersResultArray addObjectsFromArray:resultAsArray]; + + [self _initializeTree:usersResultArray]; + + [result release]; + [pool release]; + isInitializing = FALSE; +} + +- (void)_initializeTree:(NSArray *)items +{ + + for(int i = 0; i < [items count]; i++) + { + NSString *username = [[items objectAtIndex:i] objectForKey:@"User"]; + NSArray *array = [[self _fetchUserWithUserName:username] retain]; + NSDictionary *item = [items objectAtIndex:i]; + + if (array != nil && [array count] > 0) + { + // Add Children + NSManagedObject *parent = [array objectAtIndex:0]; + NSManagedObject *child = [self _createNewSPUser]; + [child setParent:parent]; + [parent addChildrenObject:child]; + + [self initializeChild:child withItem:item]; + + } else { + // Add Parent + NSManagedObject *parent = [self _createNewSPUser]; + NSManagedObject *child = [self _createNewSPUser]; + + [parent setValue:username forKey:@"user"]; + [parent setValue:[item objectForKey:@"Password"] forKey:@"password"]; + [parent addChildrenObject:child]; + [child setParent:parent]; + + [self initializeChild:child withItem:item]; + } + // Save the initialized objects so that any new changes will be tracked. + NSError *error = nil; + [[self managedObjectContext] save:&error]; + if (error != nil) + { + [[NSApplication sharedApplication] presentError:error]; + } + [array release]; + } +} + +- (void)initializeChild:(NSManagedObject *)child withItem:(NSDictionary *)item +{ + for (NSString *key in item) + { + NS_DURING + if ([key hasSuffix:@"_priv"]) + { + // Special case keys + if ([privColumnsMODict objectForKey:key] != nil) + { + key = [privColumnsMODict objectForKey:key]; + } + + BOOL value = [[item objectForKey:key] boolValue]; + [child setValue:[NSNumber numberWithBool:value] forKey:key]; + } + else if ([key hasPrefix:@"max"]) + { + NSNumber *value = [NSNumber numberWithInt:[[item objectForKey:key] intValue]]; + [child setValue:value forKey:key]; + } + else if (![key isEqualToString:@"User"] && ![key isEqualToString:@"Password"]) + { + NSString *value = [item objectForKey:key]; + [child setValue:value forKey:key]; + } + NS_HANDLER + NSLog(@"%@ not implemented yet.", key); + NS_ENDHANDLER + } + +} + +/** + Creates, retains, and returns the managed object model for the application + by merging all of the models found in the application bundle. + */ + +- (NSManagedObjectModel *)managedObjectModel { + + if (managedObjectModel != nil) { + return managedObjectModel; + } + + managedObjectModel = [[NSManagedObjectModel mergedModelFromBundles:nil] retain]; + return managedObjectModel; +} + +/** + Returns the persistent store coordinator for the application. This + implementation will create and return a coordinator, having added the + store for the application to it. (The folder for the store is created, + if necessary.) + */ + +- (NSPersistentStoreCoordinator *) persistentStoreCoordinator { + + if (persistentStoreCoordinator != nil) { + return persistentStoreCoordinator; + } + + NSError *error; + + persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel: [self managedObjectModel]]; + if (![persistentStoreCoordinator addPersistentStoreWithType:NSInMemoryStoreType configuration:nil URL:nil options:nil error:&error]) + { + [[NSApplication sharedApplication] presentError:error]; + } + + return persistentStoreCoordinator; +} + +/** + Returns the managed object context for the application (which is already + bound to the persistent store coordinator for the application.) + */ + +- (NSManagedObjectContext *) managedObjectContext { + + if (managedObjectContext != nil) { + return managedObjectContext; + } + + NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator]; + if (coordinator != nil) { + managedObjectContext = [[NSManagedObjectContext alloc] init]; + [managedObjectContext setPersistentStoreCoordinator: coordinator]; + } + + return managedObjectContext; +} + +- (void)setConnection:(MCPConnection *)connection +{ + [connection retain]; + [mySqlConnection release]; + mySqlConnection = connection; +} + +- (MCPConnection* )connection +{ + return mySqlConnection; +} + +- (void)show +{ +// [NSThread detachNewThreadSelector:@selector(_initializeUsers) toTarget:self withObject:nil]; + [window makeKeyAndOrderFront:nil]; +} + +#pragma mark - +#pragma mark OutlineView Delegate Methods +- (void)outlineView:(NSOutlineView *)olv willDisplayCell:(NSCell*)cell forTableColumn:(NSTableColumn *)tableColumn item:(id)item +{ + if ([cell isKindOfClass:[ImageAndTextCell class]]) + { + if ([(NSManagedObject *)[item representedObject] parent] != nil) + { + NSImage *image1 = [[NSImage imageNamed:NSImageNameNetwork] retain]; + [image1 setScalesWhenResized:YES]; + [image1 setSize:(NSSize){16,16}]; + [(ImageAndTextCell*)cell setImage:image1]; + [image1 release]; + + } + else + { + NSImage *image1 = [[NSImage imageNamed:NSImageNameUser] retain]; + [image1 setScalesWhenResized:YES]; + [image1 setSize:(NSSize){16,16}]; + [(ImageAndTextCell*)cell setImage:image1]; + [image1 release]; + } + } +} + +- (BOOL)outlineView:(NSOutlineView *)olv isGroupItem:(id)item +{ + return FALSE; +} + +- (BOOL)outlineView:(NSOutlineView *)olv shouldSelectItem:(id)item +{ + return TRUE; +} + +- (BOOL)outlineView:(NSOutlineView *)olv shouldEditTableColumn:(NSTableColumn *)tableColumn item:(id)item +{ + if ([[[item representedObject] children] count] == 0) + { + return TRUE; + } + return FALSE; + +} + +- (void)outlineViewSelectionDidChange:(NSNotification *)notification +{ + id selectedObject = [[treeController selectedObjects] objectAtIndex:0]; + if ([selectedObject parent] == nil && !([[[tabView selectedTabViewItem] identifier] isEqualToString:@"General"])) + { + [tabView selectTabViewItemWithIdentifier:@"General"]; + } + else + { + if ([[[tabView selectedTabViewItem] identifier] isEqualToString:@"General"]) + { + [tabView selectTabViewItemWithIdentifier:@"Global Privileges"]; + } + } +} + +// General Action Methods +- (IBAction)doCancel:(id)sender +{ + [[self managedObjectContext] rollback]; + [window close]; +} + +- (IBAction)doApply:(id)sender +{ + NSError *error = nil; + [[self managedObjectContext] save:&error]; + if (error != nil) + { + [[NSApplication sharedApplication] presentError:error]; + } + else + { + [window close]; + } +// [self _clearData]; +} + +- (IBAction)addUser:(id)sender +{ + if ([[treeController selectedObjects] count] > 0) + { + if ([[[treeController selectedObjects] objectAtIndex:0] parent] != nil) + { + [self _selectParentFromSelection]; + } + } + NSManagedObject *newItem = [self _createNewSPUser]; + NSManagedObject *newChild = [self _createNewSPUser]; + [newChild setValue:@"localhost" forKey:@"host"]; + [newItem addChildrenObject:newChild]; + + [treeController addObject:newItem]; + [outlineView expandItem:[outlineView itemAtRow:[outlineView selectedRow]]]; +} + +- (IBAction)removeUser:(id)sender +{ + [treeController remove:sender]; +} + +- (IBAction)addHost:(id)sender +{ + if ([[treeController selectedObjects] count] > 0) + { + if ([[[treeController selectedObjects] objectAtIndex:0] parent] != nil) + { + [self _selectParentFromSelection]; + } + } + [treeController addChild:sender]; + // Need to figure out how to do this right. I want to be able to have the newly + // added item be in edit mode to change the host name. +// [outlineView editColumn:0 row:[outlineView selectedRow] withEvent:nil select:TRUE]; +} + +- (IBAction)removeHost:(id)sender +{ + [treeController remove:sender]; +} + + +- (void)_clearData +{ + [managedObjectContext reset]; + [managedObjectContext release]; + managedObjectContext = nil; +} + +- (BOOL)validateMenuItem:(NSMenuItem *)menuItem +{ + if ([menuItem action] == @selector(addHost:) || + [menuItem action] == @selector(removeHost:)) + { + return (([[treeController selectedObjects] count] > 0) && + [[[treeController selectedObjects] objectAtIndex:0] parent] != nil); + } + return TRUE; +} + +- (void)_selectParentFromSelection +{ + if ([[treeController selectedObjects] count] > 0) + { + NSTreeNode *firstSelectedNode = [[treeController selectedNodes] objectAtIndex:0]; + NSTreeNode *parentNode = [firstSelectedNode parentNode]; + if (parentNode) + { + NSIndexPath *parentIndex = [parentNode indexPath]; + [treeController setSelectionIndexPath:parentIndex]; + } + else + { + NSArray *selectedIndexPaths = [treeController selectionIndexPaths]; + [treeController removeSelectionIndexPaths:selectedIndexPaths]; + } + } +} + +#pragma mark - +#pragma mark Notifications +- (void)contextDidSave:(NSNotification *)notification +{ + if (!isInitializing) + { + NSArray *updated = [[notification userInfo] valueForKey:NSUpdatedObjectsKey]; + NSArray *inserted = [[notification userInfo] valueForKey:NSInsertedObjectsKey]; + NSArray *deleted = [[notification userInfo] valueForKey:NSDeletedObjectsKey]; + + if ([inserted count] > 0) + { + [self insertUsers:inserted]; + } + + if ([updated count] > 0) + { + [self updateUsers:updated]; + } + + if ([deleted count] > 0) + { + [self deleteUsers:deleted]; + } + } +} + +- (void)contextDidChange:(NSNotification *)notification +{ + NSLog(@"contextDidChange:"); + + if (!isInitializing) + { + [outlineView reloadData]; + } +} + +- (BOOL)updateUsers:(NSArray *)updatedUsers +{ + for (NSManagedObject *user in updatedUsers) { + [self grantPrivilegesToUser:user]; + } + return TRUE; +} + +- (BOOL)deleteUsers:(NSArray *)deletedUsers +{ + [[self connection] selectDB:@"mysql"]; + NSMutableString *droppedUsers = [NSMutableString string]; + for (NSManagedObject *user in deletedUsers) + { + if ([user host] != nil) + { + [droppedUsers appendString:[NSString stringWithFormat:@"%@@%@, ", + [[user valueForKey:@"user"] backtickQuotedString], + [[user valueForKey:@"host"] backtickQuotedString]]]; + } + + } + droppedUsers = [[droppedUsers substringToIndex:[droppedUsers length]-2] mutableCopy]; + [[self connection] queryString:[NSString stringWithFormat:@"DROP USER %@", droppedUsers]]; + + return TRUE; +} + +- (BOOL)insertUsers:(NSArray *)insertedUsers +{ + [[self connection] selectDB:@"mysql"]; + for(NSManagedObject *user in insertedUsers) + { + NSString *createStatement = [NSString stringWithFormat:@"CREATE USER %@@%@ IDENTIFIED BY %@;", + [[[user parent] valueForKey:@"user"] tickQuotedString], + [[user valueForKey:@"host"] tickQuotedString], + [[[user parent] valueForKey:@"password"] tickQuotedString]]; + // Create user in database + [[self connection] queryString:[NSString stringWithFormat:createStatement]]; + + if ([self checkAndDisplayMySqlError]) + { + [self grantPrivilegesToUser:user]; + } + } + + return TRUE; + +} + +// Grant or Revoke privileges to the given user +- (BOOL)grantPrivilegesToUser:(NSManagedObject *)user +{ + if ([user valueForKey:@"parent"] != nil) + { + NSDictionary *attributesDict = [[user entity] attributesByName]; + NSMutableArray *grantPrivileges = [NSMutableArray array]; + NSMutableArray *revokePrivileges = [NSMutableArray array]; + + for(NSString *key in [attributesDict allKeys]) + { + if ([key hasSuffix:@"_priv"]) + { + NSString *privilege = [key stringByReplacingOccurrencesOfString:@"_priv" withString:@""]; + + if ([[user valueForKey:key] boolValue] == TRUE) + { + [grantPrivileges addObject:[NSString stringWithFormat:@"%@", [privilege replaceUnderscoreWithSpace]]]; + } + else + { + [revokePrivileges addObject:[NSString stringWithFormat:@"%@", [privilege replaceUnderscoreWithSpace]]]; + } + } + } + // Grant privileges + if ([grantPrivileges count] > 0) + { + NSString *grantStatement = [NSString stringWithFormat:@"GRANT %@ ON *.* TO %@@%@;", + [grantPrivileges componentsJoinedByCommas], + [[[user parent] valueForKey:@"user"] tickQuotedString], + [[user valueForKey:@"host"] tickQuotedString]]; + NSLog(@"%@", grantStatement); + [[self connection] queryString:[NSString stringWithFormat:grantStatement]]; + [self checkAndDisplayMySqlError]; + } + + // Revoke privileges + if ([revokePrivileges count] > 0) + { + NSString *revokeStatement = [NSString stringWithFormat:@"REVOKE %@ ON *.* TO %@@%@;", + [revokePrivileges componentsJoinedByCommas], + [[[user parent] valueForKey:@"user"] tickQuotedString], + [[user valueForKey:@"host"] tickQuotedString]]; + NSLog(@"%@", revokeStatement); + [[self connection] queryString:[NSString stringWithFormat:revokeStatement]]; + [self checkAndDisplayMySqlError]; + } + } + return TRUE; +} +- (NSArray *)_fetchUserWithUserName:(NSString *)username +{ + NSManagedObjectContext *moc = [self managedObjectContext]; + NSPredicate *predicate = [NSPredicate predicateWithFormat:@"user == %@ AND parent == nil", username]; + NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"SPUser" + inManagedObjectContext:moc]; + NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease]; + + [request setEntity:entityDescription]; + [request setPredicate:predicate]; + + NSError *error = nil; + NSArray *array = [moc executeFetchRequest:request error:&error]; + if (error != nil) + { + [[NSApplication sharedApplication] presentError:error]; + } + + return array; +} + +- (NSManagedObject *)_createNewSPUser +{ + NSManagedObject *user = [[NSEntityDescription insertNewObjectForEntityForName:@"SPUser" + inManagedObjectContext:[self managedObjectContext]] autorelease]; + + return user; +} + +- (BOOL)checkAndDisplayMySqlError +{ + if (![[[self connection] getLastErrorMessage] isEqualToString:@""]) + { + NSBeginAlertSheet(@"MySQL Error", + nil, + nil, + nil, + window, + self, + NULL, + NULL, + nil, + [[self connection] getLastErrorMessage]); + return FALSE; + } else { + return TRUE; + } +} + +#pragma mark - +#pragma mark Tab View Delegate methods +- (BOOL)tabView:(NSTabView *)tabView shouldSelectTabViewItem:(NSTabViewItem *)tabViewItem +{ + if ([[treeController selectedObjects] count] == 0) + return FALSE; + + id selectedObject = [[treeController selectedObjects] objectAtIndex:0]; + if ([[tabViewItem identifier] isEqualToString:@"General"]) + { + if ([selectedObject parent] == nil) { + return TRUE; + } else { + return FALSE; + } + } + else if ([[tabViewItem identifier] isEqualToString:@"Global Privileges"] || + [[tabViewItem identifier] isEqualToString:@"Resources"]) + { + if ([selectedObject parent] != nil) + { + return TRUE; + } + else + { + return FALSE; + } + } + + return TRUE; +} +@end diff --git a/Source/SPUserManager.xcdatamodel/elements b/Source/SPUserManager.xcdatamodel/elements Binary files differnew file mode 100644 index 00000000..6766bed3 --- /dev/null +++ b/Source/SPUserManager.xcdatamodel/elements diff --git a/Source/SPUserManager.xcdatamodel/layout b/Source/SPUserManager.xcdatamodel/layout Binary files differnew file mode 100644 index 00000000..07b18bfd --- /dev/null +++ b/Source/SPUserManager.xcdatamodel/layout diff --git a/Source/TableDocument.h b/Source/TableDocument.h index 42be9e5a..480ef810 100644 --- a/Source/TableDocument.h +++ b/Source/TableDocument.h @@ -53,6 +53,8 @@ enum { IBOutlet id databaseDataInstance; IBOutlet id spHistoryControllerInstance; IBOutlet id spExportControllerInstance; + IBOutlet id userManagerInstance; + IBOutlet NSSearchField *listFilterField; @@ -126,8 +128,8 @@ enum { - (NSString *)getHTMLforPrint; +- (IBAction)showUserManager:(id)sender; - (void)initQueryEditorWithString:(NSString *)query; - // Connection callback and methods - (void) setConnection:(MCPConnection *)theConnection; - (void)setShouldAutomaticallyConnect:(BOOL)shouldAutomaticallyConnect; diff --git a/Source/TableDocument.m b/Source/TableDocument.m index 02212647..ee314b65 100644 --- a/Source/TableDocument.m +++ b/Source/TableDocument.m @@ -47,6 +47,7 @@ #import "SPPreferenceController.h" #import "SPPrintAccessory.h" #import "QLPreviewPanel.h" +#import "SPUserManager.h" // Used for printing #import "MGTemplateEngine.h" @@ -2174,7 +2175,15 @@ [toolbarItem setTarget:self]; [toolbarItem setAction:@selector(viewRelations:)]; - + } else if ([itemIdentifier isEqualToString:@"SwitchToUserManagerToolbarItemIdentifier"]) { + [toolbarItem setLabel:NSLocalizedString(@"Users", @"toolbar item label for switching to the User Manager tab")]; + [toolbarItem setPaletteLabel:NSLocalizedString(@"Users", @"toolbar item label for switching to the User Manager tab")]; + //set up tooltip and image + [toolbarItem setToolTip:NSLocalizedString(@"Switch to the User Manager tab", @"tooltip for toolbar item for switching to the User Manager tab")]; + [toolbarItem setImage:[NSImage imageNamed:NSImageNameEveryone]]; + //set up the target action + [toolbarItem setTarget:self]; + [toolbarItem setAction:@selector(showUserManager:)]; } else { //itemIdentifier refered to a toolbar item that is not provided or supported by us or cocoa toolbarItem = nil; @@ -2199,6 +2208,7 @@ @"SwitchToRunQueryToolbarItemIdentifier", @"SwitchToTableInfoToolbarItemIdentifier", @"SwitchToTableRelationsToolbarItemIdentifier", + @"SwitchToUserManagerToolbarItemIdentifier", NSToolbarCustomizeToolbarItemIdentifier, NSToolbarFlexibleSpaceItemIdentifier, NSToolbarSpaceItemIdentifier, @@ -2220,6 +2230,7 @@ @"SwitchToRunQueryToolbarItemIdentifier", NSToolbarFlexibleSpaceItemIdentifier, @"HistoryNavigationToolbarItemIdentifier", + @"SwitchToUserManagerToolbarItemIdentifier", @"ShowConsoleIdentifier", nil]; } @@ -2542,6 +2553,16 @@ if(queryEditorInitString) [queryEditorInitString release]; [super dealloc]; } + +- (void)showUserManager:(id)sender +{ + if (userManagerInstance == nil) + { + userManagerInstance = [[SPUserManager alloc] initWithConnection:mySQLConnection]; + } else { + [userManagerInstance show]; + } +} @end diff --git a/sequel-pro.xcodeproj/project.pbxproj b/sequel-pro.xcodeproj/project.pbxproj index aa5d4aa0..06ce19ec 100644 --- a/sequel-pro.xcodeproj/project.pbxproj +++ b/sequel-pro.xcodeproj/project.pbxproj @@ -123,6 +123,10 @@ 384582C40FB95FF800DDACB6 /* func-small.png in Resources */ = {isa = PBXBuildFile; fileRef = 384582C30FB95FF800DDACB6 /* func-small.png */; }; 384582C70FB9603600DDACB6 /* proc-small.png in Resources */ = {isa = PBXBuildFile; fileRef = 384582C60FB9603600DDACB6 /* proc-small.png */; }; 387BBBA80FBCB6CB00B31746 /* SPTableRelations.m in Sources */ = {isa = PBXBuildFile; fileRef = 387BBBA70FBCB6CB00B31746 /* SPTableRelations.m */; }; + 4D90B79A101E0CDF00D116A1 /* SPUserManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D90B799101E0CDF00D116A1 /* SPUserManager.m */; }; + 4D90B79E101E0CF200D116A1 /* SPUserManager.xcdatamodel in Sources */ = {isa = PBXBuildFile; fileRef = 4D90B79B101E0CF200D116A1 /* SPUserManager.xcdatamodel */; }; + 4D90B79F101E0CF200D116A1 /* SPUserMO.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D90B79D101E0CF200D116A1 /* SPUserMO.m */; }; + 4D90B7A2101E0D1500D116A1 /* UserManagerView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4D90B7A0101E0D1500D116A1 /* UserManagerView.xib */; }; 4DECC3350EC2A170008D359E /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4DECC3320EC2A170008D359E /* Sparkle.framework */; }; 4DECC3370EC2A170008D359E /* Growl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4DECC3340EC2A170008D359E /* Growl.framework */; }; 4DECC48F0EC2B436008D359E /* Sparkle.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4DECC3320EC2A170008D359E /* Sparkle.framework */; }; @@ -474,6 +478,12 @@ 384582C60FB9603600DDACB6 /* proc-small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "proc-small.png"; sourceTree = "<group>"; }; 387BBBA60FBCB6CB00B31746 /* SPTableRelations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPTableRelations.h; sourceTree = "<group>"; }; 387BBBA70FBCB6CB00B31746 /* SPTableRelations.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPTableRelations.m; sourceTree = "<group>"; }; + 4D90B798101E0CDF00D116A1 /* SPUserManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPUserManager.h; sourceTree = "<group>"; }; + 4D90B799101E0CDF00D116A1 /* SPUserManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPUserManager.m; sourceTree = "<group>"; }; + 4D90B79B101E0CF200D116A1 /* SPUserManager.xcdatamodel */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = wrapper.xcdatamodel; path = SPUserManager.xcdatamodel; sourceTree = "<group>"; }; + 4D90B79C101E0CF200D116A1 /* SPUserMO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPUserMO.h; sourceTree = "<group>"; }; + 4D90B79D101E0CF200D116A1 /* SPUserMO.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPUserMO.m; sourceTree = "<group>"; }; + 4D90B7A1101E0D1500D116A1 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/UserManagerView.xib; sourceTree = "<group>"; }; 4DECC3320EC2A170008D359E /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Sparkle.framework; path = Frameworks/Sparkle.framework; sourceTree = "<group>"; }; 4DECC3340EC2A170008D359E /* Growl.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Growl.framework; path = Frameworks/Growl.framework; sourceTree = "<group>"; }; 581068B51015411B0068C6E2 /* link-arrow-highlighted.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "link-arrow-highlighted.png"; sourceTree = "<group>"; }; @@ -897,6 +907,8 @@ 58FEF57D0F3B4E9700518E8E /* SPTableData.m */, 387BBBA60FBCB6CB00B31746 /* SPTableRelations.h */, 387BBBA70FBCB6CB00B31746 /* SPTableRelations.m */, + 4D90B798101E0CDF00D116A1 /* SPUserManager.h */, + 4D90B799101E0CDF00D116A1 /* SPUserManager.m */, 17E6414E0EF01EF6001BC333 /* TableContent.h */, 17E6414F0EF01EF6001BC333 /* TableContent.m */, 17E641500EF01EF6001BC333 /* TableDocument.h */, @@ -912,6 +924,9 @@ 17E6415D0EF01EF9001BC333 /* Model */ = { isa = PBXGroup; children = ( + 4D90B79B101E0CF200D116A1 /* SPUserManager.xcdatamodel */, + 4D90B79C101E0CF200D116A1 /* SPUserMO.h */, + 4D90B79D101E0CF200D116A1 /* SPUserMO.m */, 172A650F0F7BED7A001E861A /* SPConsoleMessage.h */, 172A65100F7BED7A001E861A /* SPConsoleMessage.m */, 177E7A210FCB6A2E00E9E122 /* SPExtendedTableInfo.h */, @@ -1078,6 +1093,7 @@ 17E642050EF020A3001BC333 /* Interfaces */ = { isa = PBXGroup; children = ( + 4D90B7A0101E0D1500D116A1 /* UserManagerView.xib */, B52460D90F8EF93B00171639 /* Console.xib */, BCA6F62F100FA7D700E80253 /* FieldEditorSheet.xib */, 17E642060EF020CB001BC333 /* DBView.xib */, @@ -1464,6 +1480,7 @@ BC688D811012462600D35128 /* borderlessbackground.png in Resources */, 581068B61015411B0068C6E2 /* link-arrow-highlighted.png in Resources */, 581069B410167EC10068C6E2 /* SequelProTunnelAssistant in Resources */, + 4D90B7A2101E0D1500D116A1 /* UserManagerView.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1596,6 +1613,9 @@ BC9F0881100FCF2C00A80D32 /* SPFieldEditorController.m in Sources */, 58D2E229101222670063EF1D /* SPTextAndLinkCell.m in Sources */, BC05F1C5101241DF008A97F8 /* AMIndeterminateProgressIndicatorCell.m in Sources */, + 4D90B79A101E0CDF00D116A1 /* SPUserManager.m in Sources */, + 4D90B79E101E0CF200D116A1 /* SPUserManager.xcdatamodel in Sources */, + 4D90B79F101E0CF200D116A1 /* SPUserMO.m in Sources */, 584192A1101E57BB0089807F /* NSMutableArray-MultipleSort.m in Sources */, 589235321020C1230011DE00 /* SPHistoryController.m in Sources */, BCA6271C1031B9D40047E5D5 /* SPTooltip.m in Sources */, @@ -1673,6 +1693,14 @@ name = Localizable.strings; sourceTree = "<group>"; }; + 4D90B7A0101E0D1500D116A1 /* UserManagerView.xib */ = { + isa = PBXVariantGroup; + children = ( + 4D90B7A1101E0D1500D116A1 /* English */, + ); + name = UserManagerView.xib; + sourceTree = "<group>"; + }; 58186D1F0F4CB38900851FE9 /* ConnectionErrorDialog.xib */ = { isa = PBXVariantGroup; children = ( |