2
* Header file for the Objective-C parts of Mac OS X PuTTY. This
3
* file contains the class definitions, which would cause compile
4
* failures in the pure C modules if they appeared in osx.h.
7
#ifndef PUTTY_OSXCLASS_H
8
#define PUTTY_OSXCLASS_H
13
* The application controller class, defined in osxmain.m.
15
@interface AppController : NSObject
19
- (void)newSessionConfig:(id)sender;
20
- (void)newTerminal:(id)sender;
21
- (void)newSessionWithConfig:(id)cfg;
22
- (void)setTimer:(long)next;
24
extern AppController *controller;
27
* The SessionWindow class, defined in osxwin.m.
31
struct alert_queue *next;
33
void (*callback)(void *, int);
40
@interface SessionWindow : NSWindow
43
TerminalView *termview;
44
struct unicode_data ucsdata;
52
* The following two members relate to the currently active
53
* alert sheet, if any. They are NULL if there isn't one.
55
void (*alert_callback)(void *, int);
57
/* This queues future alerts that need to be shown. */
58
struct alert_queue *alert_qhead, *alert_qtail;
60
- (id)initWithConfig:(Config)cfg;
61
- (void)drawStartFinish:(BOOL)start;
62
- (void)setColour:(int)n r:(float)r g:(float)g b:(float)b;
64
- (void)doText:(wchar_t *)text len:(int)len x:(int)x y:(int)y
65
attr:(unsigned long)attr lattr:(int)lattr;
66
- (int)fromBackend:(const char *)data len:(int)len isStderr:(int)is_stderr;
67
- (int)fromBackendUntrusted:(const char *)data len:(int)len;
68
- (void)startAlert:(NSAlert *)alert
69
withCallback:(void (*)(void *, int))callback andCtx:(void *)ctx;
70
- (void)endSession:(int)clean;
71
- (void)notifyRemoteExit;
76
* The ConfigWindow class, defined in osxdlg.m.
81
@interface ConfigWindow : NSWindow
83
NSOutlineView *treeview;
84
struct controlbox *ctrlbox;
88
- (id)initWithConfig:(Config)cfg;
92
* Functions exported by osxctrls.m. (They have to go in this
93
* header file and not osx.h, because some of them have Cocoa class
94
* types in their prototypes.)
96
#define HSPACING 12 /* needed in osxdlg.m and osxctrls.m */
99
void *fe_dlg_init(void *data, NSWindow *window, NSObject *target, SEL action);
100
void fe_dlg_free(void *dv);
101
void create_ctrls(void *dv, NSView *parent, struct controlset *s,
102
int *minw, int *minh);
103
int place_ctrls(void *dv, struct controlset *s, int leftx, int topy,
104
int width); /* returns height used */
105
void select_panel(void *dv, struct controlbox *b, const char *name);
107
#endif /* PUTTY_OSXCLASS_H */