/* Prompt Widget */ #ifndef PROMPT_H #define PROMPT_H #include "cursesw.h" typedef struct { char map_state; char is_in_focus; int x, y; unsigned int width, height; Window w; char *label; int buf_start_pos; /* Relative to x. */ char *buf; int buf_len, buf_scroll_pos, buf_cursor_pos; void *client_data; void (*func_cb)(void *, char *); } Prompt; extern char *PromptGetS(CDisplay *display, Prompt *p); extern int PromptGetI(CDisplay *display, Prompt *p); extern long PromptGetL(CDisplay *display, Prompt *p); extern double PromptGetF(CDisplay *display, Prompt *p); extern void PromptSetLabel(CDisplay *display, Prompt *p, char *label); extern void PromptSetS(CDisplay *display, Prompt *p, char *s); extern void PromptSetI(CDisplay *display, Prompt *p, int i); extern void PromptSetL(CDisplay *display, Prompt *p, long l); extern void PromptSetF(CDisplay *display, Prompt *p, double d, int decimals); extern int PromptInit( CDisplay *display, Prompt *p, Window parent, int x, int y, unsigned int width, unsigned int height, int buf_len, char *label, void *client_data, void (*func_cb)(void *, char *) ); extern void PromptResize( CDisplay *display, Prompt *p, unsigned int width, unsigned int height ); extern void PromptDraw(CDisplay *display, Prompt *p); extern int PromptManage(CDisplay *display, Prompt *p, CEvent *event); extern void PromptSetFocus(CDisplay *display, Prompt *p, int focus); extern void PromptMap(CDisplay *display, Prompt *p); extern void PromptUnmap(CDisplay *display, Prompt *p); extern void PromptDestroy(CDisplay *display, Prompt *p); #endif /* PROMPT_H */