summaryrefslogtreecommitdiff
path: root/tikzit/src/osx
diff options
context:
space:
mode:
authorJohan Paulsson <gonz@users.sourceforge.net>2013-02-26 21:13:20 +0000
committerJohan Paulsson <gonz@users.sourceforge.net>2013-02-26 21:13:20 +0000
commit8408fed8718c5aafc89a7e22c3791904d505a425 (patch)
treeb66465d1d6ed09af42fc4f83e450ea80c391b6a5 /tikzit/src/osx
parentce5930b13b15a98e0c365003ef56cedc1c9cb6b3 (diff)
osx gui initial preferences panel with defaults support
Diffstat (limited to 'tikzit/src/osx')
-rw-r--r--tikzit/src/osx/AppDelegate.h4
-rw-r--r--tikzit/src/osx/AppDelegate.m40
-rw-r--r--tikzit/src/osx/PreferenceController.h21
-rw-r--r--tikzit/src/osx/PreferenceController.m103
-rw-r--r--tikzit/src/osx/Preferences.xib684
5 files changed, 852 insertions, 0 deletions
diff --git a/tikzit/src/osx/AppDelegate.h b/tikzit/src/osx/AppDelegate.h
index 349b47b..64acc38 100644
--- a/tikzit/src/osx/AppDelegate.h
+++ b/tikzit/src/osx/AppDelegate.h
@@ -28,6 +28,7 @@
#import "PreambleController.h"
#import "PreviewController.h"
#import "GraphicsView.h"
+#import "PreferenceController.h";
@interface AppDelegate : NSObject {
NSMapTable *table;
@@ -35,6 +36,7 @@
PropertyInspectorController *propertyInspectorController;
PreambleController *preambleController;
PreviewController *previewController;
+ PreferenceController *preferenceController;
ToolPaletteController *toolPaletteController;
IBOutlet GraphicsView *graphicsView;
NSString *tempDir;
@@ -44,10 +46,12 @@
@property IBOutlet ToolPaletteController *toolPaletteController;
- (void)awakeFromNib;
++ (void)setDefaults;
- (void)applicationWillTerminate:(NSNotification *)notification;
- (IBAction)toggleStyleInspector:(id)sender;
- (IBAction)togglePropertyInspector:(id)sender;
- (IBAction)togglePreamble:(id)sender;
+- (IBAction)togglePreferences:(id)sender;
- (IBAction)refreshShapes:(id)sender;
@end
diff --git a/tikzit/src/osx/AppDelegate.m b/tikzit/src/osx/AppDelegate.m
index bb1b5d6..ad1d407 100644
--- a/tikzit/src/osx/AppDelegate.m
+++ b/tikzit/src/osx/AppDelegate.m
@@ -31,6 +31,9 @@
@synthesize stylePaletteController, toolPaletteController;
++(void)initialize{
+ [self setDefaults];
+}
- (void)awakeFromNib {
[TikzGraphAssembler setup]; // initialise lex/yacc parser globals
@@ -66,11 +69,44 @@
[[PreviewController alloc] initWithWindowNibName:@"Preview"
preambleController:preambleController
tempDir:tempDir];
+
+ preferenceController = [[PreferenceController alloc] initWithWindowNibName:@"Preferences"];
// each application has one global preview controller
[PreviewController setDefaultPreviewController:previewController];
}
++ (void)setDefaults{
+ NSLog(@"Setting defaults...");
+
+ NSString *userDefaultsValuesPath;
+ NSDictionary *userDefaultsValuesDict;
+ NSDictionary *initialValuesDict;
+ NSArray *resettableUserDefaultsKeys;
+
+ // load the default values for the user defaults
+ userDefaultsValuesPath=[[NSBundle mainBundle] pathForResource:@"UserDefaults"
+ ofType:@"plist"];
+ userDefaultsValuesDict=[NSDictionary dictionaryWithContentsOfFile:userDefaultsValuesPath];
+
+ NSLog(@"Defaults dict: %@",userDefaultsValuesDict);
+
+ // set them in the standard user defaults
+ [[NSUserDefaults standardUserDefaults] registerDefaults:userDefaultsValuesDict];
+
+ // if your application supports resetting a subset of the defaults to
+ // factory values, you should set those values
+ // in the shared user defaults controller
+ //resettableUserDefaultsKeys=[NSArray arrayWithObjects:@"Value1",@"Value2",@"Value3",nil];
+ //initialValuesDict=[userDefaultsValuesDict dictionaryWithValuesForKeys:resettableUserDefaultsKeys];
+
+ // Set the initial values in the shared user defaults controller
+ //[[NSUserDefaultsController sharedUserDefaultsController] setInitialValues:initialValuesDict];
+
+
+ NSLog(@"Done with defaults...");
+}
+
- (void)applicationWillTerminate:(NSNotification *)notification {
NSString *supportDir = [SupportDir userSupportDir];
[stylePaletteController saveStyles:supportDir];
@@ -100,6 +136,10 @@
[self toggleController:preambleController];
}
+- (IBAction)togglePreferences:(id)sender {
+ [self toggleController:preferenceController];
+}
+
- (IBAction)refreshShapes:(id)sender {
[Shape refreshShapeDictionary];
}
diff --git a/tikzit/src/osx/PreferenceController.h b/tikzit/src/osx/PreferenceController.h
new file mode 100644
index 0000000..9143851
--- /dev/null
+++ b/tikzit/src/osx/PreferenceController.h
@@ -0,0 +1,21 @@
+//
+// PreferenceController.h
+// TikZiT
+//
+// Created by Karl Johan Paulsson on 26/02/2013.
+// Copyright (c) 2013 Aleks Kissinger. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+@interface PreferenceController : NSWindowController{
+
+ IBOutlet NSView *engineView;
+ IBOutlet NSView *generalView;
+
+ int currentViewTag;
+}
+
+- (IBAction)switchView:(id)sender;
+
+@end
diff --git a/tikzit/src/osx/PreferenceController.m b/tikzit/src/osx/PreferenceController.m
new file mode 100644
index 0000000..e2c9984
--- /dev/null
+++ b/tikzit/src/osx/PreferenceController.m
@@ -0,0 +1,103 @@
+//
+// PreferenceController.m
+// TikZiT
+//
+// Created by Karl Johan Paulsson on 26/02/2013.
+// Copyright (c) 2013 Aleks Kissinger. All rights reserved.
+//
+
+#import "PreferenceController.h"
+
+@interface PreferenceController ()
+
+@end
+
+@implementation PreferenceController
+
+- (id)initWithWindow:(NSWindow *)window
+{
+ self = [super initWithWindow:window];
+ if (self) {
+ // Initialization code here.
+ NSLog(@"preference controller is running...");
+ NSLog(@"Test defaults: %@",[[NSUserDefaults standardUserDefaults] valueForKey:@"testDefaultsHandler"]);
+ }
+
+ return self;
+}
+
+- (void)windowDidLoad
+{
+ [super windowDidLoad];
+
+ // Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
+}
+
+- (NSRect)newFrameForNewContentView:(NSView*)view {
+
+ NSWindow *window = [self window];
+ NSRect newFrameRect = [window frameRectForContentRect:[view frame]];
+ NSRect oldFrameRect = [window frame];
+ NSSize newSize = newFrameRect.size;
+ NSSize oldSize = oldFrameRect.size;
+
+ NSRect frame = [window frame];
+ frame.size = newSize;
+ frame.origin.y -= (newSize.height - oldSize.height);
+
+ return frame;
+}
+
+- (NSView *)viewForTag:(int)tag {
+
+ NSView *view = nil;
+ switch (tag) {
+ default:
+ case 0:
+ view = generalView;
+ break;
+ case 1:
+ view = engineView;
+ break;
+ }
+
+ return view;
+}
+
+- (BOOL)validateToolbarItem:(NSToolbarItem *)item {
+
+ if ([item tag] == currentViewTag) return NO;
+ else return YES;
+
+}
+
+- (void)awakeFromNib {
+
+ [[self window] setContentSize:[generalView frame].size];
+ [[[self window] contentView] addSubview:generalView];
+ [[[self window] contentView] setWantsLayer:YES];
+}
+
+- (IBAction)switchView:(id)sender {
+
+ int tag = [sender tag];
+ NSView *view = [self viewForTag:tag];
+ NSView *previousView = [self viewForTag:currentViewTag];
+ currentViewTag = tag;
+
+ NSRect newFrame = [self newFrameForNewContentView:view];
+
+
+ [NSAnimationContext beginGrouping];
+
+ if ([[NSApp currentEvent] modifierFlags] & NSShiftKeyMask)
+ [[NSAnimationContext currentContext] setDuration:1.0];
+
+ [[[[self window] contentView] animator] replaceSubview:previousView with:view];
+ [[[self window] animator] setFrame:newFrame display:YES];
+
+ [NSAnimationContext endGrouping];
+
+}
+
+@end
diff --git a/tikzit/src/osx/Preferences.xib b/tikzit/src/osx/Preferences.xib
new file mode 100644
index 0000000..7184328
--- /dev/null
+++ b/tikzit/src/osx/Preferences.xib
@@ -0,0 +1,684 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
+ <data>
+ <int key="IBDocument.SystemTarget">1080</int>
+ <string key="IBDocument.SystemVersion">12C60</string>
+ <string key="IBDocument.InterfaceBuilderVersion">2843</string>
+ <string key="IBDocument.AppKitVersion">1187.34</string>
+ <string key="IBDocument.HIToolboxVersion">625.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="NS.object.0">2843</string>
+ </object>
+ <array key="IBDocument.IntegratedClassDependencies">
+ <string>IBNSLayoutConstraint</string>
+ <string>NSCustomObject</string>
+ <string>NSCustomView</string>
+ <string>NSTextField</string>
+ <string>NSTextFieldCell</string>
+ <string>NSToolbar</string>
+ <string>NSToolbarItem</string>
+ <string>NSUserDefaultsController</string>
+ <string>NSView</string>
+ <string>NSWindowTemplate</string>
+ </array>
+ <array key="IBDocument.PluginDependencies">
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ </array>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <string key="NS.key.0">PluginDependencyRecalculationVersion</string>
+ <integer value="1" key="NS.object.0"/>
+ </object>
+ <array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+ <object class="NSCustomObject" id="1001">
+ <string key="NSClassName">PreferenceController</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="1005">
+ <int key="NSWindowStyleMask">15</int>
+ <int key="NSWindowBacking">2</int>
+ <string key="NSWindowRect">{{196, 240}, {480, 270}}</string>
+ <int key="NSWTFlags">544735232</int>
+ <string key="NSWindowTitle">Window</string>
+ <string key="NSWindowClass">NSWindow</string>
+ <object class="NSToolbar" key="NSViewClass" id="338765480">
+ <object class="NSMutableString" key="NSToolbarIdentifier">
+ <characters key="NS.bytes">C1747407-DC9A-4297-9C1C-0A5010984E6C</characters>
+ </object>
+ <nil key="NSToolbarDelegate"/>
+ <bool key="NSToolbarPrefersToBeShown">YES</bool>
+ <bool key="NSToolbarShowsBaselineSeparator">YES</bool>
+ <bool key="NSToolbarAllowsUserCustomization">NO</bool>
+ <bool key="NSToolbarAutosavesConfiguration">NO</bool>
+ <int key="NSToolbarDisplayMode">1</int>
+ <int key="NSToolbarSizeMode">1</int>
+ <dictionary class="NSMutableDictionary" key="NSToolbarIBIdentifiedItems">
+ <object class="NSToolbarItem" key="A3DDD070-5637-444B-92C6-905084CAC389" id="914743654">
+ <object class="NSMutableString" key="NSToolbarItemIdentifier">
+ <characters key="NS.bytes">A3DDD070-5637-444B-92C6-905084CAC389</characters>
+ </object>
+ <string key="NSToolbarItemLabel">General</string>
+ <string key="NSToolbarItemPaletteLabel">General</string>
+ <string key="NSToolbarItemToolTip"/>
+ <nil key="NSToolbarItemView"/>
+ <object class="NSCustomResource" key="NSToolbarItemImage" id="31080890">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">NSPreferencesGeneral</string>
+ </object>
+ <nil key="NSToolbarItemTarget"/>
+ <nil key="NSToolbarItemAction"/>
+ <string key="NSToolbarItemMinSize">{0, 0}</string>
+ <string key="NSToolbarItemMaxSize">{0, 0}</string>
+ <bool key="NSToolbarItemEnabled">YES</bool>
+ <bool key="NSToolbarItemAutovalidates">YES</bool>
+ <int key="NSToolbarItemTag">0</int>
+ <bool key="NSToolbarIsUserRemovable">YES</bool>
+ <int key="NSToolbarItemVisibilityPriority">0</int>
+ </object>
+ <object class="NSToolbarItem" key="F85FE7C2-9847-4E58-8BF6-BE334E918CA7" id="641338426">
+ <object class="NSMutableString" key="NSToolbarItemIdentifier">
+ <characters key="NS.bytes">F85FE7C2-9847-4E58-8BF6-BE334E918CA7</characters>
+ </object>
+ <string key="NSToolbarItemLabel">Engine</string>
+ <string key="NSToolbarItemPaletteLabel">Engine</string>
+ <string key="NSToolbarItemToolTip"/>
+ <nil key="NSToolbarItemView"/>
+ <reference key="NSToolbarItemImage" ref="31080890"/>
+ <nil key="NSToolbarItemTarget"/>
+ <nil key="NSToolbarItemAction"/>
+ <string key="NSToolbarItemMinSize">{0, 0}</string>
+ <string key="NSToolbarItemMaxSize">{0, 0}</string>
+ <bool key="NSToolbarItemEnabled">YES</bool>
+ <bool key="NSToolbarItemAutovalidates">YES</bool>
+ <int key="NSToolbarItemTag">1</int>
+ <bool key="NSToolbarIsUserRemovable">YES</bool>
+ <int key="NSToolbarItemVisibilityPriority">0</int>
+ </object>
+ </dictionary>
+ <array class="NSMutableArray" key="NSToolbarIBAllowedItems">
+ <reference ref="914743654"/>
+ <reference ref="641338426"/>
+ </array>
+ <array key="NSToolbarIBDefaultItems">
+ <reference ref="914743654"/>
+ <reference ref="641338426"/>
+ </array>
+ <array key="NSToolbarIBSelectableItems" id="0"/>
+ </object>
+ <nil key="NSUserInterfaceItemIdentifier"/>
+ <object class="NSView" key="NSWindowView" id="1006">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrameSize">{480, 270}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView"/>
+ </object>
+ <string key="NSScreenRect">{{0, 0}, {1600, 1200}}</string>
+ <string key="NSMaxSize">{10000000000000, 10000000000000}</string>
+ <bool key="NSWindowIsRestorable">YES</bool>
+ </object>
+ <object class="NSCustomView" id="103531975">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">268</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="NSTextField" id="762565485">
+ <reference key="NSNextResponder" ref="103531975"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{20, 32}, {96, 22}}</string>
+ <reference key="NSSuperview" ref="103531975"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView"/>
+ <string key="NSReuseIdentifierKey">_NS:9</string>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="186397132">
+ <int key="NSCellFlags">-1804599231</int>
+ <int key="NSCellFlags2">272630784</int>
+ <string key="NSContents"/>
+ <object class="NSFont" key="NSSupport" id="924461577">
+ <string key="NSName">LucidaGrande</string>
+ <double key="NSSize">13</double>
+ <int key="NSfFlags">1044</int>
+ </object>
+ <string key="NSCellIdentifier">_NS:9</string>
+ <reference key="NSControlView" ref="762565485"/>
+ <bool key="NSDrawsBackground">YES</bool>
+ <object class="NSColor" key="NSBackgroundColor">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">textBackgroundColor</string>
+ <object class="NSColor" key="NSColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MQA</bytes>
+ </object>
+ </object>
+ <object class="NSColor" key="NSTextColor">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">textColor</string>
+ <object class="NSColor" key="NSColor" id="433834218">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MAA</bytes>
+ </object>
+ </object>
+ </object>
+ <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+ </object>
+ <object class="NSTextField" id="539123669">
+ <reference key="NSNextResponder" ref="103531975"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{17, 69}, {47, 17}}</string>
+ <reference key="NSSuperview" ref="103531975"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="762565485"/>
+ <string key="NSReuseIdentifierKey">_NS:1535</string>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="459248896">
+ <int key="NSCellFlags">68157504</int>
+ <int key="NSCellFlags2">272630784</int>
+ <string key="NSContents">Engine</string>
+ <reference key="NSSupport" ref="924461577"/>
+ <string key="NSCellIdentifier">_NS:1535</string>
+ <reference key="NSControlView" ref="539123669"/>
+ <object class="NSColor" key="NSBackgroundColor" id="1052083660">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">controlColor</string>
+ <object class="NSColor" key="NSColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
+ </object>
+ </object>
+ <object class="NSColor" key="NSTextColor" id="266723537">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">controlTextColor</string>
+ <reference key="NSColor" ref="433834218"/>
+ </object>
+ </object>
+ <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+ </object>
+ </array>
+ <string key="NSFrameSize">{480, 96}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="539123669"/>
+ <string key="NSReuseIdentifierKey">_NS:9</string>
+ <string key="NSClassName">NSView</string>
+ </object>
+ <object class="NSCustomView" id="596032684">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">268</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="NSTextField" id="621229635">
+ <reference key="NSNextResponder" ref="596032684"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{214, 40}, {53, 17}}</string>
+ <reference key="NSSuperview" ref="596032684"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView"/>
+ <string key="NSReuseIdentifierKey">_NS:1535</string>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="653425178">
+ <int key="NSCellFlags">68157504</int>
+ <int key="NSCellFlags2">272630784</int>
+ <string key="NSContents">General</string>
+ <reference key="NSSupport" ref="924461577"/>
+ <string key="NSCellIdentifier">_NS:1535</string>
+ <reference key="NSControlView" ref="621229635"/>
+ <reference key="NSBackgroundColor" ref="1052083660"/>
+ <reference key="NSTextColor" ref="266723537"/>
+ </object>
+ <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+ </object>
+ </array>
+ <string key="NSFrameSize">{480, 96}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="621229635"/>
+ <string key="NSReuseIdentifierKey">_NS:9</string>
+ <string key="NSClassName">NSView</string>
+ </object>
+ <object class="NSUserDefaultsController" id="706090457">
+ <bool key="NSSharedInstance">YES</bool>
+ </object>
+ </array>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <array class="NSMutableArray" key="connectionRecords">
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">window</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="1005"/>
+ </object>
+ <int key="connectionID">3</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">engineView</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="103531975"/>
+ </object>
+ <int key="connectionID">23</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">generalView</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="596032684"/>
+ </object>
+ <int key="connectionID">25</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">switchView:</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="914743654"/>
+ </object>
+ <int key="connectionID">26</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">switchView:</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="641338426"/>
+ </object>
+ <int key="connectionID">27</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">delegate</string>
+ <reference key="source" ref="1005"/>
+ <reference key="destination" ref="1001"/>
+ </object>
+ <int key="connectionID">4</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: values.testDefaultsHandlerOther</string>
+ <reference key="source" ref="186397132"/>
+ <reference key="destination" ref="706090457"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="186397132"/>
+ <reference key="NSDestination" ref="706090457"/>
+ <string key="NSLabel">value: values.testDefaultsHandlerOther</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">values.testDefaultsHandlerOther</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">52</int>
+ </object>
+ </array>
+ <object class="IBMutableOrderedSet" key="objectRecords">
+ <array key="orderedObjects">
+ <object class="IBObjectRecord">
+ <int key="objectID">0</int>
+ <reference key="object" ref="0"/>
+ <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="0"/>
+ <string key="objectName">File's Owner</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-1</int>
+ <reference key="object" ref="1003"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">First Responder</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-3</int>
+ <reference key="object" ref="1004"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">Application</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">1</int>
+ <reference key="object" ref="1005"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="1006"/>
+ <reference ref="338765480"/>
+ </array>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">2</int>
+ <reference key="object" ref="1006"/>
+ <reference key="parent" ref="1005"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">5</int>
+ <reference key="object" ref="338765480"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="641338426"/>
+ <reference ref="914743654"/>
+ </array>
+ <reference key="parent" ref="1005"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">11</int>
+ <reference key="object" ref="641338426"/>
+ <reference key="parent" ref="338765480"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">12</int>
+ <reference key="object" ref="914743654"/>
+ <reference key="parent" ref="338765480"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">13</int>
+ <reference key="object" ref="103531975"/>
+ <array class="NSMutableArray" key="children">
+ <object class="IBNSLayoutConstraint" id="783720041">
+ <reference key="firstItem" ref="762565485"/>
+ <int key="firstAttribute">5</int>
+ <int key="relation">0</int>
+ <reference key="secondItem" ref="103531975"/>
+ <int key="secondAttribute">5</int>
+ <float key="multiplier">1</float>
+ <object class="IBNSLayoutSymbolicConstant" key="constant">
+ <double key="value">20</double>
+ </object>
+ <float key="priority">1000</float>
+ <reference key="containingView" ref="103531975"/>
+ <int key="scoringType">8</int>
+ <float key="scoringTypeFloat">29</float>
+ <int key="contentType">3</int>
+ </object>
+ <object class="IBNSLayoutConstraint" id="716469509">
+ <reference key="firstItem" ref="762565485"/>
+ <int key="firstAttribute">3</int>
+ <int key="relation">0</int>
+ <reference key="secondItem" ref="103531975"/>
+ <int key="secondAttribute">3</int>
+ <float key="multiplier">1</float>
+ <object class="IBLayoutConstant" key="constant">
+ <double key="value">42</double>
+ </object>
+ <float key="priority">1000</float>
+ <reference key="containingView" ref="103531975"/>
+ <int key="scoringType">3</int>
+ <float key="scoringTypeFloat">9</float>
+ <int key="contentType">3</int>
+ </object>
+ <object class="IBNSLayoutConstraint" id="338893657">
+ <reference key="firstItem" ref="539123669"/>
+ <int key="firstAttribute">3</int>
+ <int key="relation">0</int>
+ <reference key="secondItem" ref="103531975"/>
+ <int key="secondAttribute">3</int>
+ <float key="multiplier">1</float>
+ <object class="IBLayoutConstant" key="constant">
+ <double key="value">10</double>
+ </object>
+ <float key="priority">1000</float>
+ <reference key="containingView" ref="103531975"/>
+ <int key="scoringType">3</int>
+ <float key="scoringTypeFloat">9</float>
+ <int key="contentType">3</int>
+ </object>
+ <object class="IBNSLayoutConstraint" id="559306534">
+ <reference key="firstItem" ref="539123669"/>
+ <int key="firstAttribute">5</int>
+ <int key="relation">0</int>
+ <reference key="secondItem" ref="103531975"/>
+ <int key="secondAttribute">5</int>
+ <float key="multiplier">1</float>
+ <object class="IBNSLayoutSymbolicConstant" key="constant">
+ <double key="value">20</double>
+ </object>
+ <float key="priority">1000</float>
+ <reference key="containingView" ref="103531975"/>
+ <int key="scoringType">8</int>
+ <float key="scoringTypeFloat">29</float>
+ <int key="contentType">3</int>
+ </object>
+ <reference ref="539123669"/>
+ <reference ref="762565485"/>
+ </array>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">14</int>
+ <reference key="object" ref="596032684"/>
+ <array class="NSMutableArray" key="children">
+ <object class="IBNSLayoutConstraint" id="536442865">
+ <reference key="firstItem" ref="621229635"/>
+ <int key="firstAttribute">10</int>
+ <int key="relation">0</int>
+ <reference key="secondItem" ref="596032684"/>
+ <int key="secondAttribute">10</int>
+ <float key="multiplier">1</float>
+ <object class="IBLayoutConstant" key="constant">
+ <double key="value">0.0</double>
+ </object>
+ <float key="priority">1000</float>
+ <reference key="containingView" ref="596032684"/>
+ <int key="scoringType">5</int>
+ <float key="scoringTypeFloat">22</float>
+ <int key="contentType">2</int>
+ </object>
+ <object class="IBNSLayoutConstraint" id="826972647">
+ <reference key="firstItem" ref="621229635"/>
+ <int key="firstAttribute">9</int>
+ <int key="relation">0</int>
+ <reference key="secondItem" ref="596032684"/>
+ <int key="secondAttribute">9</int>
+ <float key="multiplier">1</float>
+ <object class="IBLayoutConstant" key="constant">
+ <double key="value">0.0</double>
+ </object>
+ <float key="priority">1000</float>
+ <reference key="containingView" ref="596032684"/>
+ <int key="scoringType">5</int>
+ <float key="scoringTypeFloat">22</float>
+ <int key="contentType">2</int>
+ </object>
+ <reference ref="621229635"/>
+ </array>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">15</int>
+ <reference key="object" ref="539123669"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="459248896"/>
+ </array>
+ <reference key="parent" ref="103531975"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">16</int>
+ <reference key="object" ref="459248896"/>
+ <reference key="parent" ref="539123669"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">19</int>
+ <reference key="object" ref="621229635"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="653425178"/>
+ </array>
+ <reference key="parent" ref="596032684"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">20</int>
+ <reference key="object" ref="653425178"/>
+ <reference key="parent" ref="621229635"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">28</int>
+ <reference key="object" ref="826972647"/>
+ <reference key="parent" ref="596032684"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">29</int>
+ <reference key="object" ref="536442865"/>
+ <reference key="parent" ref="596032684"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">30</int>
+ <reference key="object" ref="559306534"/>
+ <reference key="parent" ref="103531975"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">31</int>
+ <reference key="object" ref="338893657"/>
+ <reference key="parent" ref="103531975"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">32</int>
+ <reference key="object" ref="762565485"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="186397132"/>
+ <object class="IBNSLayoutConstraint" id="995764589">
+ <reference key="firstItem" ref="762565485"/>
+ <int key="firstAttribute">7</int>
+ <int key="relation">0</int>
+ <nil key="secondItem"/>
+ <int key="secondAttribute">0</int>
+ <float key="multiplier">1</float>
+ <object class="IBLayoutConstant" key="constant">
+ <double key="value">96</double>
+ </object>
+ <float key="priority">1000</float>
+ <reference key="containingView" ref="762565485"/>
+ <int key="scoringType">3</int>
+ <float key="scoringTypeFloat">9</float>
+ <int key="contentType">1</int>
+ </object>
+ </array>
+ <reference key="parent" ref="103531975"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">33</int>
+ <reference key="object" ref="186397132"/>
+ <reference key="parent" ref="762565485"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">34</int>
+ <reference key="object" ref="995764589"/>
+ <reference key="parent" ref="762565485"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">35</int>
+ <reference key="object" ref="716469509"/>
+ <reference key="parent" ref="103531975"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">36</int>
+ <reference key="object" ref="783720041"/>
+ <reference key="parent" ref="103531975"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">39</int>
+ <reference key="object" ref="706090457"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ </array>
+ </object>
+ <dictionary class="NSMutableDictionary" key="flattenedProperties">
+ <string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="1.IBWindowTemplateEditedContentRect">{{357, 418}, {480, 270}}</string>
+ <boolean value="NO" key="1.NSWindowTemplate.visibleAtLaunch"/>
+ <string key="11.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="12.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <array key="13.IBNSViewMetadataConstraints">
+ <reference ref="559306534"/>
+ <reference ref="338893657"/>
+ <reference ref="716469509"/>
+ <reference ref="783720041"/>
+ </array>
+ <string key="13.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <array class="NSMutableArray" key="14.IBNSViewMetadataConstraints">
+ <reference ref="826972647"/>
+ <reference ref="536442865"/>
+ </array>
+ <string key="14.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="NO" key="15.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
+ <string key="15.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="16.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="NO" key="19.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
+ <string key="19.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="20.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="28.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="29.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="30.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="31.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <array key="32.IBNSViewMetadataConstraints">
+ <reference ref="995764589"/>
+ </array>
+ <boolean value="NO" key="32.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/>
+ <string key="32.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="33.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="34.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="35.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="36.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="39.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string key="5.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ </dictionary>
+ <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
+ <nil key="activeLocalization"/>
+ <dictionary class="NSMutableDictionary" key="localizations"/>
+ <nil key="sourceID"/>
+ <int key="maxID">52</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <array class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <object class="IBPartialClassDescription">
+ <string key="className">PreferenceController</string>
+ <string key="superclassName">NSWindowController</string>
+ <object class="NSMutableDictionary" key="actions">
+ <string key="NS.key.0">switchView:</string>
+ <string key="NS.object.0">id</string>
+ </object>
+ <object class="NSMutableDictionary" key="actionInfosByName">
+ <string key="NS.key.0">switchView:</string>
+ <object class="IBActionInfo" key="NS.object.0">
+ <string key="name">switchView:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ </object>
+ <dictionary class="NSMutableDictionary" key="outlets">
+ <string key="engineView">NSView</string>
+ <string key="generalView">NSView</string>
+ </dictionary>
+ <dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <object class="IBToOneOutletInfo" key="engineView">
+ <string key="name">engineView</string>
+ <string key="candidateClassName">NSView</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="generalView">
+ <string key="name">generalView</string>
+ <string key="candidateClassName">NSView</string>
+ </object>
+ </dictionary>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/PreferenceController.h</string>
+ </object>
+ </object>
+ </array>
+ </object>
+ <int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ <object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
+ <string key="NS.key.0">NSPreferencesGeneral</string>
+ <string key="NS.object.0">{32, 32}</string>
+ </object>
+ <bool key="IBDocument.UseAutolayout">YES</bool>
+ </data>
+</archive>