View-free NJMappingsController.
[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 <NSFastEnumeration>
13
14 @property (nonatomic, readonly) NJMapping *currentMapping;
15 @property (nonatomic, readonly) NSUInteger count;
16
17 - (NJMapping *)objectForKeyedSubscript:(NSString *)name;
18 - (NJMapping *)objectAtIndexedSubscript:(NSUInteger)idx;
19 - (NSInteger)indexOfMapping:(NJMapping *)mapping;
20
21 - (void)addMapping:(NJMapping *)mapping;
22 - (void)insertMapping:(NJMapping *)mapping atIndex:(NSInteger)idx;
23 - (void)removeMappingAtIndex:(NSInteger)idx;
24 - (void)mergeMapping:(NJMapping *)mapping intoMapping:(NJMapping *)existing;
25 - (void)moveMoveMappingFromIndex:(NSInteger)fromIdx toIndex:(NSInteger)toIdx;
26 - (void)renameMapping:(NJMapping *)mapping to:(NSString *)name;
27
28 - (void)mappingsChanged;
29
30 - (void)activateMapping:(NJMapping *)mapping;
31 - (void)activateMappingForProcess:(NSRunningApplication *)app;
32 - (void)save;
33 - (void)load;
34
35 @end