Fix problems with 'fullscreen' and :mksession
[MacVim.git] / src / MacVim / MMAppController.h
blob3509b78eabe56c27ebf39ad333caad3f1cf5e4a0
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;
32 #if (MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_4)
33 FSEventStreamRef fsEventStream;
34 #endif
36 #ifdef MM_ENABLE_PLUGINS
37 NSMenuItem *plugInMenuItem;
38 #endif
41 + (MMAppController *)sharedInstance;
42 - (NSMenu *)defaultMainMenu;
43 - (NSMenuItem *)appMenuItemTemplate;
44 - (MMVimController *)keyVimController;
45 - (void)removeVimController:(id)controller;
46 - (void)windowControllerWillOpen:(MMWindowController *)windowController;
47 - (void)setMainMenu:(NSMenu *)mainMenu;
48 - (NSArray *)filterOpenFiles:(NSArray *)filenames;
49 - (BOOL)openFiles:(NSArray *)filenames withArguments:(NSDictionary *)args;
52 #ifdef MM_ENABLE_PLUGINS
53 - (void)addItemToPlugInMenu:(NSMenuItem *)item;
54 - (void)removeItemFromPlugInMenu:(NSMenuItem *)item;
55 #endif
57 - (IBAction)newWindow:(id)sender;
58 - (IBAction)newWindowAndActivate:(id)sender;
59 - (IBAction)fileOpen:(id)sender;
60 - (IBAction)selectNextWindow:(id)sender;
61 - (IBAction)selectPreviousWindow:(id)sender;
62 - (IBAction)orderFrontPreferencePanel:(id)sender;
63 - (IBAction)openWebsite:(id)sender;
64 - (IBAction)showVimHelp:(id)sender;
65 - (IBAction)zoomAll:(id)sender;
67 @end