forked from gnachman/iTerm2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
MovePaneController.h
50 lines (42 loc) · 1.42 KB
/
MovePaneController.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//
// MovePaneController.h
// iTerm2
//
// Runs the show for moving a session into a split pane.
//
// Created by George Nachman on 8/26/11.
#import <Foundation/Foundation.h>
#import "SplitSelectionView.h"
@class PTYTab;
@class PTYSession;
@class SessionView;
@interface MovePaneController : NSObject <SplitSelectionViewDelegate> {
// The session being moved.
PTYSession *session_; // weak
BOOL dragFailed_;
BOOL didSplit_;
}
@property (nonatomic, assign) BOOL dragFailed;
@property (nonatomic, assign) PTYSession *session;
+ (MovePaneController *)sharedInstance;
// Iniate click-to-move mode.
- (void)movePane:(PTYSession *)session;
- (void)exitMovePaneMode;
// Initiate dragging.
- (void)beginDrag:(PTYSession *)session;
- (BOOL)isMovingSession:(PTYSession *)s;
- (BOOL)dropInSession:(PTYSession *)dest
half:(SplitSessionHalf)half
atPoint:(NSPoint)point;
- (BOOL)dropTab:(PTYTab *)tab
inSession:(PTYSession *)dest
half:(SplitSessionHalf)half
atPoint:(NSPoint)point;
// Clears the session so that the normal drop handler (e.g., -[SessionView draggedImage:endedAt:operation:])
// doesn't do anything.
- (void)clearSession;
// Returns an autoreleased session view. Add the session view to something useful and release it.
- (SessionView *)removeAndClearSession;
- (void)moveSessionToNewWindow:(PTYSession *)movingSession
atPoint:(NSPoint)point;
@end