// Copyright 2009 University of Otago. All rights reserved.
//
-@class KeyInputTextView;
-@class ConfigsController;
-@class JoystickController;
+#import "NJKeyInputField.h"
+
+@class NJMappingsController;
+@class NJInputController;
@class Target;
@class TargetMouseMove;
-@interface TargetController : NSObject {
- IBOutlet KeyInputTextView* keyInput;
- IBOutlet NSMatrix* radioButtons;
- IBOutlet NSSegmentedControl* mouseDirSelect;
- IBOutlet NSSegmentedControl* mouseBtnSelect;
- IBOutlet NSSegmentedControl* scrollDirSelect;
- IBOutlet NSTextField* title;
- IBOutlet NSPopUpButton* configPopup;
- IBOutlet ConfigsController* configsController;
- IBOutlet JoystickController* joystickController;
- id currentJsaction;
+@interface TargetController : NSObject <NJKeyInputFieldDelegate> {
+ IBOutlet NJKeyInputField *keyInput;
+ IBOutlet NSMatrix *radioButtons;
+ IBOutlet NSSegmentedControl *mouseDirSelect;
+ IBOutlet NSSegmentedControl *mouseBtnSelect;
+ IBOutlet NSSegmentedControl *scrollDirSelect;
+ IBOutlet NSTextField *title;
+ IBOutlet NSPopUpButton *mappingPopup;
+ IBOutlet NJMappingsController *mappingsController;
+ IBOutlet NJInputController *joystickController;
}
--(void) keyChanged;
--(void) load;
--(void) commit;
--(void) reset;
--(void) refreshConfigsPreservingSelection: (BOOL) preserve;
--(IBAction)configChosen:(id)sender;
--(IBAction)radioChanged:(id)sender;
--(IBAction)mdirChanged:(id)sender;
--(IBAction)mbtnChanged:(id)sender;
--(IBAction)sdirChanged:(id)sender;
--(void) focusKey;
-
@property (assign) BOOL enabled;
+- (void)loadCurrent;
+- (void)refreshMappings;
+- (IBAction)radioChanged:(id)sender;
+- (IBAction)mdirChanged:(id)sender;
+- (IBAction)mbtnChanged:(id)sender;
+- (IBAction)sdirChanged:(id)sender;
+- (void)focusKey;
+
@end