2000-10-18 19:36:32 +04:00
|
|
|
/*
|
|
|
|
* winstuff.h: Windows-specific inter-module stuff.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Global variables. Most modules declare these `extern', but
|
|
|
|
* window.c will do `#define PUTTY_DO_GLOBALS' before including this
|
|
|
|
* module, and so will get them properly defined.
|
|
|
|
*/
|
|
|
|
#ifdef PUTTY_DO_GLOBALS
|
|
|
|
#define GLOBAL
|
|
|
|
#else
|
|
|
|
#define GLOBAL extern
|
|
|
|
#endif
|
|
|
|
|
|
|
|
GLOBAL HINSTANCE hinst;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Exports from winctrls.c.
|
|
|
|
*/
|
|
|
|
|
|
|
|
struct ctlpos {
|
|
|
|
HWND hwnd;
|
|
|
|
WPARAM font;
|
|
|
|
int dlu4inpix;
|
|
|
|
int ypos, width;
|
|
|
|
int xoff;
|
2001-01-22 20:17:26 +03:00
|
|
|
int boxystart, boxid;
|
2000-10-18 19:36:32 +04:00
|
|
|
char *boxtext;
|
|
|
|
};
|
|
|
|
|
2001-08-25 23:33:33 +04:00
|
|
|
/*
|
|
|
|
* Private structure for prefslist state. Only in the header file
|
|
|
|
* so that we can delegate allocation to callers.
|
|
|
|
*/
|
|
|
|
struct prefslist {
|
|
|
|
int listid, upbid, dnbid;
|
|
|
|
int srcitem;
|
|
|
|
int dummyitem;
|
|
|
|
int dragging;
|
|
|
|
};
|
|
|
|
|
2000-10-18 19:36:32 +04:00
|
|
|
void ctlposinit(struct ctlpos *cp, HWND hwnd,
|
2001-05-06 18:35:20 +04:00
|
|
|
int leftborder, int rightborder, int topborder);
|
2001-08-25 23:33:33 +04:00
|
|
|
HWND doctl(struct ctlpos *cp, RECT r,
|
2001-05-06 18:35:20 +04:00
|
|
|
char *wclass, int wstyle, int exstyle, char *wtext, int wid);
|
2000-10-18 19:36:32 +04:00
|
|
|
void bartitle(struct ctlpos *cp, char *name, int id);
|
2001-01-22 20:17:26 +03:00
|
|
|
void beginbox(struct ctlpos *cp, char *name, int idbox);
|
2000-10-18 19:36:32 +04:00
|
|
|
void endbox(struct ctlpos *cp);
|
|
|
|
void multiedit(struct ctlpos *cp, ...);
|
2001-05-06 18:35:20 +04:00
|
|
|
void radioline(struct ctlpos *cp, char *text, int id, int nacross, ...);
|
2001-08-09 00:44:35 +04:00
|
|
|
void bareradioline(struct ctlpos *cp, int nacross, ...);
|
2000-10-18 19:36:32 +04:00
|
|
|
void radiobig(struct ctlpos *cp, char *text, int id, ...);
|
|
|
|
void checkbox(struct ctlpos *cp, char *text, int id);
|
2000-10-19 19:43:08 +04:00
|
|
|
void statictext(struct ctlpos *cp, char *text, int id);
|
2000-10-18 19:36:32 +04:00
|
|
|
void staticbtn(struct ctlpos *cp, char *stext, int sid,
|
2001-05-06 18:35:20 +04:00
|
|
|
char *btext, int bid);
|
2001-08-27 21:40:03 +04:00
|
|
|
void static2btn(struct ctlpos *cp, char *stext, int sid,
|
|
|
|
char *btext1, int bid1, char *btext2, int bid2);
|
2000-10-18 19:36:32 +04:00
|
|
|
void staticedit(struct ctlpos *cp, char *stext,
|
2001-05-06 18:35:20 +04:00
|
|
|
int sid, int eid, int percentedit);
|
2001-09-06 01:01:04 +04:00
|
|
|
void combobox(struct ctlpos *cp, char *text, int staticid, int listid);
|
2000-10-19 19:43:08 +04:00
|
|
|
void staticpassedit(struct ctlpos *cp, char *stext,
|
2001-05-06 18:35:20 +04:00
|
|
|
int sid, int eid, int percentedit);
|
2000-10-19 19:43:08 +04:00
|
|
|
void bigeditctrl(struct ctlpos *cp, char *stext,
|
2001-05-06 18:35:20 +04:00
|
|
|
int sid, int eid, int lines);
|
|
|
|
void ersatztab(struct ctlpos *cp, char *stext, int sid, int lid, int s2id);
|
2000-10-18 19:36:32 +04:00
|
|
|
void editbutton(struct ctlpos *cp, char *stext, int sid,
|
2001-05-06 18:35:20 +04:00
|
|
|
int eid, char *btext, int bid);
|
2000-10-18 19:36:32 +04:00
|
|
|
void sesssaver(struct ctlpos *cp, char *text,
|
2001-05-06 18:35:20 +04:00
|
|
|
int staticid, int editid, int listid, ...);
|
2000-10-18 19:36:32 +04:00
|
|
|
void envsetter(struct ctlpos *cp, char *stext, int sid,
|
2001-05-06 18:35:20 +04:00
|
|
|
char *e1stext, int e1sid, int e1id,
|
|
|
|
char *e2stext, int e2sid, int e2id,
|
|
|
|
int listid, char *b1text, int b1id, char *b2text, int b2id);
|
2000-10-18 19:36:32 +04:00
|
|
|
void charclass(struct ctlpos *cp, char *stext, int sid, int listid,
|
2001-05-06 18:35:20 +04:00
|
|
|
char *btext, int bid, int eid, char *s2text, int s2id);
|
2000-10-18 19:36:32 +04:00
|
|
|
void colouredit(struct ctlpos *cp, char *stext, int sid, int listid,
|
2001-05-06 18:35:20 +04:00
|
|
|
char *btext, int bid, ...);
|
2001-08-25 23:33:33 +04:00
|
|
|
void prefslist(struct prefslist *hdl, struct ctlpos *cp, char *stext,
|
|
|
|
int sid, int listid, int upbid, int dnbid);
|
|
|
|
int handle_prefslist(struct prefslist *hdl,
|
|
|
|
int *array, int maxmemb,
|
|
|
|
int is_dlmsg, HWND hwnd,
|
|
|
|
WPARAM wParam, LPARAM lParam);
|
2000-10-19 19:43:08 +04:00
|
|
|
void progressbar(struct ctlpos *cp, int id);
|
2001-08-09 00:44:35 +04:00
|
|
|
void fwdsetter(struct ctlpos *cp, int listid, char *stext, int sid,
|
|
|
|
char *e1stext, int e1sid, int e1id,
|
|
|
|
char *e2stext, int e2sid, int e2id,
|
|
|
|
char *btext, int bid);
|