a35c735ecdb569e658bdbeec09081eb84bdce296
[enjoyable.git] / Classes / NJOutputViewController.h
1 //
2 // NJOutputController.h
3 // Enjoy
4 //
5 // Created by Sam McCall on 5/05/09.
6 // Copyright 2009 University of Otago. All rights reserved.
7 //
8
9 #import "NJKeyInputField.h"
10
11 @class NJInput;
12 @class NJOutput;
13 @class NJMapping;
14
15 @protocol NJOutputViewControllerDelegate;
16
17 @interface NJOutputViewController : NSObject <NJKeyInputFieldDelegate> {
18 IBOutlet NJKeyInputField *keyInput;
19 IBOutlet NSMatrix *radioButtons;
20 IBOutlet NSSegmentedControl *mouseDirSelect;
21 IBOutlet NSSlider *mouseSpeedSlider;
22 IBOutlet NSSegmentedControl *mouseBtnSelect;
23 IBOutlet NSSegmentedControl *scrollDirSelect;
24 IBOutlet NSSlider *scrollSpeedSlider;
25 IBOutlet NSTextField *title;
26 IBOutlet NSPopUpButton *mappingPopup;
27 IBOutlet NSButton *smoothCheck;
28 IBOutlet NSButton *unknownMapping;
29 }
30
31 @property (nonatomic, weak) IBOutlet id <NJOutputViewControllerDelegate> delegate;
32
33 - (void)loadOutput:(NJOutput *)output forInput:(NJInput *)input;
34 - (void)focusKey;
35
36 - (IBAction)radioChanged:(id)sender;
37 - (IBAction)mdirChanged:(id)sender;
38 - (IBAction)mbtnChanged:(id)sender;
39 - (IBAction)sdirChanged:(id)sender;
40 - (IBAction)mouseSpeedChanged:(id)sender;
41 - (IBAction)scrollSpeedChanged:(id)sender;
42 - (IBAction)scrollTypeChanged:(id)sender;
43
44 @end
45
46 @protocol NJOutputViewControllerDelegate
47
48 - (NJMapping *)outputViewController:(NJOutputViewController *)ovc
49 mappingForIndex:(NSUInteger)index;
50 - (void)outputViewController:(NJOutputViewController *)ovc
51 setOutput:(NJOutput *)output
52 forInput:(NJInput *)input;
53
54 @end