Merge branch 'master' into win32-x64-working
Conflicts: include/hack.h win/X11/winmenu.c win/X11/winstat.c
This commit is contained in:
+98
-62
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.5 winmenu.c $NHDT-Date: 1428828477 2015/04/12 08:47:57 $ $NHDT-Branch: master $:$NHDT-Revision: 1.7 $ */
|
||||
/* NetHack 3.5 winmenu.c $NHDT-Date: 1430899135 2015/05/06 07:58:55 $ $NHDT-Branch: master $:$NHDT-Revision: 1.8 $ */
|
||||
/* SCCS Id: @(#)winmenu.c 3.5 1996/08/15 */
|
||||
/* Copyright (c) Dean Luick, 1992 */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -97,6 +97,8 @@ menu_select(w, client_data, call_data)
|
||||
#endif
|
||||
long how_many;
|
||||
|
||||
nhUse(client_data);
|
||||
|
||||
wp = find_widget(w);
|
||||
menu_info = wp->menu_information;
|
||||
how_many = menu_info->counting ? menu_info->menu_count : -1L;
|
||||
@@ -156,6 +158,10 @@ menu_delete(w, event, params, num_params)
|
||||
String *params;
|
||||
Cardinal *num_params;
|
||||
{
|
||||
nhUse(event);
|
||||
nhUse(params);
|
||||
nhUse(num_params);
|
||||
|
||||
menu_cancel((Widget)None, (XtPointer) find_widget(w), (XtPointer) 0);
|
||||
}
|
||||
|
||||
@@ -170,6 +176,9 @@ invert_line(wp, curr, which, how_many)
|
||||
int which;
|
||||
long how_many;
|
||||
{
|
||||
#ifndef USE_FWF
|
||||
nhUse(which);
|
||||
#endif
|
||||
reset_menu_count(wp->menu_information);
|
||||
curr->selected = !curr->selected;
|
||||
if (curr->selected) {
|
||||
@@ -207,6 +216,9 @@ menu_key(w, event, params, num_params)
|
||||
int count;
|
||||
boolean selected_something;
|
||||
|
||||
nhUse(params);
|
||||
nhUse(num_params);
|
||||
|
||||
wp = find_widget(w);
|
||||
menu_info = wp->menu_information;
|
||||
|
||||
@@ -345,6 +357,9 @@ menu_ok(w, client_data, call_data)
|
||||
{
|
||||
struct xwindow *wp = (struct xwindow *) client_data;
|
||||
|
||||
nhUse(w);
|
||||
nhUse(call_data);
|
||||
|
||||
menu_popdown(wp);
|
||||
}
|
||||
|
||||
@@ -356,6 +371,9 @@ menu_cancel(w, client_data, call_data)
|
||||
{
|
||||
struct xwindow *wp = (struct xwindow *) client_data;
|
||||
|
||||
nhUse(w);
|
||||
nhUse(call_data);
|
||||
|
||||
if (wp->menu_information->is_active) {
|
||||
select_none(wp);
|
||||
wp->menu_information->cancelled = TRUE;
|
||||
@@ -369,6 +387,9 @@ menu_all(w, client_data, call_data)
|
||||
Widget w;
|
||||
XtPointer client_data, call_data;
|
||||
{
|
||||
nhUse(w);
|
||||
nhUse(call_data);
|
||||
|
||||
select_all((struct xwindow *) client_data);
|
||||
}
|
||||
|
||||
@@ -378,6 +399,9 @@ menu_none(w, client_data, call_data)
|
||||
Widget w;
|
||||
XtPointer client_data, call_data;
|
||||
{
|
||||
nhUse(w);
|
||||
nhUse(call_data);
|
||||
|
||||
select_none((struct xwindow *) client_data);
|
||||
}
|
||||
|
||||
@@ -387,6 +411,9 @@ menu_invert(w, client_data, call_data)
|
||||
Widget w;
|
||||
XtPointer client_data, call_data;
|
||||
{
|
||||
nhUse(w);
|
||||
nhUse(call_data);
|
||||
|
||||
invert_all((struct xwindow *) client_data);
|
||||
}
|
||||
|
||||
@@ -400,6 +427,9 @@ menu_search(w, client_data, call_data)
|
||||
struct menu_info_t *menu_info = wp->menu_information;
|
||||
char buf[BUFSZ+2], tmpbuf[BUFSZ];
|
||||
|
||||
nhUse(w);
|
||||
nhUse(call_data);
|
||||
|
||||
X11_getlin("Search for:", tmpbuf);
|
||||
if (!*tmpbuf || *tmpbuf == '\033') return;
|
||||
/* convert "string" into "*string*" for use with pmatch() */
|
||||
@@ -613,6 +643,9 @@ X11_add_menu(window, glyph, identifier, ch, gch, attr, str, preselected)
|
||||
x11_menu_item *item;
|
||||
struct menu_info_t *menu_info;
|
||||
|
||||
nhUse(glyph);
|
||||
nhUse(preselected); /*FIXME*/
|
||||
|
||||
check_winid(window);
|
||||
menu_info = window_list[window].menu_information;
|
||||
if (!menu_info->is_menu) {
|
||||
@@ -804,10 +837,10 @@ X11_select_menu(window, how, menu_list)
|
||||
|
||||
num_args = 0;
|
||||
XtSetArg(args[num_args], XtNborderWidth, 0); num_args++;
|
||||
XtSetArg(args[num_args], XtNtop, XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], XtNbottom, XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], XtNleft, XtChainLeft); num_args++;
|
||||
XtSetArg(args[num_args], XtNright, XtChainLeft); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNtop), XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNbottom), XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNleft), XtChainLeft); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNright), XtChainLeft); num_args++;
|
||||
|
||||
if (labeled)
|
||||
label = XtCreateManagedWidget(menu_info->new_menu.query,
|
||||
@@ -820,11 +853,11 @@ X11_select_menu(window, how, menu_list)
|
||||
* Create ok, cancel, all, none, invert, and search buttons..
|
||||
*/
|
||||
num_args = 0;
|
||||
XtSetArg(args[num_args], XtNfromVert, label); num_args++;
|
||||
XtSetArg(args[num_args], XtNtop, XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], XtNbottom, XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], XtNleft, XtChainLeft); num_args++;
|
||||
XtSetArg(args[num_args], XtNright, XtChainLeft); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNfromVert), label); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNtop), XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNbottom), XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNleft), XtChainLeft); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNright), XtChainLeft); num_args++;
|
||||
ok = XtCreateManagedWidget("OK",
|
||||
commandWidgetClass,
|
||||
form,
|
||||
@@ -832,13 +865,14 @@ X11_select_menu(window, how, menu_list)
|
||||
XtAddCallback(ok, XtNcallback, menu_ok, (XtPointer) wp);
|
||||
|
||||
num_args = 0;
|
||||
XtSetArg(args[num_args], XtNfromVert, label); num_args++;
|
||||
XtSetArg(args[num_args], XtNfromHoriz, ok); num_args++;
|
||||
XtSetArg(args[num_args], XtNsensitive, how!=PICK_NONE); num_args++;
|
||||
XtSetArg(args[num_args], XtNtop, XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], XtNbottom, XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], XtNleft, XtChainLeft); num_args++;
|
||||
XtSetArg(args[num_args], XtNright, XtChainLeft); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNfromVert), label); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNfromHoriz), ok); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNsensitive),
|
||||
how != PICK_NONE); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNtop), XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNbottom), XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNleft), XtChainLeft); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNright), XtChainLeft); num_args++;
|
||||
cancel = XtCreateManagedWidget("cancel",
|
||||
commandWidgetClass,
|
||||
form,
|
||||
@@ -847,13 +881,13 @@ X11_select_menu(window, how, menu_list)
|
||||
|
||||
sens = (how == PICK_ANY);
|
||||
num_args = 0;
|
||||
XtSetArg(args[num_args], XtNfromVert, label); num_args++;
|
||||
XtSetArg(args[num_args], XtNfromHoriz, cancel); num_args++;
|
||||
XtSetArg(args[num_args], XtNsensitive, sens); num_args++;
|
||||
XtSetArg(args[num_args], XtNtop, XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], XtNbottom, XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], XtNleft, XtChainLeft); num_args++;
|
||||
XtSetArg(args[num_args], XtNright, XtChainLeft); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNfromVert), label); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNfromHoriz), cancel); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNsensitive), sens); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNtop), XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNbottom), XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNleft), XtChainLeft); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNright), XtChainLeft); num_args++;
|
||||
all = XtCreateManagedWidget("all",
|
||||
commandWidgetClass,
|
||||
form,
|
||||
@@ -861,13 +895,13 @@ X11_select_menu(window, how, menu_list)
|
||||
XtAddCallback(all, XtNcallback, menu_all, (XtPointer) wp);
|
||||
|
||||
num_args = 0;
|
||||
XtSetArg(args[num_args], XtNfromVert, label); num_args++;
|
||||
XtSetArg(args[num_args], XtNfromHoriz, all); num_args++;
|
||||
XtSetArg(args[num_args], XtNsensitive, sens); num_args++;
|
||||
XtSetArg(args[num_args], XtNtop, XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], XtNbottom, XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], XtNleft, XtChainLeft); num_args++;
|
||||
XtSetArg(args[num_args], XtNright, XtChainLeft); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNfromVert), label); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNfromHoriz), all); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNsensitive), sens); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNtop), XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNbottom), XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNleft), XtChainLeft); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNright), XtChainLeft); num_args++;
|
||||
none = XtCreateManagedWidget("none",
|
||||
commandWidgetClass,
|
||||
form,
|
||||
@@ -875,13 +909,13 @@ X11_select_menu(window, how, menu_list)
|
||||
XtAddCallback(none, XtNcallback, menu_none, (XtPointer) wp);
|
||||
|
||||
num_args = 0;
|
||||
XtSetArg(args[num_args], XtNfromVert, label); num_args++;
|
||||
XtSetArg(args[num_args], XtNfromHoriz, none); num_args++;
|
||||
XtSetArg(args[num_args], XtNsensitive, sens); num_args++;
|
||||
XtSetArg(args[num_args], XtNtop, XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], XtNbottom, XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], XtNleft, XtChainLeft); num_args++;
|
||||
XtSetArg(args[num_args], XtNright, XtChainLeft); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNfromVert), label); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNfromHoriz), none); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNsensitive), sens); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNtop), XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNbottom), XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNleft), XtChainLeft); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNright), XtChainLeft); num_args++;
|
||||
invert = XtCreateManagedWidget("invert",
|
||||
commandWidgetClass,
|
||||
form,
|
||||
@@ -889,13 +923,14 @@ X11_select_menu(window, how, menu_list)
|
||||
XtAddCallback(invert, XtNcallback, menu_invert, (XtPointer) wp);
|
||||
|
||||
num_args = 0;
|
||||
XtSetArg(args[num_args], XtNfromVert, label); num_args++;
|
||||
XtSetArg(args[num_args], XtNfromHoriz, invert); num_args++;
|
||||
XtSetArg(args[num_args], XtNsensitive, how!=PICK_NONE); num_args++;
|
||||
XtSetArg(args[num_args], XtNtop, XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], XtNbottom, XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], XtNleft, XtChainLeft); num_args++;
|
||||
XtSetArg(args[num_args], XtNright, XtChainLeft); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNfromVert), label); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNfromHoriz), invert); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNsensitive),
|
||||
how != PICK_NONE); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNtop), XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNbottom), XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNleft), XtChainLeft); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNright), XtChainLeft); num_args++;
|
||||
search = XtCreateManagedWidget("search",
|
||||
commandWidgetClass,
|
||||
form,
|
||||
@@ -903,18 +938,18 @@ X11_select_menu(window, how, menu_list)
|
||||
XtAddCallback(search, XtNcallback, menu_search, (XtPointer) wp);
|
||||
|
||||
num_args = 0;
|
||||
XtSetArg(args[num_args], XtNallowVert, True); num_args++;
|
||||
XtSetArg(args[num_args], XtNallowHoriz, False); num_args++;
|
||||
XtSetArg(args[num_args], XtNuseBottom, True); num_args++;
|
||||
XtSetArg(args[num_args], XtNuseRight, True); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNallowVert), True); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNallowHoriz), False); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNuseBottom), True); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNuseRight), True); num_args++;
|
||||
/*
|
||||
XtSetArg(args[num_args], XtNforceBars, True); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNforceBars), True); num_args++;
|
||||
*/
|
||||
XtSetArg(args[num_args], XtNfromVert, all); num_args++;
|
||||
XtSetArg(args[num_args], XtNtop, XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], XtNbottom, XtChainBottom); num_args++;
|
||||
XtSetArg(args[num_args], XtNleft, XtChainLeft); num_args++;
|
||||
XtSetArg(args[num_args], XtNright, XtChainRight); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNfromVert), all); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNtop), XtChainTop); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNbottom), XtChainBottom); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNleft), XtChainLeft); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNright), XtChainRight); num_args++;
|
||||
viewport_widget = XtCreateManagedWidget(
|
||||
"menu_viewport", /* name */
|
||||
viewportWidgetClass,
|
||||
@@ -925,15 +960,15 @@ X11_select_menu(window, how, menu_list)
|
||||
move_menu(&menu_info->new_menu, &menu_info->curr_menu);
|
||||
|
||||
num_args = 0;
|
||||
XtSetArg(args[num_args], XtNforceColumns, True); num_args++;
|
||||
XtSetArg(args[num_args], XtNcolumnSpacing, 1); num_args++;
|
||||
XtSetArg(args[num_args], XtNdefaultColumns, 1); num_args++;
|
||||
XtSetArg(args[num_args], XtNlist,
|
||||
XtSetArg(args[num_args], nhStr(XtNforceColumns), True); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNcolumnSpacing), 1); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNdefaultColumns), 1); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNlist),
|
||||
menu_info->curr_menu.list_pointer); num_args++;
|
||||
#ifdef USE_FWF
|
||||
XtSetArg(args[num_args], XtNsensitiveArray,
|
||||
XtSetArg(args[num_args], nhStr(XtNsensitiveArray),
|
||||
menu_info->curr_menu.sensitive); num_args++;
|
||||
XtSetArg(args[num_args], XtNmaxSelectable,
|
||||
XtSetArg(args[num_args], nhStr(XtNmaxSelectable),
|
||||
menu_info->curr_menu.count); num_args++;
|
||||
#endif
|
||||
wp->w = XtCreateManagedWidget(
|
||||
@@ -956,7 +991,8 @@ X11_select_menu(window, how, menu_list)
|
||||
&menu_info->internal_height); num_args++;
|
||||
XtSetArg(args[num_args], XtNinternalWidth,
|
||||
&menu_info->internal_width); num_args++;
|
||||
XtSetArg(args[num_args], XtNrowSpacing, &row_spacing); num_args++;
|
||||
XtSetArg(args[num_args], nhStr(XtNrowSpacing),
|
||||
&row_spacing); num_args++;
|
||||
XtGetValues(wp->w, args, num_args);
|
||||
|
||||
/* font height is ascent + descent */
|
||||
|
||||
Reference in New Issue
Block a user