Big rename part 3: 'target' to 'output'.
[enjoyable.git] / TargetController.m
diff --git a/TargetController.m b/TargetController.m
deleted file mode 100644 (file)
index 1da2c99..0000000
+++ /dev/null
@@ -1,235 +0,0 @@
-//
-//  TargetController.m
-//  Enjoy
-//
-//  Created by Sam McCall on 5/05/09.
-//
-
-#import "TargetController.h"
-
-#import "NJMappingsController.h"
-#import "NJMapping.h"
-#import "NJInput.h"
-#import "NJInputController.h"
-#import "NJKeyInputField.h"
-#import "TargetConfig.h"
-#import "TargetController.h"
-#import "TargetKeyboard.h"
-#import "TargetMouseBtn.h"
-#import "TargetMouseMove.h"
-#import "TargetMouseScroll.h"
-#import "TargetToggleMouseScope.h"
-
-@implementation TargetController
-
-- (void)cleanUpInterface {
-    NSInteger row = radioButtons.selectedRow;
-    
-    if (row != 1) {
-        keyInput.keyCode = -1;
-        [keyInput resignIfFirstResponder];
-    }
-    
-    if (row != 2) {
-        [mappingPopup selectItemAtIndex:-1];
-        [mappingPopup resignIfFirstResponder];
-    } else if (!mappingPopup.selectedItem)
-        [mappingPopup selectItemAtIndex:0];
-    
-    if (row != 3) {
-        mouseDirSelect.selectedSegment = -1;
-        [mouseDirSelect resignIfFirstResponder];
-    } else if (mouseDirSelect.selectedSegment == -1)
-        mouseDirSelect.selectedSegment = 0;
-    
-    if (row != 4) {
-        mouseBtnSelect.selectedSegment = -1;
-        [mouseBtnSelect resignIfFirstResponder];
-    } else if (mouseBtnSelect.selectedSegment == -1)
-        mouseBtnSelect.selectedSegment = 0;
-    
-    if (row != 5) {
-        scrollDirSelect.selectedSegment = -1;
-        [scrollDirSelect resignIfFirstResponder];
-    } else if (scrollDirSelect.selectedSegment == -1)
-        scrollDirSelect.selectedSegment = 0;    
-}
-
-- (IBAction)radioChanged:(NSView *)sender {
-    [sender.window makeFirstResponder:sender];
-    if (radioButtons.selectedRow == 1)
-        [keyInput.window makeFirstResponder:keyInput];
-    [self commit];
-}
-
-- (void)keyInputField:(NJKeyInputField *)keyInput didChangeKey:(CGKeyCode)keyCode {
-    [radioButtons selectCellAtRow:1 column:0];
-    [radioButtons.window makeFirstResponder:radioButtons];
-    [self commit];
-}
-
-- (void)keyInputFieldDidClear:(NJKeyInputField *)keyInput {
-    [radioButtons selectCellAtRow:0 column:0];
-    [self commit];
-}
-
-- (void)mappingChosen:(id)sender {
-    [radioButtons selectCellAtRow:2 column:0];
-    [mappingPopup.window makeFirstResponder:mappingPopup];
-    [self commit];
-}
-
-- (void)mdirChanged:(NSView *)sender {
-    [radioButtons selectCellAtRow:3 column:0];
-    [sender.window makeFirstResponder:sender];
-    [self commit];
-}
-
-- (void)mbtnChanged:(NSView *)sender {
-    [radioButtons selectCellAtRow:4 column:0];
-    [sender.window makeFirstResponder:sender];
-    [self commit];
-}
-
-- (void)sdirChanged:(NSView *)sender {
-    [radioButtons selectCellAtRow:5 column:0];
-    [sender.window makeFirstResponder:sender];
-    [self commit];
-}
-
-- (Target *)currentTarget {
-    return mappingsController.currentMapping[joystickController.selectedInput];
-}
-
-- (Target *)makeTarget {
-    switch (radioButtons.selectedRow) {
-        case 0:
-            return nil;
-        case 1:
-            if (keyInput.hasKeyCode) {
-                TargetKeyboard *k = [[TargetKeyboard alloc] init];
-                k.vk = keyInput.keyCode;
-                return k;
-            } else {
-                return nil;
-            }
-            break;
-        case 2: {
-            TargetConfig *c = [[TargetConfig alloc] init];
-            c.mapping = mappingsController.mappings[mappingPopup.indexOfSelectedItem];
-            return c;
-        }
-        case 3: {
-            TargetMouseMove *mm = [[TargetMouseMove alloc] init];
-            mm.axis = mouseDirSelect.selectedSegment;
-            return mm;
-        }
-        case 4: {
-            TargetMouseBtn *mb = [[TargetMouseBtn alloc] init];
-            mb.button = mouseBtnSelect.selectedSegment == 0 ? kCGMouseButtonLeft : kCGMouseButtonRight;
-            return mb;
-        }
-        case 5: {
-            TargetMouseScroll *ms = [[TargetMouseScroll alloc] init];
-            ms.amount = scrollDirSelect.selectedSegment ? 1 : -1;
-            return ms;
-        }
-        case 6: {
-            TargetToggleMouseScope *tms = [[TargetToggleMouseScope alloc] init];
-            return tms;
-        }
-        default:
-            return nil;
-    }
-}
-
-- (void)commit {
-    [self cleanUpInterface];
-    mappingsController.currentMapping[joystickController.selectedInput] = [self makeTarget];
-    [mappingsController save];
-}
-
-- (BOOL)enabled {
-    return [radioButtons isEnabled];
-}
-
-- (void)setEnabled:(BOOL)enabled {
-    [radioButtons setEnabled:enabled];
-    [keyInput setEnabled:enabled];
-    [mappingPopup setEnabled:enabled];
-    [mouseDirSelect setEnabled:enabled];
-    [mouseBtnSelect setEnabled:enabled];
-    [scrollDirSelect setEnabled:enabled];
-}
-
-- (void)loadTarget:(Target *)target forInput:(NJInput *)input {
-    if (!input) {
-        self.enabled = NO;
-        title.stringValue = @"";
-    } else {
-        self.enabled = YES;
-        NSString *inpFullName = input.name;
-        for (id <NJInputPathElement> cur = input.base; cur; cur = cur.base) {
-            inpFullName = [[NSString alloc] initWithFormat:@"%@ > %@", cur.name, inpFullName];
-        }
-        title.stringValue = [[NSString alloc] initWithFormat:@"%@ > %@", mappingsController.currentMapping.name, inpFullName];
-    }
-
-    if ([target isKindOfClass:TargetKeyboard.class]) {
-        [radioButtons selectCellAtRow:1 column:0];
-        keyInput.keyCode = [(TargetKeyboard*)target vk];
-    } else if ([target isKindOfClass:TargetConfig.class]) {
-        [radioButtons selectCellAtRow:2 column:0];
-        NSUInteger idx = [mappingsController.mappings
-                          indexOfObject:[(TargetConfig *)target mapping]];
-        if (idx == NSNotFound) {
-            [radioButtons selectCellAtRow:self.enabled ? 0 : -1 column:0];
-            [mappingPopup selectItemAtIndex:-1];
-        } else
-            [mappingPopup selectItemAtIndex:idx];
-    }
-    else if ([target isKindOfClass:TargetMouseMove.class]) {
-        [radioButtons selectCellAtRow:3 column:0];
-        [mouseDirSelect setSelectedSegment:[(TargetMouseMove *)target axis]];
-    }
-    else if ([target isKindOfClass:TargetMouseBtn.class]) {
-        [radioButtons selectCellAtRow:4 column:0];
-        mouseBtnSelect.selectedSegment = [(TargetMouseBtn *)target button] == kCGMouseButtonLeft ? 0 : 1;
-    }
-    else if ([target isKindOfClass:TargetMouseScroll.class]) {
-        [radioButtons selectCellAtRow:5 column:0];
-        scrollDirSelect.selectedSegment = [(TargetMouseScroll *)target amount] > 0;
-    }
-    else if ([target isKindOfClass:TargetToggleMouseScope.class]) {
-        [radioButtons selectCellAtRow:6 column:0];
-    } else {
-        [radioButtons selectCellAtRow:self.enabled ? 0 : -1 column:0];
-    }
-    [self cleanUpInterface];
-}
-
-- (void)loadCurrent {
-    [self loadTarget:self.currentTarget forInput:joystickController.selectedInput];
-}
-
-- (void)focusKey {
-    if (radioButtons.selectedRow <= 1)
-        [keyInput.window makeFirstResponder:keyInput];
-    else
-        [keyInput resignIfFirstResponder];
-}
-
-- (void)refreshMappings {
-    NSInteger initialIndex = mappingPopup.indexOfSelectedItem;
-    [mappingPopup.menu removeAllItems];
-    for (NJMapping *mapping in mappingsController.mappings) {
-        NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:mapping.name
-                                                      action:@selector(mappingChosen:)
-                                               keyEquivalent:@""];
-        item.target = self;
-        [mappingPopup.menu addItem:item];
-    }
-    [mappingPopup selectItemAtIndex:initialIndex];
-}
-
-@end