X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/3fa615778e441b4ea6c43baa2986efac9ab85d0e..5a8afc787bcaafabd3aee68b6dac341962801b57:/mac/mac.h diff --git a/mac/mac.h b/mac/mac.h index e18ff742..b7480774 100644 --- a/mac/mac.h +++ b/mac/mac.h @@ -15,6 +15,7 @@ #include #include "charset.h" +#include "tree234.h" #define PUTTY_CREATOR FOUR_CHAR_CODE('pTTY') #define INTERNAL_CREATOR FOUR_CHAR_CODE('pTTI') @@ -27,12 +28,14 @@ struct mac_gestalts { long apprvers; long cntlattr; long windattr; + long menuattr; long encvvers; /* TEC version (from TECGetInfo()) */ long uncvattr; /* Unicode Converter attributes (frem TECGetInfo()) */ long navsvers; /* Navigation Services version */ }; extern struct mac_gestalts mac_gestalts; +extern UInt32 sleeptime; #if TARGET_RT_MAC_CFM /* All systems that can use CFM have Color QuickDraw */ @@ -45,6 +48,7 @@ extern struct mac_gestalts mac_gestalts; typedef struct { struct Session *s; /* Only used in PuTTY */ struct KeyState *ks; /* Only used in PuTTYgen */ + struct macctrls *mcs; void (*activate) (WindowPtr, EventRecord *); void (*adjustcursor)(WindowPtr, Point, RgnHandle); @@ -61,6 +65,18 @@ typedef struct { #define mac_wininfo(w) ((WinInfo *)GetWRefCon(w)) #define mac_windowsession(w) (((WinInfo *)GetWRefCon(w))->s) +#define mac_winctrls(w) (((WinInfo *)GetWRefCon(w))->mcs) + +union macctrl; + +struct macctrls { + WindowPtr window; + tree234 *byctrl; + void *data; /* private data for config box */ + unsigned int npanels; + unsigned int curpanel; + union macctrl **panels; /* lists of controls by panel */ +}; typedef struct Session { struct Session *next; @@ -94,7 +110,6 @@ typedef struct Session { Point font_bignumer; Point font_bigdenom; WindowPtr window; - WindowPtr settings_window; WindowPtr eventlog_window; ListHandle eventlog; PaletteHandle palette; @@ -105,6 +120,11 @@ typedef struct Session { charset_t font_charset; /* font_charset is used at a time. */ int hasfile; FSSpec savefile; + + /* Config dialogue bits */ + WindowPtr settings_window; + struct controlbox *ctrlbox; + struct macctrls settings_ctrls; } Session; extern Session *sesslist; @@ -177,6 +197,17 @@ extern Socket ot_newlistener(char *, int, Plug, int); extern char *ot_addr_error(SockAddr); /* from macabout.c */ extern void mac_openabout(void); +/* from macctrls.c */ +extern void macctrl_layoutbox(struct controlbox *, WindowPtr, + struct macctrls *); +extern void macctrl_activate(WindowPtr, EventRecord *); +extern void macctrl_click(WindowPtr, EventRecord *); +extern void macctrl_key(WindowPtr, EventRecord *); +extern void macctrl_update(WindowPtr); +extern void macctrl_adjustmenus(WindowPtr); +extern void macctrl_close(WindowPtr); + + /* from macpgkey.c */ extern void mac_newkey(void); /* Apple Event Handlers (in various files) */