Fix placement of auxiliary IM window for Core Text
[MacVim.git] / src / MacVim / MMWindowController.h
blob5ac4ade85b336ff0ae2ec3bd7a0e0716980b77c1
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 "MacVim.h"
15 @class MMWindow;
16 @class MMFullscreenWindow;
17 @class MMVimController;
18 @class MMVimView;
20 @interface MMWindowController : NSWindowController
21 #if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6)
22 // 10.6 has turned delegate messages into formal protocols
23 <NSWindowDelegate>
24 #endif
26 MMVimController *vimController;
27 MMVimView *vimView;
28 BOOL setupDone;
29 BOOL shouldResizeVimView;
30 BOOL shouldRestoreUserTopLeft;
31 int updateToolbarFlag;
32 BOOL keepOnScreen;
33 BOOL fullscreenEnabled;
34 NSString *windowAutosaveKey;
35 MMFullscreenWindow *fullscreenWindow;
36 MMWindow *decoratedWindow;
37 NSString *lastSetTitle;
38 int userRows;
39 int userCols;
40 NSPoint userTopLeft;
41 NSPoint defaultTopLeft;
44 - (id)initWithVimController:(MMVimController *)controller;
45 - (MMVimController *)vimController;
46 - (MMVimView *)vimView;
47 - (NSString *)windowAutosaveKey;
48 - (void)setWindowAutosaveKey:(NSString *)key;
49 - (void)cleanup;
50 - (void)openWindow;
51 - (void)showWindow;
52 - (void)updateTabsWithData:(NSData *)data;
53 - (void)selectTabWithIndex:(int)idx;
54 - (void)setTextDimensionsWithRows:(int)rows columns:(int)cols isLive:(BOOL)live
55 keepOnScreen:(BOOL)onScreen;
56 - (void)zoomWithRows:(int)rows columns:(int)cols state:(int)state;
57 - (void)setTitle:(NSString *)title;
58 - (void)setDocumentFilename:(NSString *)filename;
59 - (void)setToolbar:(NSToolbar *)toolbar;
60 - (void)createScrollbarWithIdentifier:(int32_t)ident type:(int)type;
61 - (BOOL)destroyScrollbarWithIdentifier:(int32_t)ident;
62 - (BOOL)showScrollbarWithIdentifier:(int32_t)ident state:(BOOL)visible;
63 - (void)setScrollbarPosition:(int)pos length:(int)len identifier:(int32_t)ident;
64 - (void)setScrollbarThumbValue:(float)val proportion:(float)prop
65 identifier:(int32_t)ident;
66 - (void)setDefaultColorsBackground:(NSColor *)back foreground:(NSColor *)fore;
67 - (void)setFont:(NSFont *)font;
68 - (void)setWideFont:(NSFont *)font;
69 - (void)processInputQueueDidFinish;
70 - (void)showTabBar:(BOOL)on;
71 - (void)showToolbar:(BOOL)on size:(int)size mode:(int)mode;
72 - (void)setMouseShape:(int)shape;
73 - (void)adjustLinespace:(int)linespace;
74 - (void)liveResizeWillStart;
75 - (void)liveResizeDidEnd;
77 - (void)enterFullscreen:(int)fuoptions backgroundColor:(NSColor *)back;
78 - (void)leaveFullscreen;
79 - (void)setFullscreenBackgroundColor:(NSColor *)back;
81 - (void)setBuffersModified:(BOOL)mod;
82 - (void)setTopLeft:(NSPoint)pt;
83 - (BOOL)getDefaultTopLeft:(NSPoint*)pt;
85 - (IBAction)addNewTab:(id)sender;
86 - (IBAction)toggleToolbar:(id)sender;
87 - (IBAction)performClose:(id)sender;
88 - (IBAction)findNext:(id)sender;
89 - (IBAction)findPrevious:(id)sender;
90 - (IBAction)vimMenuItemAction:(id)sender;
91 - (IBAction)vimToolbarItemAction:(id)sender;
92 - (IBAction)fontSizeUp:(id)sender;
93 - (IBAction)fontSizeDown:(id)sender;
94 - (IBAction)findAndReplace:(id)sender;
95 - (IBAction)zoom:(id)sender;
97 @end