X11 menus
Make the six buttons (ok, cancel, all, none, invert, search) on menus for X11 all have the same width. 'ok' should probably be changed to 'okay' to be consistent with X11_getlin(). (Another inconsistency: the extended commands menu uses 'dismiss' rather than 'cancel'.)
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 winmenu.c $NHDT-Date: 1432512809 2015/05/25 00:13:29 $ $NHDT-Branch: master $:$NHDT-Revision: 1.12 $ */
|
/* NetHack 3.6 winmenu.c $NHDT-Date: 1453448854 2016/01/22 07:47:34 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.13 $ */
|
||||||
/* Copyright (c) Dean Luick, 1992 */
|
/* Copyright (c) Dean Luick, 1992 */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
|
|
||||||
@@ -739,10 +739,10 @@ menu_item **menu_list;
|
|||||||
Cardinal num_args;
|
Cardinal num_args;
|
||||||
String *ptr;
|
String *ptr;
|
||||||
int retval;
|
int retval;
|
||||||
Dimension v_pixel_width, v_pixel_height;
|
Dimension v_pixel_width, v_pixel_height, lblwidth[6], maxlblwidth;
|
||||||
boolean labeled;
|
boolean labeled;
|
||||||
Widget viewport_widget, form, label, ok, cancel, all, none, invert,
|
Widget viewport_widget, form, label,
|
||||||
search;
|
ok, cancel, all, none, invert, search, lblwidget[6];
|
||||||
Boolean sens;
|
Boolean sens;
|
||||||
#ifdef USE_FWF
|
#ifdef USE_FWF
|
||||||
Boolean *boolp;
|
Boolean *boolp;
|
||||||
@@ -866,6 +866,7 @@ menu_item **menu_list;
|
|||||||
/*
|
/*
|
||||||
* Create ok, cancel, all, none, invert, and search buttons..
|
* Create ok, cancel, all, none, invert, and search buttons..
|
||||||
*/
|
*/
|
||||||
|
maxlblwidth = 0;
|
||||||
num_args = 0;
|
num_args = 0;
|
||||||
XtSetArg(args[num_args], nhStr(XtNfromVert), label);
|
XtSetArg(args[num_args], nhStr(XtNfromVert), label);
|
||||||
num_args++;
|
num_args++;
|
||||||
@@ -880,6 +881,10 @@ menu_item **menu_list;
|
|||||||
ok = XtCreateManagedWidget("OK", commandWidgetClass, form, args,
|
ok = XtCreateManagedWidget("OK", commandWidgetClass, form, args,
|
||||||
num_args);
|
num_args);
|
||||||
XtAddCallback(ok, XtNcallback, menu_ok, (XtPointer) wp);
|
XtAddCallback(ok, XtNcallback, menu_ok, (XtPointer) wp);
|
||||||
|
XtSetArg(args[0], XtNwidth, &lblwidth[0]);
|
||||||
|
XtGetValues(lblwidget[0] = ok, args, ONE);
|
||||||
|
if (lblwidth[0] > maxlblwidth)
|
||||||
|
maxlblwidth = lblwidth[0];
|
||||||
|
|
||||||
num_args = 0;
|
num_args = 0;
|
||||||
XtSetArg(args[num_args], nhStr(XtNfromVert), label);
|
XtSetArg(args[num_args], nhStr(XtNfromVert), label);
|
||||||
@@ -899,6 +904,10 @@ menu_item **menu_list;
|
|||||||
cancel = XtCreateManagedWidget("cancel", commandWidgetClass, form,
|
cancel = XtCreateManagedWidget("cancel", commandWidgetClass, form,
|
||||||
args, num_args);
|
args, num_args);
|
||||||
XtAddCallback(cancel, XtNcallback, menu_cancel, (XtPointer) wp);
|
XtAddCallback(cancel, XtNcallback, menu_cancel, (XtPointer) wp);
|
||||||
|
XtSetArg(args[0], XtNwidth, &lblwidth[1]);
|
||||||
|
XtGetValues(lblwidget[1] = cancel, args, ONE);
|
||||||
|
if (lblwidth[1] > maxlblwidth)
|
||||||
|
maxlblwidth = lblwidth[1];
|
||||||
|
|
||||||
sens = (how == PICK_ANY);
|
sens = (how == PICK_ANY);
|
||||||
num_args = 0;
|
num_args = 0;
|
||||||
@@ -919,6 +928,10 @@ menu_item **menu_list;
|
|||||||
all = XtCreateManagedWidget("all", commandWidgetClass, form, args,
|
all = XtCreateManagedWidget("all", commandWidgetClass, form, args,
|
||||||
num_args);
|
num_args);
|
||||||
XtAddCallback(all, XtNcallback, menu_all, (XtPointer) wp);
|
XtAddCallback(all, XtNcallback, menu_all, (XtPointer) wp);
|
||||||
|
XtSetArg(args[0], XtNwidth, &lblwidth[2]);
|
||||||
|
XtGetValues(lblwidget[2] = all, args, ONE);
|
||||||
|
if (lblwidth[2] > maxlblwidth)
|
||||||
|
maxlblwidth = lblwidth[2];
|
||||||
|
|
||||||
num_args = 0;
|
num_args = 0;
|
||||||
XtSetArg(args[num_args], nhStr(XtNfromVert), label);
|
XtSetArg(args[num_args], nhStr(XtNfromVert), label);
|
||||||
@@ -938,6 +951,10 @@ menu_item **menu_list;
|
|||||||
none = XtCreateManagedWidget("none", commandWidgetClass, form, args,
|
none = XtCreateManagedWidget("none", commandWidgetClass, form, args,
|
||||||
num_args);
|
num_args);
|
||||||
XtAddCallback(none, XtNcallback, menu_none, (XtPointer) wp);
|
XtAddCallback(none, XtNcallback, menu_none, (XtPointer) wp);
|
||||||
|
XtSetArg(args[0], XtNwidth, &lblwidth[3]);
|
||||||
|
XtGetValues(lblwidget[3] = none, args, ONE);
|
||||||
|
if (lblwidth[3] > maxlblwidth)
|
||||||
|
maxlblwidth = lblwidth[3];
|
||||||
|
|
||||||
num_args = 0;
|
num_args = 0;
|
||||||
XtSetArg(args[num_args], nhStr(XtNfromVert), label);
|
XtSetArg(args[num_args], nhStr(XtNfromVert), label);
|
||||||
@@ -957,6 +974,10 @@ menu_item **menu_list;
|
|||||||
invert = XtCreateManagedWidget("invert", commandWidgetClass, form,
|
invert = XtCreateManagedWidget("invert", commandWidgetClass, form,
|
||||||
args, num_args);
|
args, num_args);
|
||||||
XtAddCallback(invert, XtNcallback, menu_invert, (XtPointer) wp);
|
XtAddCallback(invert, XtNcallback, menu_invert, (XtPointer) wp);
|
||||||
|
XtSetArg(args[0], XtNwidth, &lblwidth[4]);
|
||||||
|
XtGetValues(lblwidget[4] = invert, args, ONE);
|
||||||
|
if (lblwidth[4] > maxlblwidth)
|
||||||
|
maxlblwidth = lblwidth[4];
|
||||||
|
|
||||||
num_args = 0;
|
num_args = 0;
|
||||||
XtSetArg(args[num_args], nhStr(XtNfromVert), label);
|
XtSetArg(args[num_args], nhStr(XtNfromVert), label);
|
||||||
@@ -976,6 +997,20 @@ menu_item **menu_list;
|
|||||||
search = XtCreateManagedWidget("search", commandWidgetClass, form,
|
search = XtCreateManagedWidget("search", commandWidgetClass, form,
|
||||||
args, num_args);
|
args, num_args);
|
||||||
XtAddCallback(search, XtNcallback, menu_search, (XtPointer) wp);
|
XtAddCallback(search, XtNcallback, menu_search, (XtPointer) wp);
|
||||||
|
XtSetArg(args[0], XtNwidth, &lblwidth[5]);
|
||||||
|
XtGetValues(lblwidget[5] = search, args, ONE);
|
||||||
|
if (lblwidth[5] > maxlblwidth)
|
||||||
|
maxlblwidth = lblwidth[5];
|
||||||
|
|
||||||
|
/* make all buttons be the same width */
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
XtSetArg(args[0], XtNwidth, maxlblwidth);
|
||||||
|
for (i = 0; i < 6; ++i)
|
||||||
|
if (lblwidth[i] < maxlblwidth)
|
||||||
|
XtSetValues(lblwidget[i], args, ONE);
|
||||||
|
}
|
||||||
|
|
||||||
num_args = 0;
|
num_args = 0;
|
||||||
XtSetArg(args[num_args], nhStr(XtNallowVert), True);
|
XtSetArg(args[num_args], nhStr(XtNallowVert), True);
|
||||||
@@ -986,10 +1021,9 @@ menu_item **menu_list;
|
|||||||
num_args++;
|
num_args++;
|
||||||
XtSetArg(args[num_args], nhStr(XtNuseRight), True);
|
XtSetArg(args[num_args], nhStr(XtNuseRight), True);
|
||||||
num_args++;
|
num_args++;
|
||||||
/*
|
#if 0
|
||||||
XtSetArg(args[num_args], nhStr(XtNforceBars), True);
|
XtSetArg(args[num_args], nhStr(XtNforceBars), True); num_args++;
|
||||||
num_args++;
|
#endif
|
||||||
*/
|
|
||||||
XtSetArg(args[num_args], nhStr(XtNfromVert), all);
|
XtSetArg(args[num_args], nhStr(XtNfromVert), all);
|
||||||
num_args++;
|
num_args++;
|
||||||
XtSetArg(args[num_args], nhStr(XtNtop), XtChainTop);
|
XtSetArg(args[num_args], nhStr(XtNtop), XtChainTop);
|
||||||
|
|||||||
Reference in New Issue
Block a user