~vcs-imports/putty/master

« back to all changes in this revision

Viewing changes to macosx/osxclass.h

  • Committer: Simon Tatham
  • Date: 2016-03-25 09:06:03 UTC
  • Revision ID: git-v1:e30e6b0f1d009c36f7e7d7d51a3e5c6689708062
Delete the old 'macosx' directory completely.

The current state of the OS X GTK port is looking more or less
plausible - it's not finished, of course, but then neither was the old
native Cocoa port. So I'm inclined to advertise it as *the* unfinished
OS X port: it's the one I intend to keep working on, and it's the one
I'd prefer people offered us help with if they're going to offer.

Hence, leaving the old macosx directory around is just confusing; that
directory is long-unmaintained, probably doesn't even compile, and its
only effect will be to mislead people into thinking it's still
relevant. I'm unilaterally deleting it; of course we can always
recover it from source control history if it's ever necessary to do
so.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
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.
5
 
 */
6
 
 
7
 
#ifndef PUTTY_OSXCLASS_H
8
 
#define PUTTY_OSXCLASS_H
9
 
 
10
 
#include "putty.h"
11
 
 
12
 
/*
13
 
 * The application controller class, defined in osxmain.m.
14
 
 */
15
 
@interface AppController : NSObject
16
 
{
17
 
    NSTimer *timer;
18
 
}
19
 
- (void)newSessionConfig:(id)sender;
20
 
- (void)newTerminal:(id)sender;
21
 
- (void)newSessionWithConfig:(id)cfg;
22
 
- (void)setTimer:(long)next;
23
 
@end
24
 
extern AppController *controller;
25
 
 
26
 
/*
27
 
 * The SessionWindow class, defined in osxwin.m.
28
 
 */
29
 
 
30
 
struct alert_queue {
31
 
    struct alert_queue *next;
32
 
    NSAlert *alert;
33
 
    void (*callback)(void *, int);
34
 
    void *ctx;
35
 
};
36
 
 
37
 
@class SessionWindow;
38
 
@class TerminalView;
39
 
 
40
 
@interface SessionWindow : NSWindow
41
 
{
42
 
    Terminal *term;
43
 
    TerminalView *termview;
44
 
    struct unicode_data ucsdata;
45
 
    void *logctx;
46
 
    Config cfg;
47
 
    void *ldisc;
48
 
    Backend *back;
49
 
    void *backhandle;
50
 
    int exited;
51
 
    /*
52
 
     * The following two members relate to the currently active
53
 
     * alert sheet, if any. They are NULL if there isn't one.
54
 
     */
55
 
    void (*alert_callback)(void *, int);
56
 
    void *alert_ctx;
57
 
    /* This queues future alerts that need to be shown. */
58
 
    struct alert_queue *alert_qhead, *alert_qtail;
59
 
}
60
 
- (id)initWithConfig:(Config)cfg;
61
 
- (void)drawStartFinish:(BOOL)start;
62
 
- (void)setColour:(int)n r:(float)r g:(float)g b:(float)b;
63
 
- (Config *)cfg;
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;
72
 
- (Terminal *)term;
73
 
@end
74
 
 
75
 
/*
76
 
 * The ConfigWindow class, defined in osxdlg.m.
77
 
 */
78
 
 
79
 
@class ConfigWindow;
80
 
 
81
 
@interface ConfigWindow : NSWindow
82
 
{
83
 
    NSOutlineView *treeview;
84
 
    struct controlbox *ctrlbox;
85
 
    void *dv;
86
 
    Config cfg;
87
 
}
88
 
- (id)initWithConfig:(Config)cfg;
89
 
@end
90
 
 
91
 
/*
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.)
95
 
 */
96
 
#define HSPACING 12                    /* needed in osxdlg.m and osxctrls.m */
97
 
#define VSPACING 8
98
 
 
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);
106
 
 
107
 
#endif /* PUTTY_OSXCLASS_H */