#ifndef CONWIN_H
#define CONWIN_H

#include "../include/osw-x.h"
#include "../include/widget.h"


typedef struct _con_win_struct		con_win_struct;
#define CON_WIN(p)		((con_win_struct *)(p))


/*
 *	Connect Dialog:
 */
struct _con_win_struct {

	bool_t		map_state,
			has_focus,
			disabled;
	int		x, y;
	unsigned int	width, height;
	visibility_t	visibility_state;

	win_t		toplevel;
	pixmap_t	toplevel_buf;

	prompt_struct	address_prompt,
			port_prompt,
			name_prompt,
			password_prompt;

	push_button_struct	connect_btn,
				cancel_btn;

	void		(*connect_cb)(
                const char *,		/* Address */
                int,			/* Port */
                const char *,		/* Login Name */
                const char *,		/* Login Password */
                void *			/* Data */
        );
	void		*connect_data;

};


extern int ConWinInit(
	con_win_struct *cw,
        void (*connect_cb)(
                const char *,		/* Address */
                int,			/* Port */
                const char *,		/* Login Name */
                const char *,		/* Login Password */
                void *			/* Data */
        ),
        void *connect_data
);
extern void ConWinDraw(con_win_struct *cw);
extern int ConWinManage(con_win_struct *cw, event_t *event);
extern void ConWinMap(con_win_struct *cw);
extern void ConWinUnmap(con_win_struct *cw);
extern void ConWinDestroy(con_win_struct *cw);


#endif	/* CONWIN_H */