No more visible ivars.
authorJoe Wreschnig <joe.wreschnig@gmail.com>
Wed, 20 Mar 2013 20:55:49 +0000 (21:55 +0100)
committerJoe Wreschnig <joe.wreschnig@gmail.com>
Wed, 20 Mar 2013 20:55:49 +0000 (21:55 +0100)
Classes/NJOutputViewController.h
Classes/NJOutputViewController.m
Info.plist
Resources/English.lproj/MainMenu.xib

index a35c735ecdb569e658bdbeec09081eb84bdce296..fe251cd0d3ec1f563f9d14cad0ce3365b92b35e3 100644 (file)
 
 @protocol NJOutputViewControllerDelegate;
 
-@interface NJOutputViewController : NSObject <NJKeyInputFieldDelegate> {
-    IBOutlet NJKeyInputField *keyInput;
-    IBOutlet NSMatrix *radioButtons;
-    IBOutlet NSSegmentedControl *mouseDirSelect;
-    IBOutlet NSSlider *mouseSpeedSlider;
-    IBOutlet NSSegmentedControl *mouseBtnSelect;
-    IBOutlet NSSegmentedControl *scrollDirSelect;
-    IBOutlet NSSlider *scrollSpeedSlider;
-    IBOutlet NSTextField *title;
-    IBOutlet NSPopUpButton *mappingPopup;
-    IBOutlet NSButton *smoothCheck;
-    IBOutlet NSButton *unknownMapping;
-}
+@interface NJOutputViewController : NSObject <NJKeyInputFieldDelegate>
+
+@property (nonatomic, strong) IBOutlet NJKeyInputField *keyInput;
+@property (nonatomic, strong) IBOutlet NSMatrix *radioButtons;
+@property (nonatomic, strong) IBOutlet NSSegmentedControl *mouseDirSelect;
+@property (nonatomic, strong) IBOutlet NSSlider *mouseSpeedSlider;
+@property (nonatomic, strong) IBOutlet NSSegmentedControl *mouseBtnSelect;
+@property (nonatomic, strong) IBOutlet NSSegmentedControl *scrollDirSelect;
+@property (nonatomic, strong) IBOutlet NSSlider *scrollSpeedSlider;
+@property (nonatomic, strong) IBOutlet NSTextField *title;
+@property (nonatomic, strong) IBOutlet NSPopUpButton *mappingPopup;
+@property (nonatomic, strong) IBOutlet NSButton *smoothCheck;
+@property (nonatomic, strong) IBOutlet NSButton *unknownMapping;
 
 @property (nonatomic, weak) IBOutlet id <NJOutputViewControllerDelegate> delegate;
 
index ee5d260b60a24333c2b24c64a55da95dba7f32ce..0ca3938b80b6276562c6b0fce5d41f118f59ece1 100644 (file)
 }
 
 - (void)cleanUpInterface {
-    NSInteger row = radioButtons.selectedRow;
+    NSInteger row = self.radioButtons.selectedRow;
     
     if (row != 1) {
-        keyInput.keyCode = NJKeyInputFieldEmpty;
-        [keyInput resignIfFirstResponder];
+        self.keyInput.keyCode = NJKeyInputFieldEmpty;
+        [self.keyInput resignIfFirstResponder];
     }
     
     if (row != 2) {
-        [mappingPopup selectItemAtIndex:-1];
-        [mappingPopup resignIfFirstResponder];
-        unknownMapping.hidden = YES;
+        [self.mappingPopup selectItemAtIndex:-1];
+        [self.mappingPopup resignIfFirstResponder];
+        self.unknownMapping.hidden = YES;
     }
     
     if (row != 3) {
-        mouseDirSelect.selectedSegment = -1;
-        mouseSpeedSlider.floatValue = mouseSpeedSlider.minValue;
-        [mouseDirSelect resignIfFirstResponder];
+        self.mouseDirSelect.selectedSegment = -1;
+        self.mouseSpeedSlider.floatValue = self.mouseSpeedSlider.minValue;
+        [self.mouseDirSelect resignIfFirstResponder];
     } else {
-        if (mouseDirSelect.selectedSegment == -1)
-            mouseDirSelect.selectedSegment = 0;
-        if (!mouseSpeedSlider.floatValue)
-            mouseSpeedSlider.floatValue = 10;
+        if (self.mouseDirSelect.selectedSegment == -1)
+            self.mouseDirSelect.selectedSegment = 0;
+        if (!self.mouseSpeedSlider.floatValue)
+            self.mouseSpeedSlider.floatValue = 10;
     }
     
     if (row != 4) {
-        mouseBtnSelect.selectedSegment = -1;
-        [mouseBtnSelect resignIfFirstResponder];
-    } else if (mouseBtnSelect.selectedSegment == -1)
-        mouseBtnSelect.selectedSegment = 0;
+        self.mouseBtnSelect.selectedSegment = -1;
+        [self.mouseBtnSelect resignIfFirstResponder];
+    } else if (self.mouseBtnSelect.selectedSegment == -1)
+        self.mouseBtnSelect.selectedSegment = 0;
     
     if (row != 5) {
-        scrollDirSelect.selectedSegment = -1;
-        scrollSpeedSlider.floatValue = scrollSpeedSlider.minValue;
-        smoothCheck.state = NSOffState;
-        [scrollDirSelect resignIfFirstResponder];
-        [scrollSpeedSlider resignIfFirstResponder];
-        [smoothCheck resignIfFirstResponder];
+        self.scrollDirSelect.selectedSegment = -1;
+        self.scrollSpeedSlider.floatValue = self.scrollSpeedSlider.minValue;
+        self.smoothCheck.state = NSOffState;
+        [self.scrollDirSelect resignIfFirstResponder];
+        [self.scrollSpeedSlider resignIfFirstResponder];
+        [self.smoothCheck resignIfFirstResponder];
     } else {
-        if (scrollDirSelect.selectedSegment == -1)
-            scrollDirSelect.selectedSegment = 0;
+        if (self.scrollDirSelect.selectedSegment == -1)
+            self.scrollDirSelect.selectedSegment = 0;
     }
         
 }
 
 - (IBAction)radioChanged:(NSView *)sender {
     [sender.window makeFirstResponder:sender];
-    if (radioButtons.selectedRow == 1)
-        [keyInput.window makeFirstResponder:keyInput];
+    if (self.radioButtons.selectedRow == 1)
+        [self.keyInput.window makeFirstResponder:self.keyInput];
     [self commit];
 }
 
 - (void)keyInputField:(NJKeyInputField *)keyInput didChangeKey:(CGKeyCode)keyCode {
-    [radioButtons selectCellAtRow:1 column:0];
-    [radioButtons.window makeFirstResponder:radioButtons];
+    [self.radioButtons selectCellAtRow:1 column:0];
+    [self.radioButtons.window makeFirstResponder:self.radioButtons];
     [self commit];
 }
 
 - (void)keyInputFieldDidClear:(NJKeyInputField *)keyInput {
-    [radioButtons selectCellAtRow:0 column:0];
+    [self.radioButtons selectCellAtRow:0 column:0];
     [self commit];
 }
 
 - (void)mappingChosen:(id)sender {
-    [radioButtons selectCellAtRow:2 column:0];
-    [mappingPopup.window makeFirstResponder:mappingPopup];
-    unknownMapping.hidden = YES;
+    [self.radioButtons selectCellAtRow:2 column:0];
+    [self.mappingPopup.window makeFirstResponder:self.mappingPopup];
+    self.unknownMapping.hidden = YES;
     [self commit];
 }
 
 - (void)mdirChanged:(NSView *)sender {
-    [radioButtons selectCellAtRow:3 column:0];
+    [self.radioButtons selectCellAtRow:3 column:0];
     [sender.window makeFirstResponder:sender];
     [self commit];
 }
 
 - (void)mouseSpeedChanged:(NSSlider *)sender {
-    [radioButtons selectCellAtRow:3 column:0];
+    [self.radioButtons selectCellAtRow:3 column:0];
     [sender.window makeFirstResponder:sender];
     [self commit];
 }
 
 - (void)mbtnChanged:(NSView *)sender {
-    [radioButtons selectCellAtRow:4 column:0];
+    [self.radioButtons selectCellAtRow:4 column:0];
     [sender.window makeFirstResponder:sender];
     [self commit];
 }
 
 - (void)sdirChanged:(NSView *)sender {
-    [radioButtons selectCellAtRow:5 column:0];
+    [self.radioButtons selectCellAtRow:5 column:0];
     [sender.window makeFirstResponder:sender];
     [self commit];
 }
 
 - (void)scrollSpeedChanged:(NSSlider *)sender {
-    [radioButtons selectCellAtRow:5 column:0];
+    [self.radioButtons selectCellAtRow:5 column:0];
     [sender.window makeFirstResponder:sender];
     [self commit];
 }
 
 - (IBAction)scrollTypeChanged:(NSButton *)sender {
-    [radioButtons selectCellAtRow:5 column:0];
+    [self.radioButtons selectCellAtRow:5 column:0];
     [sender.window makeFirstResponder:sender];
     if (sender.state == NSOnState) {
-        scrollSpeedSlider.floatValue =
-            scrollSpeedSlider.minValue + (scrollSpeedSlider.maxValue - scrollSpeedSlider.minValue) / 2;
-        scrollSpeedSlider.enabled = YES;
+        self.scrollSpeedSlider.floatValue =
+            self.scrollSpeedSlider.minValue
+            + (self.scrollSpeedSlider.maxValue - self.scrollSpeedSlider.minValue) / 2;
+        self.scrollSpeedSlider.enabled = YES;
     } else {
-        scrollSpeedSlider.floatValue = scrollSpeedSlider.minValue;
-        scrollSpeedSlider.enabled = NO;
+        self.scrollSpeedSlider.floatValue = self.scrollSpeedSlider.minValue;
+        self.scrollSpeedSlider.enabled = NO;
     }
     [self commit];
 }
 
 - (NJOutput *)makeOutput {
-    switch (radioButtons.selectedRow) {
+    switch (self.radioButtons.selectedRow) {
         case 0:
             return nil;
         case 1:
-            if (keyInput.hasKeyCode) {
+            if (self.keyInput.hasKeyCode) {
                 NJOutputKeyPress *k = [[NJOutputKeyPress alloc] init];
-                k.keyCode = keyInput.keyCode;
+                k.keyCode = self.keyInput.keyCode;
                 return k;
             } else {
                 return nil;
         case 2: {
             NJOutputMapping *c = [[NJOutputMapping alloc] init];
             c.mapping = [self.delegate outputViewController:self
-                                            mappingForIndex:mappingPopup.indexOfSelectedItem];
+                                            mappingForIndex:self.mappingPopup.indexOfSelectedItem];
             return c;
         }
         case 3: {
             NJOutputMouseMove *mm = [[NJOutputMouseMove alloc] init];
-            mm.axis = mouseDirSelect.selectedSegment;
-            mm.speed = mouseSpeedSlider.floatValue;
+            mm.axis = self.mouseDirSelect.selectedSegment;
+            mm.speed = self.mouseSpeedSlider.floatValue;
             return mm;
         }
         case 4: {
             NJOutputMouseButton *mb = [[NJOutputMouseButton alloc] init];
-            mb.button = [mouseBtnSelect.cell tagForSegment:mouseBtnSelect.selectedSegment];
+            mb.button = [self.mouseBtnSelect.cell tagForSegment:self.mouseBtnSelect.selectedSegment];
             return mb;
         }
         case 5: {
             NJOutputMouseScroll *ms = [[NJOutputMouseScroll alloc] init];
-            ms.direction = [scrollDirSelect.cell tagForSegment:scrollDirSelect.selectedSegment];
-            ms.speed = scrollSpeedSlider.floatValue;
-            ms.smooth = smoothCheck.state == NSOnState;
+            ms.direction = [self.scrollDirSelect.cell tagForSegment:self.scrollDirSelect.selectedSegment];
+            ms.speed = self.scrollSpeedSlider.floatValue;
+            ms.smooth = self.smoothCheck.state == NSOnState;
             return ms;
         }
         default:
 }
 
 - (BOOL)enabled {
-    return radioButtons.isEnabled;
+    return self.radioButtons.isEnabled;
 }
 
 - (void)setEnabled:(BOOL)enabled {
-    radioButtons.enabled = enabled;
-    keyInput.enabled = enabled;
-    mappingPopup.enabled = enabled;
-    mouseDirSelect.enabled = enabled;
-    mouseSpeedSlider.enabled = enabled;
-    mouseBtnSelect.enabled = enabled;
-    scrollDirSelect.enabled = enabled;
-    smoothCheck.enabled = enabled;
-    scrollSpeedSlider.enabled = enabled && smoothCheck.state;
+    self.radioButtons.enabled = enabled;
+    self.keyInput.enabled = enabled;
+    self.mappingPopup.enabled = enabled;
+    self.mouseDirSelect.enabled = enabled;
+    self.mouseSpeedSlider.enabled = enabled;
+    self.mouseBtnSelect.enabled = enabled;
+    self.scrollDirSelect.enabled = enabled;
+    self.smoothCheck.enabled = enabled;
+    self.scrollSpeedSlider.enabled = enabled && self.smoothCheck.state;
     if (!enabled)
-        unknownMapping.hidden = YES;
+        self.unknownMapping.hidden = YES;
 }
 
 - (void)loadOutput:(NJOutput *)output forInput:(NJInput *)input {
     _input = input;
     if (!input) {
         [self setEnabled:NO];
-        title.stringValue = @"";
+        self.title.stringValue = @"";
     } else {
         [self setEnabled:YES];
         NSString *inpFullName = input.name;
         for (NJInputPathElement *cur = input.parent; cur; cur = cur.parent) {
             inpFullName = [[NSString alloc] initWithFormat:@"%@ ▸ %@", cur.name, inpFullName];
         }
-        title.stringValue = inpFullName;
+        self.title.stringValue = inpFullName;
     }
 
     if ([output isKindOfClass:NJOutputKeyPress.class]) {
-        [radioButtons selectCellAtRow:1 column:0];
-        keyInput.keyCode = [(NJOutputKeyPress*)output keyCode];
+        [self.radioButtons selectCellAtRow:1 column:0];
+        self.keyInput.keyCode = [(NJOutputKeyPress*)output keyCode];
     } else if ([output isKindOfClass:NJOutputMapping.class]) {
-        [radioButtons selectCellAtRow:2 column:0];
-        NSMenuItem *item = [mappingPopup itemWithIdenticalRepresentedObject:[(NJOutputMapping *)output mapping]];
-        [mappingPopup selectItem:item];
-        unknownMapping.hidden = !!item;
-        unknownMapping.title = [(NJOutputMapping *)output mappingName];
+        [self.radioButtons selectCellAtRow:2 column:0];
+        NSMenuItem *item = [self.mappingPopup itemWithIdenticalRepresentedObject:
+                            [(NJOutputMapping *)output mapping]];
+        [self.mappingPopup selectItem:item];
+        self.unknownMapping.hidden = !!item;
+        self.unknownMapping.title = [(NJOutputMapping *)output mappingName];
     }
     else if ([output isKindOfClass:NJOutputMouseMove.class]) {
-        [radioButtons selectCellAtRow:3 column:0];
-        mouseDirSelect.selectedSegment = [(NJOutputMouseMove *)output axis];
-        mouseSpeedSlider.floatValue = [(NJOutputMouseMove *)output speed];
+        [self.radioButtons selectCellAtRow:3 column:0];
+        self.mouseDirSelect.selectedSegment = [(NJOutputMouseMove *)output axis];
+        self.mouseSpeedSlider.floatValue = [(NJOutputMouseMove *)output speed];
     }
     else if ([output isKindOfClass:NJOutputMouseButton.class]) {
-        [radioButtons selectCellAtRow:4 column:0];
-        [mouseBtnSelect selectSegmentWithTag:[(NJOutputMouseButton *)output button]];
+        [self.radioButtons selectCellAtRow:4 column:0];
+        [self.mouseBtnSelect selectSegmentWithTag:[(NJOutputMouseButton *)output button]];
     }
     else if ([output isKindOfClass:NJOutputMouseScroll.class]) {
-        [radioButtons selectCellAtRow:5 column:0];
+        [self.radioButtons selectCellAtRow:5 column:0];
         int direction = [(NJOutputMouseScroll *)output direction];
         float speed = [(NJOutputMouseScroll *)output speed];
         BOOL smooth = [(NJOutputMouseScroll *)output smooth];
-        [scrollDirSelect selectSegmentWithTag:direction];
-        scrollSpeedSlider.floatValue = speed;
-        smoothCheck.state = smooth ? NSOnState : NSOffState;
-        scrollSpeedSlider.enabled = smooth;
+        [self.scrollDirSelect selectSegmentWithTag:direction];
+        self.scrollSpeedSlider.floatValue = speed;
+        self.smoothCheck.state = smooth ? NSOnState : NSOffState;
+        self.scrollSpeedSlider.enabled = smooth;
     } else {
-        [radioButtons selectCellAtRow:self.enabled ? 0 : -1 column:0];
+        [self.radioButtons selectCellAtRow:self.enabled ? 0 : -1 column:0];
     }
     [self cleanUpInterface];
 }
 
 - (void)focusKey {
-    if (radioButtons.selectedRow <= 1)
-        [keyInput.window makeFirstResponder:keyInput];
+    if (self.radioButtons.selectedRow <= 1)
+        [self.keyInput.window makeFirstResponder:self.keyInput];
     else
-        [keyInput resignIfFirstResponder];
+        [self.keyInput resignIfFirstResponder];
 }
 
 - (void)mappingListDidChange:(NSNotification *)note {
     NSArray *mappings = note.userInfo[NJMappingListKey];
-    NJMapping *current = mappingPopup.selectedItem.representedObject;
-    [mappingPopup.menu removeAllItems];
+    NJMapping *current = self.mappingPopup.selectedItem.representedObject;
+    [self.mappingPopup.menu removeAllItems];
     for (NJMapping *mapping in mappings) {
         NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:mapping.name
                                                       action:@selector(mappingChosen:)
                                                keyEquivalent:@""];
         item.target = self;
         item.representedObject = mapping;
-        [mappingPopup.menu addItem:item];
+        [self.mappingPopup.menu addItem:item];
     }
-    [mappingPopup selectItemWithIdenticalRepresentedObject:current];
+    [self.mappingPopup selectItemWithIdenticalRepresentedObject:current];
 }
 
 @end
index 8ad8cc0217a31312f6547b0c5537707282caaf63..64274c3aa88dd095ed9f335bfe1f5309d3b915b7 100644 (file)
@@ -46,7 +46,7 @@
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
-       <string>571</string>
+       <string>573</string>
        <key>LSApplicationCategoryType</key>
        <string>public.app-category.utilities</string>
        <key>NSHumanReadableCopyright</key>
index 15e852a07c8c0f81ea0d382bcbfd72a52f3fceb6..7a2e668d755eee9521cc0a20056333208083eac1 100644 (file)
                                <nil key="NSUserInterfaceItemIdentifier"/>
                                <string key="NSWindowContentMinSize">{664, 323}</string>
                                <object class="NSView" key="NSWindowView" id="177223957">
-                                       <nil key="NSNextResponder"/>
+                                       <reference key="NSNextResponder"/>
                                        <int key="NSvFlags">256</int>
                                        <array class="NSMutableArray" key="NSSubviews">
                                                <object class="NSCustomView" id="734312853">
                                                                        <int key="NSvFlags">-2147483374</int>
                                                                        <string key="NSFrame">{{20, 20}, {194, 283}}</string>
                                                                        <reference key="NSSuperview" ref="734312853"/>
+                                                                       <reference key="NSWindow"/>
                                                                        <reference key="NSNextKeyView" ref="471332453"/>
                                                                        <string key="NSReuseIdentifierKey">_NS:22</string>
                                                                        <bool key="NSEnabled">YES</bool>
@@ -529,6 +530,7 @@ Lg</string>
                                                                        <int key="NSvFlags">274</int>
                                                                        <string key="NSFrame">{{20, 20}, {194, 283}}</string>
                                                                        <reference key="NSSuperview" ref="734312853"/>
+                                                                       <reference key="NSWindow"/>
                                                                        <reference key="NSNextKeyView" ref="918286878"/>
                                                                        <string key="NSReuseIdentifierKey">_NS:22</string>
                                                                        <bool key="NSEnabled">YES</bool>
@@ -563,6 +565,7 @@ aW5nLg</string>
                                                                                                        <array class="NSMutableArray" key="NSSubviews"/>
                                                                                                        <string key="NSFrameSize">{232, 321}</string>
                                                                                                        <reference key="NSSuperview" ref="698362889"/>
+                                                                                                       <reference key="NSWindow"/>
                                                                                                        <reference key="NSNextKeyView" ref="892486973"/>
                                                                                                        <bool key="NSEnabled">YES</bool>
                                                                                                        <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
@@ -658,6 +661,7 @@ aW5nLg</string>
                                                                                        </array>
                                                                                        <string key="NSFrame">{{1, 1}, {232, 321}}</string>
                                                                                        <reference key="NSSuperview" ref="364857164"/>
+                                                                                       <reference key="NSWindow"/>
                                                                                        <reference key="NSNextKeyView" ref="365506042"/>
                                                                                        <reference key="NSDocView" ref="365506042"/>
                                                                                        <reference key="NSBGColor" ref="834857663"/>
@@ -668,6 +672,7 @@ aW5nLg</string>
                                                                                        <int key="NSvFlags">-2147483392</int>
                                                                                        <string key="NSFrame">{{1, 1}, {8, 298}}</string>
                                                                                        <reference key="NSSuperview" ref="364857164"/>
+                                                                                       <reference key="NSWindow"/>
                                                                                        <reference key="NSNextKeyView" ref="12898323"/>
                                                                                        <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                        <reference key="NSTarget" ref="364857164"/>
@@ -679,6 +684,7 @@ aW5nLg</string>
                                                                                        <int key="NSvFlags">-2147483392</int>
                                                                                        <string key="NSFrame">{{-100, -100}, {473, 15}}</string>
                                                                                        <reference key="NSSuperview" ref="364857164"/>
+                                                                                       <reference key="NSWindow"/>
                                                                                        <reference key="NSNextKeyView" ref="698362889"/>
                                                                                        <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                                        <int key="NSsFlags">1</int>
@@ -689,6 +695,7 @@ aW5nLg</string>
                                                                        </array>
                                                                        <string key="NSFrameSize">{234, 323}</string>
                                                                        <reference key="NSSuperview" ref="734312853"/>
+                                                                       <reference key="NSWindow"/>
                                                                        <reference key="NSNextKeyView" ref="698362889"/>
                                                                        <int key="NSsFlags">150034</int>
                                                                        <reference key="NSVScroller" ref="1036252745"/>
@@ -702,6 +709,7 @@ aW5nLg</string>
                                                        </array>
                                                        <string key="NSFrameSize">{234, 323}</string>
                                                        <reference key="NSSuperview" ref="177223957"/>
+                                                       <reference key="NSWindow"/>
                                                        <reference key="NSNextKeyView" ref="364857164"/>
                                                        <string key="NSReuseIdentifierKey">_NS:9</string>
                                                        <string key="NSClassName">NSView</string>
@@ -715,6 +723,7 @@ aW5nLg</string>
                                                                        <int key="NSvFlags">268</int>
                                                                        <string key="NSFrame">{{197, 157}, {193, 21}}</string>
                                                                        <reference key="NSSuperview" ref="471332453"/>
+                                                                       <reference key="NSWindow"/>
                                                                        <reference key="NSNextKeyView" ref="875916470"/>
                                                                        <string key="NSReuseIdentifierKey">_NS:9</string>
                                                                        <bool key="NSEnabled">YES</bool>
@@ -739,6 +748,7 @@ aW5nLg</string>
                                                                        <int key="NSvFlags">265</int>
                                                                        <string key="NSFrame">{{189, 117}, {224, 20}}</string>
                                                                        <reference key="NSSuperview" ref="471332453"/>
+                                                                       <reference key="NSWindow"/>
                                                                        <reference key="NSNextKeyView" ref="385416822"/>
                                                                        <string key="NSReuseIdentifierKey">_NS:9</string>
                                                                        <bool key="NSEnabled">YES</bool>
@@ -780,6 +790,7 @@ aW5nLg</string>
                                                                        <int key="NSvFlags">268</int>
                                                                        <string key="NSFrame">{{343, 31}, {70, 18}}</string>
                                                                        <reference key="NSSuperview" ref="471332453"/>
+                                                                       <reference key="NSWindow"/>
                                                                        <string key="NSReuseIdentifierKey">_NS:9</string>
                                                                        <bool key="NSEnabled">YES</bool>
                                                                        <object class="NSButtonCell" key="NSCell" id="868379451">
@@ -810,6 +821,7 @@ aW5nLg</string>
                                                                        <int key="NSvFlags">265</int>
                                                                        <string key="NSFrame">{{189, 33}, {150, 20}}</string>
                                                                        <reference key="NSSuperview" ref="471332453"/>
+                                                                       <reference key="NSWindow"/>
                                                                        <reference key="NSNextKeyView" ref="792189805"/>
                                                                        <string key="NSReuseIdentifierKey">_NS:9</string>
                                                                        <bool key="NSEnabled">YES</bool>
@@ -854,6 +866,7 @@ aW5nLg</string>
                                                                        <int key="NSvFlags">265</int>
                                                                        <string key="NSFrame">{{191, 24}, {146, 16}}</string>
                                                                        <reference key="NSSuperview" ref="471332453"/>
+                                                                       <reference key="NSWindow"/>
                                                                        <reference key="NSNextKeyView" ref="20704797"/>
                                                                        <string key="NSReuseIdentifierKey">_NS:9</string>
                                                                        <bool key="NSEnabled">YES</bool>
@@ -879,6 +892,7 @@ aW5nLg</string>
                                                                        <int key="NSvFlags">265</int>
                                                                        <string key="NSFrame">{{189, 70}, {224, 24}}</string>
                                                                        <reference key="NSSuperview" ref="471332453"/>
+                                                                       <reference key="NSWindow"/>
                                                                        <reference key="NSNextKeyView" ref="921829691"/>
                                                                        <string key="NSReuseIdentifierKey">_NS:9</string>
                                                                        <bool key="NSEnabled">YES</bool>
@@ -932,6 +946,7 @@ aW5nLg</string>
                                                                        <int key="NSvFlags">265</int>
                                                                        <string key="NSFrame">{{191, 108}, {220, 16}}</string>
                                                                        <reference key="NSSuperview" ref="471332453"/>
+                                                                       <reference key="NSWindow"/>
                                                                        <reference key="NSNextKeyView" ref="125828224"/>
                                                                        <string key="NSReuseIdentifierKey">_NS:9</string>
                                                                        <bool key="NSEnabled">YES</bool>
@@ -957,6 +972,7 @@ aW5nLg</string>
                                                                        <int key="NSvFlags">265</int>
                                                                        <string key="NSFrame">{{191, 196}, {220, 23}}</string>
                                                                        <reference key="NSSuperview" ref="471332453"/>
+                                                                       <reference key="NSWindow"/>
                                                                        <reference key="NSNextKeyView" ref="194275224"/>
                                                                        <string key="NSReuseIdentifierKey">_NS:9</string>
                                                                        <string key="NSClassName">NJKeyInputField</string>
@@ -966,6 +982,7 @@ aW5nLg</string>
                                                                        <int key="NSvFlags">265</int>
                                                                        <string key="NSFrame">{{188, 153}, {226, 26}}</string>
                                                                        <reference key="NSSuperview" ref="471332453"/>
+                                                                       <reference key="NSWindow"/>
                                                                        <reference key="NSNextKeyView" ref="529992855"/>
                                                                        <bool key="NSEnabled">YES</bool>
                                                                        <object class="NSPopUpButtonCell" key="NSCell" id="74311158">
@@ -998,6 +1015,7 @@ aW5nLg</string>
                                                                        <int key="NSvFlags">268</int>
                                                                        <string key="NSFrame">{{24, 20}, {163, 250}}</string>
                                                                        <reference key="NSSuperview" ref="471332453"/>
+                                                                       <reference key="NSWindow"/>
                                                                        <reference key="NSNextKeyView" ref="57697638"/>
                                                                        <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                        <int key="NSNumRows">6</int>
@@ -1128,6 +1146,7 @@ aW5nLg</string>
                                                                        <int key="NSvFlags">266</int>
                                                                        <string key="NSFrame">{{9, 286}, {412, 17}}</string>
                                                                        <reference key="NSSuperview" ref="471332453"/>
+                                                                       <reference key="NSWindow"/>
                                                                        <reference key="NSNextKeyView" ref="497528019"/>
                                                                        <bool key="NSEnabled">YES</bool>
                                                                        <object class="NSTextFieldCell" key="NSCell" id="853503577">
@@ -1151,6 +1170,7 @@ aW5nLg</string>
                                                                        <int key="NSvFlags">10</int>
                                                                        <string key="NSFrame">{{12, 276}, {406, 5}}</string>
                                                                        <reference key="NSSuperview" ref="471332453"/>
+                                                                       <reference key="NSWindow"/>
                                                                        <reference key="NSNextKeyView" ref="120408205"/>
                                                                        <string key="NSOffsets">{0, 0}</string>
                                                                        <object class="NSTextFieldCell" key="NSTitleCell">
@@ -1177,12 +1197,15 @@ aW5nLg</string>
                                                        </array>
                                                        <string key="NSFrame">{{233, 0}, {431, 323}}</string>
                                                        <reference key="NSSuperview" ref="177223957"/>
+                                                       <reference key="NSWindow"/>
                                                        <reference key="NSNextKeyView" ref="1016088174"/>
                                                        <string key="NSReuseIdentifierKey">_NS:9</string>
                                                        <string key="NSClassName">NSView</string>
                                                </object>
                                        </array>
                                        <string key="NSFrameSize">{664, 323}</string>
+                                       <reference key="NSSuperview"/>
+                                       <reference key="NSWindow"/>
                                        <reference key="NSNextKeyView" ref="734312853"/>
                                </object>
                                <string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
@@ -1287,7 +1310,7 @@ aW5nLg</string>
                                <bool key="NSAnimates">YES</bool>
                        </object>
                        <object class="NSCustomView" id="671181514">
-                               <nil key="NSNextResponder"/>
+                               <reference key="NSNextResponder"/>
                                <int key="NSvFlags">256</int>
                                <array class="NSMutableArray" key="NSSubviews">
                                        <object class="NSScrollView" id="443618264">
@@ -1303,6 +1326,7 @@ aW5nLg</string>
                                                                                <int key="NSvFlags">256</int>
                                                                                <string key="NSFrameSize">{198, 198}</string>
                                                                                <reference key="NSSuperview" ref="947403733"/>
+                                                                               <reference key="NSWindow"/>
                                                                                <reference key="NSNextKeyView" ref="553414014"/>
                                                                                <bool key="NSEnabled">YES</bool>
                                                                                <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
@@ -1360,6 +1384,7 @@ aW5nLg</string>
                                                                </array>
                                                                <string key="NSFrame">{{1, 1}, {198, 198}}</string>
                                                                <reference key="NSSuperview" ref="443618264"/>
+                                                               <reference key="NSWindow"/>
                                                                <reference key="NSNextKeyView" ref="762432499"/>
                                                                <reference key="NSDocView" ref="762432499"/>
                                                                <reference key="NSBGColor" ref="834857663"/>
@@ -1370,6 +1395,7 @@ aW5nLg</string>
                                                                <int key="NSvFlags">-2147483392</int>
                                                                <string key="NSFrame">{{306, 1}, {15, 403}}</string>
                                                                <reference key="NSSuperview" ref="443618264"/>
+                                                               <reference key="NSWindow"/>
                                                                <reference key="NSNextKeyView" ref="861276216"/>
                                                                <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                <reference key="NSTarget" ref="443618264"/>
@@ -1381,6 +1407,7 @@ aW5nLg</string>
                                                                <int key="NSvFlags">-2147483392</int>
                                                                <string key="NSFrame">{{-100, -100}, {366, 16}}</string>
                                                                <reference key="NSSuperview" ref="443618264"/>
+                                                               <reference key="NSWindow"/>
                                                                <reference key="NSNextKeyView" ref="947403733"/>
                                                                <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
                                                                <int key="NSsFlags">1</int>
@@ -1391,6 +1418,7 @@ aW5nLg</string>
                                                </array>
                                                <string key="NSFrame">{{0, 20}, {200, 200}}</string>
                                                <reference key="NSSuperview" ref="671181514"/>
+                                               <reference key="NSWindow"/>
                                                <reference key="NSNextKeyView" ref="947403733"/>
                                                <int key="NSsFlags">150034</int>
                                                <reference key="NSVScroller" ref="968378655"/>
@@ -1406,6 +1434,7 @@ aW5nLg</string>
                                                <int key="NSvFlags">268</int>
                                                <string key="NSFrame">{{66, -1}, {68, 23}}</string>
                                                <reference key="NSSuperview" ref="671181514"/>
+                                               <reference key="NSWindow"/>
                                                <reference key="NSNextKeyView" ref="1023366520"/>
                                                <string key="NSReuseIdentifierKey">_NS:22</string>
                                                <bool key="NSEnabled">YES</bool>
@@ -1434,6 +1463,7 @@ aW5nLg</string>
                                                <int key="NSvFlags">292</int>
                                                <string key="NSFrame">{{0, -1}, {34, 23}}</string>
                                                <reference key="NSSuperview" ref="671181514"/>
+                                               <reference key="NSWindow"/>
                                                <reference key="NSNextKeyView" ref="456935010"/>
                                                <bool key="NSEnabled">YES</bool>
                                                <object class="NSButtonCell" key="NSCell" id="867532725">
@@ -1460,6 +1490,7 @@ aW5nLg</string>
                                                <int key="NSvFlags">292</int>
                                                <string key="NSFrame">{{166, -1}, {34, 23}}</string>
                                                <reference key="NSSuperview" ref="671181514"/>
+                                               <reference key="NSWindow"/>
                                                <bool key="NSEnabled">YES</bool>
                                                <object class="NSButtonCell" key="NSCell" id="828611353">
                                                        <int key="NSCellFlags">67108864</int>
@@ -1481,6 +1512,7 @@ aW5nLg</string>
                                                <int key="NSvFlags">292</int>
                                                <string key="NSFrame">{{133, -1}, {34, 23}}</string>
                                                <reference key="NSSuperview" ref="671181514"/>
+                                               <reference key="NSWindow"/>
                                                <reference key="NSNextKeyView" ref="1043784903"/>
                                                <bool key="NSEnabled">YES</bool>
                                                <object class="NSButtonCell" key="NSCell" id="57592747">
@@ -1503,6 +1535,7 @@ aW5nLg</string>
                                                <int key="NSvFlags">292</int>
                                                <string key="NSFrame">{{33, -1}, {34, 23}}</string>
                                                <reference key="NSSuperview" ref="671181514"/>
+                                               <reference key="NSWindow"/>
                                                <reference key="NSNextKeyView" ref="149148392"/>
                                                <bool key="NSEnabled">YES</bool>
                                                <object class="NSButtonCell" key="NSCell" id="1008023024">
@@ -1526,6 +1559,8 @@ aW5nLg</string>
                                        </object>
                                </array>
                                <string key="NSFrameSize">{200, 220}</string>
+                               <reference key="NSSuperview"/>
+                               <reference key="NSWindow"/>
                                <reference key="NSNextKeyView" ref="443618264"/>
                                <string key="NSClassName">NSView</string>
                        </object>
@@ -3311,7 +3346,400 @@ aW5nLg</string>
                        <nil key="sourceID"/>
                        <int key="maxID">1037</int>
                </object>
-               <object class="IBClassDescriber" key="IBDocument.Classes"/>
+               <object class="IBClassDescriber" key="IBDocument.Classes">
+                       <array class="NSMutableArray" key="referencedPartialClassDescriptions">
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">EnjoyableApplicationDelegate</string>
+                                       <string key="superclassName">NSObject</string>
+                                       <dictionary class="NSMutableDictionary" key="actions">
+                                               <string key="exportMappingClicked:">id</string>
+                                               <string key="importMappingClicked:">id</string>
+                                               <string key="restoreToForeground:">id</string>
+                                               <string key="simulatingEventsChanged:">NSButton</string>
+                                       </dictionary>
+                                       <dictionary class="NSMutableDictionary" key="actionInfosByName">
+                                               <object class="IBActionInfo" key="exportMappingClicked:">
+                                                       <string key="name">exportMappingClicked:</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
+                                               <object class="IBActionInfo" key="importMappingClicked:">
+                                                       <string key="name">importMappingClicked:</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
+                                               <object class="IBActionInfo" key="restoreToForeground:">
+                                                       <string key="name">restoreToForeground:</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
+                                               <object class="IBActionInfo" key="simulatingEventsChanged:">
+                                                       <string key="name">simulatingEventsChanged:</string>
+                                                       <string key="candidateClassName">NSButton</string>
+                                               </object>
+                                       </dictionary>
+                                       <dictionary class="NSMutableDictionary" key="outlets">
+                                               <string key="dockMenu">NSMenu</string>
+                                               <string key="dvc">NJDeviceViewController</string>
+                                               <string key="ic">NJInputController</string>
+                                               <string key="mvc">NJMappingsViewController</string>
+                                               <string key="oc">NJOutputViewController</string>
+                                               <string key="simulatingEventsButton">NSButton</string>
+                                               <string key="statusItemMenu">NSMenu</string>
+                                               <string key="window">NSWindow</string>
+                                       </dictionary>
+                                       <dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
+                                               <object class="IBToOneOutletInfo" key="dockMenu">
+                                                       <string key="name">dockMenu</string>
+                                                       <string key="candidateClassName">NSMenu</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="dvc">
+                                                       <string key="name">dvc</string>
+                                                       <string key="candidateClassName">NJDeviceViewController</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="ic">
+                                                       <string key="name">ic</string>
+                                                       <string key="candidateClassName">NJInputController</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="mvc">
+                                                       <string key="name">mvc</string>
+                                                       <string key="candidateClassName">NJMappingsViewController</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="oc">
+                                                       <string key="name">oc</string>
+                                                       <string key="candidateClassName">NJOutputViewController</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="simulatingEventsButton">
+                                                       <string key="name">simulatingEventsButton</string>
+                                                       <string key="candidateClassName">NSButton</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="statusItemMenu">
+                                                       <string key="name">statusItemMenu</string>
+                                                       <string key="candidateClassName">NSMenu</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="window">
+                                                       <string key="name">window</string>
+                                                       <string key="candidateClassName">NSWindow</string>
+                                               </object>
+                                       </dictionary>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">./Classes/EnjoyableApplicationDelegate.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NJDeviceViewController</string>
+                                       <string key="superclassName">NSObject</string>
+                                       <dictionary class="NSMutableDictionary" key="outlets">
+                                               <string key="delegate">id</string>
+                                               <string key="hidStoppedNotice">NSView</string>
+                                               <string key="inputsTree">NSOutlineView</string>
+                                               <string key="noDevicesNotice">NSView</string>
+                                       </dictionary>
+                                       <dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
+                                               <object class="IBToOneOutletInfo" key="delegate">
+                                                       <string key="name">delegate</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="hidStoppedNotice">
+                                                       <string key="name">hidStoppedNotice</string>
+                                                       <string key="candidateClassName">NSView</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="inputsTree">
+                                                       <string key="name">inputsTree</string>
+                                                       <string key="candidateClassName">NSOutlineView</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="noDevicesNotice">
+                                                       <string key="name">noDevicesNotice</string>
+                                                       <string key="candidateClassName">NSView</string>
+                                               </object>
+                                       </dictionary>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">./Classes/NJDeviceViewController.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NJInputController</string>
+                                       <string key="superclassName">NSObject</string>
+                                       <object class="NSMutableDictionary" key="outlets">
+                                               <string key="NS.key.0">delegate</string>
+                                               <string key="NS.object.0">id</string>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+                                               <string key="NS.key.0">delegate</string>
+                                               <object class="IBToOneOutletInfo" key="NS.object.0">
+                                                       <string key="name">delegate</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
+                                       </object>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">./Classes/NJInputController.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NJKeyInputField</string>
+                                       <string key="superclassName">NSControl</string>
+                                       <object class="NSMutableDictionary" key="outlets">
+                                               <string key="NS.key.0">delegate</string>
+                                               <string key="NS.object.0">id</string>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+                                               <string key="NS.key.0">delegate</string>
+                                               <object class="IBToOneOutletInfo" key="NS.object.0">
+                                                       <string key="name">delegate</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
+                                       </object>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">./Classes/NJKeyInputField.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NJMappingMenuController</string>
+                                       <string key="superclassName">NSObject</string>
+                                       <dictionary class="NSMutableDictionary" key="outlets">
+                                               <string key="delegate">id</string>
+                                               <string key="eventSimulationToggle">NSMenuItem</string>
+                                               <string key="menu">NSMenu</string>
+                                       </dictionary>
+                                       <dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
+                                               <object class="IBToOneOutletInfo" key="delegate">
+                                                       <string key="name">delegate</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="eventSimulationToggle">
+                                                       <string key="name">eventSimulationToggle</string>
+                                                       <string key="candidateClassName">NSMenuItem</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="menu">
+                                                       <string key="name">menu</string>
+                                                       <string key="candidateClassName">NSMenu</string>
+                                               </object>
+                                       </dictionary>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">./Classes/NJMappingMenuController.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NJMappingsViewController</string>
+                                       <string key="superclassName">NSViewController</string>
+                                       <dictionary class="NSMutableDictionary" key="actions">
+                                               <string key="addClicked:">id</string>
+                                               <string key="mappingTriggerClicked:">id</string>
+                                               <string key="moveDownClicked:">id</string>
+                                               <string key="moveUpClicked:">id</string>
+                                               <string key="removeClicked:">id</string>
+                                       </dictionary>
+                                       <dictionary class="NSMutableDictionary" key="actionInfosByName">
+                                               <object class="IBActionInfo" key="addClicked:">
+                                                       <string key="name">addClicked:</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
+                                               <object class="IBActionInfo" key="mappingTriggerClicked:">
+                                                       <string key="name">mappingTriggerClicked:</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
+                                               <object class="IBActionInfo" key="moveDownClicked:">
+                                                       <string key="name">moveDownClicked:</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
+                                               <object class="IBActionInfo" key="moveUpClicked:">
+                                                       <string key="name">moveUpClicked:</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
+                                               <object class="IBActionInfo" key="removeClicked:">
+                                                       <string key="name">removeClicked:</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
+                                       </dictionary>
+                                       <dictionary class="NSMutableDictionary" key="outlets">
+                                               <string key="delegate">id</string>
+                                               <string key="mappingList">NSTableView</string>
+                                               <string key="mappingListPopover">NSPopover</string>
+                                               <string key="mappingListTrigger">NSButton</string>
+                                               <string key="moveDown">NSButton</string>
+                                               <string key="moveUp">NSButton</string>
+                                               <string key="removeMapping">NSButton</string>
+                                       </dictionary>
+                                       <dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
+                                               <object class="IBToOneOutletInfo" key="delegate">
+                                                       <string key="name">delegate</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="mappingList">
+                                                       <string key="name">mappingList</string>
+                                                       <string key="candidateClassName">NSTableView</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="mappingListPopover">
+                                                       <string key="name">mappingListPopover</string>
+                                                       <string key="candidateClassName">NSPopover</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="mappingListTrigger">
+                                                       <string key="name">mappingListTrigger</string>
+                                                       <string key="candidateClassName">NSButton</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="moveDown">
+                                                       <string key="name">moveDown</string>
+                                                       <string key="candidateClassName">NSButton</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="moveUp">
+                                                       <string key="name">moveUp</string>
+                                                       <string key="candidateClassName">NSButton</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="removeMapping">
+                                                       <string key="name">removeMapping</string>
+                                                       <string key="candidateClassName">NSButton</string>
+                                               </object>
+                                       </dictionary>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">./Classes/NJMappingsViewController.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NJOutputViewController</string>
+                                       <string key="superclassName">NSObject</string>
+                                       <dictionary class="NSMutableDictionary" key="actions">
+                                               <string key="mbtnChanged:">id</string>
+                                               <string key="mdirChanged:">id</string>
+                                               <string key="mouseSpeedChanged:">id</string>
+                                               <string key="radioChanged:">id</string>
+                                               <string key="scrollSpeedChanged:">id</string>
+                                               <string key="scrollTypeChanged:">id</string>
+                                               <string key="sdirChanged:">id</string>
+                                       </dictionary>
+                                       <dictionary class="NSMutableDictionary" key="actionInfosByName">
+                                               <object class="IBActionInfo" key="mbtnChanged:">
+                                                       <string key="name">mbtnChanged:</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
+                                               <object class="IBActionInfo" key="mdirChanged:">
+                                                       <string key="name">mdirChanged:</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
+                                               <object class="IBActionInfo" key="mouseSpeedChanged:">
+                                                       <string key="name">mouseSpeedChanged:</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
+                                               <object class="IBActionInfo" key="radioChanged:">
+                                                       <string key="name">radioChanged:</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
+                                               <object class="IBActionInfo" key="scrollSpeedChanged:">
+                                                       <string key="name">scrollSpeedChanged:</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
+                                               <object class="IBActionInfo" key="scrollTypeChanged:">
+                                                       <string key="name">scrollTypeChanged:</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
+                                               <object class="IBActionInfo" key="sdirChanged:">
+                                                       <string key="name">sdirChanged:</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
+                                       </dictionary>
+                                       <dictionary class="NSMutableDictionary" key="outlets">
+                                               <string key="delegate">id</string>
+                                               <string key="keyInput">NJKeyInputField</string>
+                                               <string key="mappingPopup">NSPopUpButton</string>
+                                               <string key="mouseBtnSelect">NSSegmentedControl</string>
+                                               <string key="mouseDirSelect">NSSegmentedControl</string>
+                                               <string key="mouseSpeedSlider">NSSlider</string>
+                                               <string key="radioButtons">NSMatrix</string>
+                                               <string key="scrollDirSelect">NSSegmentedControl</string>
+                                               <string key="scrollSpeedSlider">NSSlider</string>
+                                               <string key="smoothCheck">NSButton</string>
+                                               <string key="title">NSTextField</string>
+                                               <string key="unknownMapping">NSButton</string>
+                                       </dictionary>
+                                       <dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
+                                               <object class="IBToOneOutletInfo" key="delegate">
+                                                       <string key="name">delegate</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="keyInput">
+                                                       <string key="name">keyInput</string>
+                                                       <string key="candidateClassName">NJKeyInputField</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="mappingPopup">
+                                                       <string key="name">mappingPopup</string>
+                                                       <string key="candidateClassName">NSPopUpButton</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="mouseBtnSelect">
+                                                       <string key="name">mouseBtnSelect</string>
+                                                       <string key="candidateClassName">NSSegmentedControl</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="mouseDirSelect">
+                                                       <string key="name">mouseDirSelect</string>
+                                                       <string key="candidateClassName">NSSegmentedControl</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="mouseSpeedSlider">
+                                                       <string key="name">mouseSpeedSlider</string>
+                                                       <string key="candidateClassName">NSSlider</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="radioButtons">
+                                                       <string key="name">radioButtons</string>
+                                                       <string key="candidateClassName">NSMatrix</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="scrollDirSelect">
+                                                       <string key="name">scrollDirSelect</string>
+                                                       <string key="candidateClassName">NSSegmentedControl</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="scrollSpeedSlider">
+                                                       <string key="name">scrollSpeedSlider</string>
+                                                       <string key="candidateClassName">NSSlider</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="smoothCheck">
+                                                       <string key="name">smoothCheck</string>
+                                                       <string key="candidateClassName">NSButton</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="title">
+                                                       <string key="name">title</string>
+                                                       <string key="candidateClassName">NSTextField</string>
+                                               </object>
+                                               <object class="IBToOneOutletInfo" key="unknownMapping">
+                                                       <string key="name">unknownMapping</string>
+                                                       <string key="candidateClassName">NSButton</string>
+                                               </object>
+                                       </dictionary>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">./Classes/NJOutputViewController.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">SUUpdater</string>
+                                       <string key="superclassName">NSObject</string>
+                                       <object class="NSMutableDictionary" key="actions">
+                                               <string key="NS.key.0">checkForUpdates:</string>
+                                               <string key="NS.object.0">id</string>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="actionInfosByName">
+                                               <string key="NS.key.0">checkForUpdates:</string>
+                                               <object class="IBActionInfo" key="NS.object.0">
+                                                       <string key="name">checkForUpdates:</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="outlets">
+                                               <string key="NS.key.0">delegate</string>
+                                               <string key="NS.object.0">id</string>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+                                               <string key="NS.key.0">delegate</string>
+                                               <object class="IBToOneOutletInfo" key="NS.object.0">
+                                                       <string key="name">delegate</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
+                                       </object>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">./Classes/SUUpdater.h</string>
+                                       </object>
+                               </object>
+                       </array>
+               </object>
                <int key="IBDocument.localizationMode">0</int>
                <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
                <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>