// Created by Sam McCall on 5/05/09.
//
+#import "TargetController.h"
+
+#import "ConfigsController.h"
+#import "Config.h"
+#import "JSAction.h"
+#import "JoystickController.h"
+#import "KeyInputTextView.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) keyChanged {
case 0: // none
return NULL;
case 1: // key
- if([keyInput hasKey]) {
+ if(keyInput.hasKey) {
TargetKeyboard* k = [[TargetKeyboard alloc] init];
[k setVk: [keyInput vk]];
- [k setDescr: [keyInput descr]];
return k;
}
break;
case 2:
{
TargetConfig* c = [[TargetConfig alloc] init];
- [c setConfig: [[configsController configs] objectAtIndex: [configPopup indexOfSelectedItem]]];
+ [c setConfig: [configsController configs][[configPopup indexOfSelectedItem]]];
return c;
}
case 3: {
}
-(void) commit {
- id action = [joystickController selectedAction];
- if(action) {
- Target* target = [self state];
- [[configsController currentConfig] setTarget: target forAction: action];
+ JSAction *action = [joystickController selectedAction];
+ if (action) {
+ configsController.currentConfig[action] = self.state;
}
}
} else {
[self setEnabled: YES];
}
- Target* target = [[configsController currentConfig] getTargetForAction: jsaction];
+ Target* target = configsController.currentConfig[jsaction];
id act = jsaction;
NSString* actFullName = [act name];
}
-(void) focusKey {
- [[[NSApplication sharedApplication] mainWindow] makeFirstResponder: keyInput];
+ Target *currentTarget = configsController.currentConfig[currentJsaction];
+ if (!currentTarget || [currentTarget isKindOfClass:[TargetKeyboard class]])
+ [[[NSApplication sharedApplication] mainWindow] makeFirstResponder: keyInput];
+ else
+ [keyInput resignFirstResponder];
}
-(void) refreshConfigsPreservingSelection: (BOOL) preserve {
NSArray* configs = [configsController configs];
[configPopup removeAllItems];
for(int i=0; i<[configs count]; i++) {
- [configPopup addItemWithTitle: [[configs objectAtIndex:i]name]];
+ [configPopup addItemWithTitle: [configs[i]name]];
}
if(preserve)
[configPopup selectItemAtIndex:initialIndex];