Don't ignore SIGCHLD (fix automatic updating)
[MacVim.git] / src / MacVim / MMAppController.h
blob10a9e2381506779c364315d7fa2c6c62877a0935
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 #if (MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_4)
34 FSEventStreamRef fsEventStream;
35 #endif
37 #ifdef MM_ENABLE_PLUGINS
38 NSMenuItem *plugInMenuItem;
39 #endif
42 + (MMAppController *)sharedInstance;
43 - (NSMenu *)defaultMainMenu;
44 - (NSMenuItem *)appMenuItemTemplate;
45 - (MMVimController *)keyVimController;
46 - (void)removeVimController:(id)controller;
47 - (void)windowControllerWillOpen:(MMWindowController *)windowController;
48 - (void)setMainMenu:(NSMenu *)mainMenu;
49 - (NSArray *)filterOpenFiles:(NSArray *)filenames;
50 - (BOOL)openFiles:(NSArray *)filenames withArguments:(NSDictionary *)args;
53 #ifdef MM_ENABLE_PLUGINS
54 - (void)addItemToPlugInMenu:(NSMenuItem *)item;
55 - (void)removeItemFromPlugInMenu:(NSMenuItem *)item;
56 #endif
58 - (IBAction)newWindow:(id)sender;
59 - (IBAction)newWindowAndActivate:(id)sender;
60 - (IBAction)fileOpen:(id)sender;
61 - (IBAction)selectNextWindow:(id)sender;
62 - (IBAction)selectPreviousWindow:(id)sender;
63 - (IBAction)orderFrontPreferencePanel:(id)sender;
64 - (IBAction)openWebsite:(id)sender;
65 - (IBAction)showVimHelp:(id)sender;
66 - (IBAction)zoomAll:(id)sender;
68 @end