From ae887c4c110df9492e2bc8b766b07e23817553b7 Mon Sep 17 00:00:00 2001 From: "Michael J. Rubinsky" Date: Sat, 31 Jan 2009 17:37:16 -0500 Subject: [PATCH] Start work on a server list panel for deleting and possibly editing existing server configurations. --- iPhoto2Ansel/AnselExportController.h | 7 + iPhoto2Ansel/AnselExportController.m | 43 +- .../English.lproj/Panel.nib/designable.nib | 430 +++- .../English.lproj/Panel.nib/keyedobjects.nib | Bin 20070 -> 24278 bytes .../iPhoto2Ansel.xcodeproj/mrubinsk.pbxuser | 2673 ++++++++++++++++++++ .../iPhoto2Ansel.xcodeproj/mrubinsk.perspectivev3 | 1601 ++++++++++++ 6 files changed, 4734 insertions(+), 20 deletions(-) create mode 100644 iPhoto2Ansel/iPhoto2Ansel.xcodeproj/mrubinsk.pbxuser create mode 100644 iPhoto2Ansel/iPhoto2Ansel.xcodeproj/mrubinsk.perspectivev3 diff --git a/iPhoto2Ansel/AnselExportController.h b/iPhoto2Ansel/AnselExportController.h index 278a2b1b7..ae52e9dae 100644 --- a/iPhoto2Ansel/AnselExportController.h +++ b/iPhoto2Ansel/AnselExportController.h @@ -49,6 +49,10 @@ extern NSString * const TURAnselServerPasswordKey; IBOutlet NSSecureTextField *password; IBOutlet NSTextField *serverNickName; + // Server list + IBOutlet NSPanel *serverListPanel; + IBOutlet NSTableView *serverTable; + // Progress struct (This one is part of the protocol, but we don't use it) ExportPluginProgress progress; @@ -80,6 +84,9 @@ extern NSString * const TURAnselServerPasswordKey; - (IBAction) doCancelAddServer: (id)sender; - (IBAction) clickServer: (id)sender; +// Server List +- (IBAction) closeServerList: (id)sender; + // overrides - (void)awakeFromNib; - (void)dealloc; diff --git a/iPhoto2Ansel/AnselExportController.m b/iPhoto2Ansel/AnselExportController.m index 4edb8ac6a..8300a268f 100644 --- a/iPhoto2Ansel/AnselExportController.m +++ b/iPhoto2Ansel/AnselExportController.m @@ -14,6 +14,7 @@ @interface AnselExportController (PrivateAPI) - (void)showNewServerSheet; +- (void)showServerListPanel; - (void)doConnect; - (void)connect; - (void)disconnect; @@ -111,13 +112,12 @@ NSString * const TURAnselServerPasswordKey = @"password"; - (IBAction)clickServer: (id)sender { // Servers list -// if ([mServersPopUp indexOfSelectedItem] == [mServersPopUp numberOfItems] - 1) { -// [galleryListTable reloadData]; -// [NSApp beginSheet:galleryListPanel modalForWindow:[exportManager window] modalDelegate:self didEndSelector:@selector(sheetDidEnd:returnCode:contextInfo:) contextInfo:NULL]; -// } + if ([mServersPopUp indexOfSelectedItem] == [mServersPopUp numberOfItems] - 1) { + [self showServerListPanel]; + } // Add new server - if ([mServersPopUp indexOfSelectedItem] == [mServersPopUp numberOfItems] - 1) { + if ([mServersPopUp indexOfSelectedItem] == [mServersPopUp numberOfItems] - 2) { [self showNewServerSheet]; } else if (![[[mServersPopUp selectedItem] title] isEqual:@"(None)"]) { @@ -130,6 +130,12 @@ NSString * const TURAnselServerPasswordKey = @"password"; } } +- (IBAction) closeServerList: (id)sender +{ + [NSApp endSheet: serverListPanel]; + [serverListPanel orderOut: nil]; +} + // Server setup sheet -(IBAction)doAddServer: (id)sender { @@ -290,6 +296,15 @@ NSString * const TURAnselServerPasswordKey = @"password"; contextInfo: nil]; } +- (void) showServerListPanel +{ + [NSApp beginSheet: serverListPanel + modalForWindow: [self window] + modalDelegate: nil + didEndSelector: nil + contextInfo: nil]; +} + // See if we have everything we need to export... - (void)canExport { @@ -326,7 +341,7 @@ NSString * const TURAnselServerPasswordKey = @"password"; // add Add Gallery... and Edit List... options [mServersPopUp addItemWithTitle:@"Add Server..."]; - //[mServersPopUp addItemWithTitle:@"Edit Server List..."]; + [mServersPopUp addItemWithTitle:@"Edit Server List..."]; // fix selection [mServersPopUp selectItemAtIndex:0]; @@ -624,14 +639,18 @@ NSString * const TURAnselServerPasswordKey = @"password"; [userPrefs synchronize]; } -#pragma mark NSComboBoxDatasource delegates (used for server list) -- (id)comboBox: (NSComboBox *)aComboBox objectValueForItemAtIndex: (NSInteger)index +#pragma mark NSTableView Datasource +- (int)numberOfRowsInTableView:(NSTableView *)aTableView { - NSDictionary *server = [anselServers objectAtIndex: index]; - return [server objectForKey:TURAnselServerNickKey]; + NSLog(@"Table count"); + NSLog(@"%@", anselServers); + return [anselServers count]; } -- (NSInteger)numberOfItemsInComboBox: (NSComboBox *)aComboBox + +- (id)tableView:(NSTableView *)aTableView +objectValueForTableColumn:(NSTableColumn *)aTableColumn + row:(int)rowIndex { - return [anselServers count]; + return [[anselServers objectAtIndex: rowIndex] objectForKey: [aTableColumn identifier]]; } @end \ No newline at end of file diff --git a/iPhoto2Ansel/English.lproj/Panel.nib/designable.nib b/iPhoto2Ansel/English.lproj/Panel.nib/designable.nib index dc1500450..fe1cff2aa 100644 --- a/iPhoto2Ansel/English.lproj/Panel.nib/designable.nib +++ b/iPhoto2Ansel/English.lproj/Panel.nib/designable.nib @@ -2,13 +2,13 @@ 1050 - 9F33 + 9G55 672 - 949.34 - 352.00 + 949.43 + 353.00 YES - + YES @@ -42,7 +42,7 @@ {3.40282e+38, 3.40282e+38} {213, 107} - + 256 YES @@ -358,7 +358,7 @@ 3.000000e+00 2.000000e+00 - + 6 System gridColor @@ -659,7 +659,6 @@ {548, 406} - {{0, 0}, {1920, 1178}} {213, 129} @@ -893,6 +892,238 @@ {{0, 0}, {1920, 1178}} {3.40282e+38, 3.40282e+38} + + 23 + 2 + {{196, 152}, {679, 358}} + -1543503872 + Servers + NSPanel + + + + 256 + + YES + + + 268 + {{569, 12}, {96, 32}} + + YES + + 67239424 + 134217728 + Button + + + -2038284033 + 129 + + + 200 + 25 + + + + + 268 + + YES + + + 2304 + + YES + + + 256 + {626, 247} + + YES + + + 256 + {626, 17} + + + + + + 256 + {{627, 0}, {16, 17}} + + + + YES + + nickname + 1.010000e+02 + 4.000000e+01 + 1.000000e+03 + + 75628032 + 0 + Server Name + + + 3 + MC4zMzMzMzI5OQA + + + 6 + System + headerTextColor + + + + + 337772096 + 2048 + Text Cell + + + + + + 3 + YES + YES + + + + username + 1.410000e+02 + 4.000000e+01 + 1.000000e+03 + + 75628032 + 0 + Login Name + + + + + + 337772096 + 2048 + Text Cell + + + + + + 3 + YES + YES + + + + endpoint + 3.750000e+02 + 1.000000e+01 + 3.402823e+38 + + 75628032 + 0 + URL + + + 6 + System + headerColor + + + + + + 337772096 + 2048 + Text Cell + + + + + + 3 + YES + YES + + + + 3.000000e+00 + 2.000000e+00 + + + 1.700000e+01 + -700448768 + 4 + 15 + 0 + YES + + + {{1, 17}, {626, 247}} + + + + + 4 + + + + 256 + {{627, 17}, {15, 247}} + + + _doScroller: + 1.000000e+00 + 1.947368e-01 + + + + 256 + {{1, 264}, {626, 15}} + + 1 + + _doScroller: + 9.984051e-01 + + + + 2304 + + YES + + + {{1, 0}, {626, 17}} + + + + + 4 + + + + {{20, 60}, {643, 280}} + + + 50 + + + + + + QSAAAEEgAABBmAAAQZgAAA + + + {679, 358} + + + {{0, 0}, {1920, 1178}} + {3.40282e+38, 3.40282e+38} + @@ -1041,6 +1272,38 @@ 497 + + + serverListPanel + + + + 505 + + + + closeServerList: + + + + 506 + + + + dataSource + + + + 518 + + + + serverTable + + + + 519 + @@ -1575,6 +1838,119 @@ + + 501 + + + YES + + + + + + 502 + + + YES + + + + + + + 503 + + + YES + + + + + + 504 + + + + + 507 + + + YES + + + + + + + + + 508 + + + + + 509 + + + + + 510 + + + YES + + + + + + + + 511 + + + + + 512 + + + YES + + + + + + 513 + + + YES + + + + + + 514 + + + + + 515 + + + + + 516 + + + YES + + + + + + 517 + + + @@ -1665,6 +2041,22 @@ 5.windowTemplate.hasMinSize 5.windowTemplate.minSize 500.IBPluginDependency + 501.IBEditorWindowLastContentRect + 501.IBPluginDependency + 501.IBWindowTemplateEditedContentRect + 501.NSWindowTemplate.visibleAtLaunch + 502.IBPluginDependency + 503.IBPluginDependency + 504.IBPluginDependency + 507.IBPluginDependency + 508.IBPluginDependency + 509.IBPluginDependency + 510.IBPluginDependency + 511.IBPluginDependency + 512.IBPluginDependency + 513.IBPluginDependency + 514.IBPluginDependency + 515.IBPluginDependency 6.IBPluginDependency 6.ImportedFromIB2 7.CustomClassName @@ -1759,6 +2151,22 @@ {213, 107} com.apple.InterfaceBuilder.CocoaPlugin + {{205, 689}, {679, 358}} + com.apple.InterfaceBuilder.CocoaPlugin + {{205, 689}, {679, 358}} + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin AnselExportPluginBox @@ -1788,7 +2196,7 @@ - 500 + 519 @@ -1801,6 +2209,7 @@ YES clickServer: + closeServerList: doAddServer: doCancelAddServer: showNewGallery: @@ -1811,6 +2220,7 @@ id id id + id @@ -1829,7 +2239,9 @@ newGalleryButton newServerSheet password + serverListPanel serverNickName + serverTable spinner statusLabel username @@ -1848,7 +2260,9 @@ NSButton NSWindow NSSecureTextField + NSPanel NSTextField + NSTableView NSProgressIndicator NSTextField NSTextField diff --git a/iPhoto2Ansel/English.lproj/Panel.nib/keyedobjects.nib b/iPhoto2Ansel/English.lproj/Panel.nib/keyedobjects.nib index 1e847c7bc4cd2485d05d4171a4964547a13618cd..e3ad05b6f8d07ccd9d33181a5115f1f8a55bf7d6 100644 GIT binary patch literal 24278 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 A2LJ#7 literal 20070 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 + + + + ActivePerspectiveName + Debug + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + B05E032E0EF5A27B0012443A + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + + + OpenEditors + + + Content + + PBXProjectModuleGUID + B0F7B2F10F3506290025C1EE + PBXProjectModuleLabel + AnselExportController.m + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + B0F7B2F20F3506290025C1EE + PBXProjectModuleLabel + AnselExportController.m + _historyCapacity + 0 + bookmark + B0F7B32A0F3509D90025C1EE + history + + B0F7B3210F3509CC0025C1EE + B0F7B3220F3509CC0025C1EE + + prevStack + + B0F7B3230F3509CC0025C1EE + B0F7B3240F3509CC0025C1EE + + + SplitCount + 1 + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {1050, 923}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 781 214 1050 964 0 0 1920 1178 + + + + PerspectiveWidths + + 1249 + 1249 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-target-popup + active-buildstyle-popup + action + NSToolbarFlexibleSpaceItem + buildOrClean + build-and-goOrGo + com.apple.ide.PBXToolbarStopButton + get-info + toggle-editor + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 292 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + B00076DE0EBA573900A95FC0 + B00076D20EBA568800A95FC0 + 08FB77AFFE84173DC02AAC07 + 32C88E010371C26100C91783 + 089C167CFE841241C02AAC07 + 19C28FB8FE9D52D311CA2CBB + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1CC0EA4004350EF90041110B + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 43 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {292, 979}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {309, 997}} + GroupTreeTableConfiguration + + MainColumn + 292 + + + Module + PBXSmartGroupTreeModule + Proportion + 309pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + B05E03290EF5A27B0012443A + PBXProjectModuleLabel + AnselExportController.m + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + B05E032A0EF5A27B0012443A + PBXProjectModuleLabel + AnselExportController.m + _historyCapacity + 0 + bookmark + B0F7B3290F3509D90025C1EE + history + + B00EF56B0EF5E23600A9D71C + B0C8E1B30EF711CB00F8D611 + B075CD070F01C6F000C6AF3C + B053091D0F08274E0000CC5B + B077E77A0F1BD6A900D795FB + B0D3E6ED0F23BDC200D89AA0 + B0BEBE990F262E6100FDAF18 + B0BEBE9A0F262E6100FDAF18 + B0BEBED00F26321D00FDAF18 + B0BEC0010F264FCD00FDAF18 + B0BEC0020F264FCD00FDAF18 + B0BEC01A0F2658FF00FDAF18 + B0F7B2670F34EC3D0025C1EE + B0F7B2890F34F3F10025C1EE + B0F7B28A0F34F3F10025C1EE + B0F7B28B0F34F3F10025C1EE + B0F7B2C60F34F6290025C1EE + B0F7B2E20F3505500025C1EE + B0F7B3270F3509D80025C1EE + + prevStack + + B00EF56D0EF5E23600A9D71C + B00EF5B40EF6C31000A9D71C + B00EF5B60EF6C31000A9D71C + B00EF6710EF6CEA400A9D71C + B00EF6E80EF6DEC800A9D71C + B00EF6EB0EF6DEC800A9D71C + B0C8E1B60EF711CB00F8D611 + B0C8E32C0EF737DF00F8D611 + B0C465750EF818E500B36864 + B075CCF80F01BB8900C6AF3C + B075CD0A0F01C6F000C6AF3C + B05309250F08274E0000CC5B + B077E76F0F1B07E600D795FB + B077E7700F1B07E600D795FB + B0D3E6D00F23BB2100D89AA0 + B0D3E6EF0F23BDC200D89AA0 + B0BEBE9E0F262E6100FDAF18 + B0BEBEE80F26429800FDAF18 + B0BEC0050F264FCD00FDAF18 + B0BEC0060F264FCD00FDAF18 + B0BEC0070F264FCD00FDAF18 + B0F7B25B0F34EC060025C1EE + B0F7B2690F34EC3D0025C1EE + B0F7B28F0F34F3F10025C1EE + B0F7B2900F34F3F10025C1EE + B0F7B2910F34F3F10025C1EE + B0F7B2920F34F3F10025C1EE + B0F7B2930F34F3F10025C1EE + B0F7B2940F34F3F10025C1EE + B0F7B2950F34F3F10025C1EE + B0F7B2C70F34F6290025C1EE + B0F7B2DB0F34F85C0025C1EE + B0F7B2E30F3505500025C1EE + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {935, 690}} + + Module + PBXNavigatorGroup + Proportion + 690pt + + + Proportion + 302pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {935, 275}} + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 27}, {935, 275}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 27}, {935, 275}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1010 + + GeometryConfiguration + + Frame + {{10, 27}, {935, 275}} + + Module + PBXBuildResultsModule + + + + + Proportion + 935pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + B0F7B24E0F34EB280025C1EE + 1CA23ED40692098700951B8B + B0F7B24F0F34EB280025C1EE + B05E03290EF5A27B0012443A + B0F7B2500F34EB280025C1EE + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + build-and-go + go + NSToolbarFlexibleSpaceItem + debugger-fix-and-continue + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + debugger-step-instruction + NSToolbarFlexibleSpaceItem + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {1249, 413}} + RubberWindowFrame + 964 140 1249 1038 0 0 1920 1178 + + Module + PBXDebugCLIModule + Proportion + 413pt + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {610, 306}} + {{610, 0}, {639, 306}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {1249, 306}} + {{0, 306}, {1249, 273}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 418}, {1249, 579}} + PBXDebugSessionStackFrameViewKey + + DebugVariablesTableConfiguration + + Name + 120 + Value + 85 + Summary + 409 + + Frame + {{610, 0}, {639, 306}} + RubberWindowFrame + 964 140 1249 1038 0 0 1920 1178 + + RubberWindowFrame + 964 140 1249 1038 0 0 1920 1178 + + Module + PBXDebugSessionModule + Proportion + 579pt + + + Name + Debug + ServiceClasses + + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + PBXDebugProcessAndThreadModule + PBXDebugProcessViewModule + PBXDebugThreadViewModule + PBXDebugStackFrameViewModule + PBXNavigatorGroup + + TableOfContents + + B0F7B2510F34EB280025C1EE + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + B0F7B2520F34EB280025C1EE + B0F7B2530F34EB280025C1EE + B0F7B2540F34EB280025C1EE + B0F7B2550F34EB280025C1EE + B0F7B2460F34EAA90025C1EE + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 255134169.07746899 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 1 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + B0F7B2F10F3506290025C1EE + /Users/mrubinsk/horde-dev/horde-hatchery/iPhoto2Ansel/iPhoto2Ansel.xcodeproj + + WindowString + 964 140 1249 1038 0 0 1920 1178 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + FirstTimeWindowDisplayed + + Identifier + windowTool.debuggerConsole + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {440, 359}} + RubberWindowFrame + 876 744 440 400 0 0 1920 1178 + + Module + PBXDebugCLIModule + Proportion + 359pt + + + Proportion + 359pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + + TableOfContents + + 1C530D5B069F1CE1000CFCEE + B0C8E3820EF73C0400F8D611 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 876 744 440 400 0 0 1920 1178 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + -- 2.11.0