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 - (void)startAlert
:(NSAlert
*)alert
68 withCallback
:(void (*)(void *, int))callback andCtx
:(void *)ctx
;
69 - (void)endSession
:(int)clean
;
70 - (void)notifyRemoteExit
;
74 * The ConfigWindow class, defined in osxdlg.m.
79 @interface ConfigWindow
: NSWindow
81 NSOutlineView
*treeview
;
82 struct controlbox
*ctrlbox
;
86 - (id
)initWithConfig
:(Config
)cfg
;
90 * Functions exported by osxctrls.m. (They have to go in this
91 * header file and not osx.h, because some of them have Cocoa class
92 * types in their prototypes.)
94 #define HSPACING 12 /* needed in osxdlg.m and osxctrls.m */
97 void *fe_dlg_init(void *data
, NSWindow
*window
, NSObject
*target
, SEL action
);
98 void fe_dlg_free(void *dv
);
99 void create_ctrls(void *dv
, NSView
*parent
, struct controlset
*s
,
100 int *minw
, int *minh
);
101 int place_ctrls(void *dv
, struct controlset
*s
, int leftx
, int topy
,
102 int width
); /* returns height used */
103 void select_panel(void *dv
, struct controlbox
*b
, const char *name
);
105 #endif /* PUTTY_OSXCLASS_H */