Remove website, now in yukkurigames.com repository.
[enjoyable.git] / Classes / NJOutputViewController.h
index 2f50ef8..7e35b70 100644 (file)
@@ -8,36 +8,47 @@
 
 #import "NJKeyInputField.h"
 
-@class NJInputController;
-@class NJOutput;
 @class NJInput;
+@class NJOutput;
+@class NJMapping;
+
+@protocol NJOutputViewControllerDelegate;
+
+@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;
 
-@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 NJInputController *inputController;
-    IBOutlet NSButton *smoothCheck;
-    IBOutlet NSButton *unknownMapping;
-}
-
-@property (assign) BOOL enabled;
-
-- (void)loadInput:(NJInput *)input;
-- (IBAction)radioChanged:(id)sender;
-- (IBAction)mdirChanged:(id)sender;
-- (IBAction)mbtnChanged:(id)sender;
-- (IBAction)sdirChanged:(id)sender;
+- (void)loadOutput:(NJOutput *)output forInput:(NJInput *)input;
+- (void)focusKey;
+
+- (IBAction)outputTypeChanged:(id)sender;
+- (IBAction)mouseDirectionChanged:(id)sender;
+- (IBAction)mouseButtonChanged:(id)sender;
+- (IBAction)scrollDirectionChanged:(id)sender;
 - (IBAction)mouseSpeedChanged:(id)sender;
 - (IBAction)scrollSpeedChanged:(id)sender;
 - (IBAction)scrollTypeChanged:(id)sender;
 
-- (void)focusKey;
+@end
+
+@protocol NJOutputViewControllerDelegate
+
+- (NJMapping *)outputViewController:(NJOutputViewController *)ovc
+                    mappingForIndex:(NSUInteger)index;
+- (void)outputViewController:(NJOutputViewController *)ovc
+                   setOutput:(NJOutput *)output
+                    forInput:(NJInput *)input;
 
 @end