a4d9c1854d2e18d99bf6c828c97b544b34232ad3
[enjoyable.git] / Classes / NJMappingsController.h
1 //
2 // NJMappingsController.h
3 // Enjoy
4 //
5 // Created by Sam McCall on 4/05/09.
6 // Copyright 2009 University of Otago. All rights reserved.
7 //
8
9 @class NJMapping;
10 @class NJOutputController;
11
12 @interface NJMappingsController : NSObject <NSTableViewDataSource,
13 NSTableViewDelegate,
14 NSOpenSavePanelDelegate,
15 NSPopoverDelegate,
16 NSFastEnumeration>
17 {
18 IBOutlet NSButton *removeButton;
19 IBOutlet NSTableView *tableView;
20 IBOutlet NSButton *popoverActivate;
21 IBOutlet NSPopover *popover;
22 IBOutlet NSButton *moveUp;
23 IBOutlet NSButton *moveDown;
24 }
25
26 @property (nonatomic, readonly) NJMapping *currentMapping;
27
28 - (NJMapping *)objectForKeyedSubscript:(NSString *)name;
29 - (NJMapping *)objectAtIndexedSubscript:(NSUInteger)idx;
30 - (void)addMappingWithContentsOfURL:(NSURL *)url;
31 - (void)activateMapping:(NJMapping *)mapping;
32 - (void)activateMappingForProcess:(NSRunningApplication *)app;
33 - (void)save;
34 - (void)load;
35
36 - (IBAction)mappingPressed:(id)sender;
37 - (IBAction)addPressed:(id)sender;
38 - (IBAction)removePressed:(id)sender;
39 - (IBAction)moveUpPressed:(id)sender;
40 - (IBAction)moveDownPressed:(id)sender;
41 - (IBAction)importPressed:(id)sender;
42 - (IBAction)exportPressed:(id)sender;
43
44 @end