float top, bottom, f, g;
HighlightListBoxItem(opt, sel);
if(!ReadScroll(opt, &top, &bottom)) return; // no scroll bar
- bottom = bottom*max - 1.;
+ bottom = bottom*max - 1.f;
f = g = top;
top *= max;
- if(sel > (top + 3*bottom)/4) f = (sel - 0.75*(bottom-top))/max; else
- if(sel < (3*top + bottom)/4) f = (sel - 0.25*(bottom-top))/max;
- if(f < 0.) f = 0.; if(f + 1./max > 1.) f = 1. - 1./max;
+ if(sel > (top + 3*bottom)/4) f = (sel - 0.75f*(bottom-top))/max; else
+ if(sel < (3*top + bottom)/4) f = (sel - 0.25f*(bottom-top))/max;
+ if(f < 0.f) f = 0.; if(f + 1.f/max > 1.f) f = 1. - 1./max;
if(f != g) SetScroll(opt, f);
}
static Widget
CreateComboPopup (Widget parent, Option *opt, int n, int fromList, int def)
{ // fromList determines if the item texts are taken from a list of strings, or from a menu table
- int i, j;
+ int i;
Widget menu, entry;
Arg arg;
MenuItem *mb = (MenuItem *) opt->choice;
for (i=0; 1; i++)
{
- char *msg = fromList ? list[i] : mb[i].string, *msg2;
+ char *msg = fromList ? list[i] : mb[i].string;
if(!msg) break;
entry = CreateMenuItem(menu, opt->min & NO_GETTEXT ? msg : _(msg), (XtCallbackProc) ComboSelect, (n<<16)+i);
if(!fromList) mb[i].handle = (void*) entry; // save item ID, for enabling / checkmarking
int j=0, n = atoi(prms[0]);
static char *params[3] = { "", "Continuous", "Proportional" };
Arg args[16];
- float f, h, top;
+ float h, top;
Widget v;
if(!n) { // transient dialogs also use this for list-selection callback
n = prms[1][0]-'0';
XtSetArg(args[j], XtNshown, &h); j++;
XtSetArg(args[j], XtNtopOfThumb, &top); j++;
XtGetValues(v, args, j);
- top += 0.1*h*n; if(top < 0.) top = 0.;
+ top += 0.1f*h*n; if(top < 0.f) top = 0.;
XtCallActionProc(v, "StartScroll", event, params+1, 1);
XawScrollbarSetThumb(v, top, -1.0);
XtCallActionProc(v, "NotifyThumb", event, params, 0);
static void
SqueezeIntoBox (Option *opt, int nr, int width)
{ // size buttons in bar to fit, clipping button names where necessary
- int i, j, wtot = 0;
+ int i, wtot = 0;
Dimension widths[20], oldWidths[20];
Arg arg;
for(i=1; i<nr; i++) {
char def[MSG_SIZ], *msg, engineDlg = (currentCps != NULL && dlgNr != BrowserDlg);
static char pane[6] = "paneX";
Widget texts[100], forelast = NULL, anchor, widest, lastrow = NULL, browse = NULL;
- Dimension bWidth = 50, m;
+ Dimension bWidth = 50;
if(dlgNr < PromoDlg && shellUp[dlgNr]) return 0; // already up
if(dlgNr && dlgNr < PromoDlg && shells[dlgNr]) { // reusable, and used before (but popped down)
forelast = lastrow;
} else chain = 0, shrink = FALSE;
j = SetPositionAndSize(args, last, lastrow, 3 /* border */,
- option[i].max /* w */, shrink ? textHeight : 0 /* h */, chain /* chain */);
+ option[i].max /* w */, shrink ? textHeight : 0 /* h */, option[i].min & 0xE | chain /* chain */);
XtSetArg(args[j], XtNlabel, _(option[i].name)); j++;
if(option[i].textValue) { // special for buttons of New Variant dialog
XtSetArg(args[j], XtNsensitive, appData.noChessProgram || option[i].value < 0