boolean preselected; /* in advance? */
char selector; /* Char used to select this entry. */
char gselector; /* Group selector. */
+ Widget w;
+ int window;
} x11_menu_item;
struct menu {
const char *query; /* Query string. */
const char *gacc; /* Group accelerators. */
int count; /* Number of strings. */
- String *list_pointer; /* String list. */
- Boolean *sensitive; /* Active list. */
char curr_selector; /* Next keyboard accelerator to assign, */
/* if 0, then we're out. */
};
Dimension internal_height; /* Internal height between widget & border */
Dimension internal_width; /* Internal width between widget & border */
short how; /* Menu mode PICK_NONE, PICK_ONE, PICK_ANY */
- boolean valid_widgets; /* TRUE if widgets have been created. */
boolean is_menu; /* Has been confirmed to being a menu window. */
boolean is_active; /* TRUE when waiting for user input. */
boolean is_up; /* TRUE when window is popped-up. */
boolean cancelled; /* Menu has been explicitly cancelled. */
boolean counting; /* true when menu_count has a valid value */
+ boolean permi;
+ boolean disable_mcolors; /* disable menucolors */
+
+ int permi_x, permi_y; /* perm_invent window x,y */
+ int permi_w, permi_h; /* perm_invent window wid, hei */
};
/*
int prevx, cursx; /* Cursor position, only used by */
int prevy, cursy; /* map and "plain" status windows.*/
+ boolean nh_colors_inited;
+ XColor nh_colors[CLR_MAX];
+ XFontStruct *boldfs; /* Bold font */
+ Display *boldfs_dpy; /* Bold font display */
+ char *title;
+
union {
struct map_info_t *Map_info; /* map window info */
struct mesg_info_t *Mesg_info; /* message window info */
typedef struct {
Boolean slow; /* issue prompts between map and message wins */
+ Boolean fancy_status; /* use "fancy" status vs. TTY-style status */
Boolean autofocus; /* grab pointer focus for popup windows */
Boolean message_line; /* separate current turn mesgs from prev ones */
Boolean highlight_prompt; /* if 'slow', highlight yn prompts */
/* ### winX.c ### */
E struct xwindow *FDECL(find_widget, (Widget));
+E XColor FDECL(get_nhcolor, (struct xwindow *, int));
+E void FDECL(init_menu_nhcolors, (struct xwindow *));
+E void FDECL(load_boldfont, (struct xwindow *, Widget));
E Boolean FDECL(nhApproxColor, (Screen *, Colormap, char *, XColor *));
+E void FDECL(get_widget_window_geometry, (Widget, int *, int *, int *, int *));
+E char *FDECL(fontname_boldify, (const char *));
E Dimension FDECL(nhFontHeight, (Widget));
E char FDECL(key_event_to_char, (XKeyEvent *));
E void FDECL(msgkey, (Widget, XtPointer, XEvent *));
E void FDECL(nh_XtPopup, (Widget, int, Widget));
E void FDECL(nh_XtPopdown, (Widget));
E void FDECL(win_X11_init, (int));
+E void FDECL(find_scrollbars, (Widget, Widget *, Widget *));
E void FDECL(nh_keyscroll, (Widget, XEvent *, String *, Cardinal *));
/* ### winmesg.c ### */
E void FDECL(swap_fg_bg, (Widget));
/* external declarations */
+E char *FDECL(X11_getmsghistory, (BOOLEAN_P));
+E void FDECL(X11_putmsghistory, (const char *, BOOLEAN_P));
E void FDECL(X11_init_nhwindows, (int *, char **));
E void NDECL(X11_player_selection);
E void NDECL(X11_askname);
E int NDECL(X11_get_ext_cmd);
E void FDECL(X11_number_pad, (int));
E void NDECL(X11_delay_output);
+E void NDECL(X11_status_init);
+E void NDECL(X11_status_finish);
+E void FDECL(X11_status_enablefield, (int, const char *, const char *, BOOLEAN_P));
+E void FDECL(X11_status_update, (int, genericptr_t, int, int, int, unsigned long *));
/* other defs that really should go away (they're tty specific) */
E void NDECL(X11_start_screen);