Vim talks only to app controller
[MacVim.git] / src / MacVim / MMAppController.h
bloba0c1a48f9579106581d9b7198841d91f444b7c7e
1 /* vi:set ts=8 sts=4 sw=4 ft=objc:
3 * VIM - Vi IMproved by Bram Moolenaar
4 * MacVim GUI port by Bjorn Winckler
6 * Do ":help uganda" in Vim to read copying and usage conditions.
7 * Do ":help credits" in Vim to see a list of people who contributed.
8 * See README.txt for an overview of the Vim source code.
9 */
11 #import <Cocoa/Cocoa.h>
12 #import "MacVim.h"
15 @class MMWindowController;
16 @class MMVimController;
19 @interface MMAppController : NSObject <MMAppProtocol> {
20 NSConnection *connection;
21 NSMutableArray *vimControllers;
22 NSString *openSelectionString;
23 ATSFontContainerRef fontContainerRef;
24 NSMutableDictionary *pidArguments;
25 NSMenu *defaultMainMenu;
26 NSMenuItem *appMenuItemTemplate;
27 NSMenuItem *recentFilesMenuItem;
28 NSMutableArray *cachedVimControllers;
29 int preloadPid;
30 BOOL shouldActivateWhenNextWindowOpens;
31 int numChildProcesses;
33 NSMutableDictionary *inputQueues;
35 #if (MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_4)
36 FSEventStreamRef fsEventStream;
37 #endif
39 #ifdef MM_ENABLE_PLUGINS
40 NSMenuItem *plugInMenuItem;
41 #endif
44 + (MMAppController *)sharedInstance;
45 - (NSMenu *)defaultMainMenu;
46 - (NSMenuItem *)appMenuItemTemplate;
47 - (MMVimController *)keyVimController;
48 - (void)removeVimController:(id)controller;
49 - (void)windowControllerWillOpen:(MMWindowController *)windowController;
50 - (void)setMainMenu:(NSMenu *)mainMenu;
51 - (NSArray *)filterOpenFiles:(NSArray *)filenames;
52 - (BOOL)openFiles:(NSArray *)filenames withArguments:(NSDictionary *)args;
55 #ifdef MM_ENABLE_PLUGINS
56 - (void)addItemToPlugInMenu:(NSMenuItem *)item;
57 - (void)removeItemFromPlugInMenu:(NSMenuItem *)item;
58 #endif
60 - (IBAction)newWindow:(id)sender;
61 - (IBAction)newWindowAndActivate:(id)sender;
62 - (IBAction)fileOpen:(id)sender;
63 - (IBAction)selectNextWindow:(id)sender;
64 - (IBAction)selectPreviousWindow:(id)sender;
65 - (IBAction)orderFrontPreferencePanel:(id)sender;
66 - (IBAction)openWebsite:(id)sender;
67 - (IBAction)showVimHelp:(id)sender;
68 - (IBAction)zoomAll:(id)sender;
70 @end