зеркало из https://github.com/github/putty.git
87 строки
2.1 KiB
C
87 строки
2.1 KiB
C
|
/*
|
||
|
* Header file for the Objective-C parts of Mac OS X PuTTY. This
|
||
|
* file contains the class definitions, which would cause compile
|
||
|
* failures in the pure C modules if they appeared in osx.h.
|
||
|
*/
|
||
|
|
||
|
#ifndef PUTTY_OSXCLASS_H
|
||
|
#define PUTTY_OSXCLASS_H
|
||
|
|
||
|
#include "putty.h"
|
||
|
|
||
|
/*
|
||
|
* The application controller class, defined in osxmain.m.
|
||
|
*/
|
||
|
@interface AppController : NSObject
|
||
|
{
|
||
|
NSTimer *timer;
|
||
|
}
|
||
|
- (void)newSessionConfig:(id)sender;
|
||
|
- (void)newTerminal:(id)sender;
|
||
|
- (void)newSessionWithConfig:(id)cfg;
|
||
|
- (void)setTimer:(long)next;
|
||
|
@end
|
||
|
extern AppController *controller;
|
||
|
|
||
|
/*
|
||
|
* The SessionWindow class, defined in osxwin.m.
|
||
|
*/
|
||
|
|
||
|
@class SessionWindow;
|
||
|
@class TerminalView;
|
||
|
|
||
|
@interface SessionWindow : NSWindow
|
||
|
{
|
||
|
Terminal *term;
|
||
|
TerminalView *termview;
|
||
|
struct unicode_data ucsdata;
|
||
|
void *logctx;
|
||
|
Config cfg;
|
||
|
void *ldisc;
|
||
|
Backend *back;
|
||
|
void *backhandle;
|
||
|
}
|
||
|
- (id)initWithConfig:(Config)cfg;
|
||
|
- (void)drawStartFinish:(BOOL)start;
|
||
|
- (void)setColour:(int)n r:(float)r g:(float)g b:(float)b;
|
||
|
- (Config *)cfg;
|
||
|
- (void)doText:(wchar_t *)text len:(int)len x:(int)x y:(int)y
|
||
|
attr:(unsigned long)attr lattr:(int)lattr;
|
||
|
- (int)fromBackend:(const char *)data len:(int)len isStderr:(int)is_stderr;
|
||
|
@end
|
||
|
|
||
|
/*
|
||
|
* The ConfigWindow class, defined in osxdlg.m.
|
||
|
*/
|
||
|
|
||
|
@class ConfigWindow;
|
||
|
|
||
|
@interface ConfigWindow : NSWindow
|
||
|
{
|
||
|
NSOutlineView *treeview;
|
||
|
struct controlbox *ctrlbox;
|
||
|
struct sesslist sl;
|
||
|
void *dv;
|
||
|
Config cfg;
|
||
|
}
|
||
|
- (id)initWithConfig:(Config)cfg;
|
||
|
@end
|
||
|
|
||
|
/*
|
||
|
* Functions exported by osxctrls.m. (They have to go in this
|
||
|
* header file and not osx.h, because some of them have Cocoa class
|
||
|
* types in their prototypes.)
|
||
|
*/
|
||
|
#define HSPACING 12 /* needed in osxdlg.m and osxctrls.m */
|
||
|
#define VSPACING 8
|
||
|
|
||
|
void *fe_dlg_init(void *data, NSWindow *window, NSObject *target, SEL action);
|
||
|
void fe_dlg_free(void *dv);
|
||
|
void create_ctrls(void *dv, NSView *parent, struct controlset *s,
|
||
|
int *minw, int *minh);
|
||
|
int place_ctrls(void *dv, struct controlset *s, int leftx, int topy,
|
||
|
int width); /* returns height used */
|
||
|
void select_panel(void *dv, struct controlbox *b, const char *name);
|
||
|
|
||
|
#endif /* PUTTY_OSXCLASS_H */
|