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);
}
DialogClass parents[NrOfDialogs];
WindowPlacement *wp[NrOfDialogs] = { // Beware! Order must correspond to DialogClass enum
NULL, &wpComment, &wpTags, NULL, NULL, NULL, NULL, &wpMoveHistory, &wpGameList, &wpEngineOutput, &wpEvalGraph,
- NULL, NULL, NULL, NULL, &wpMain
+ NULL, NULL, NULL, NULL, /*&wpMain*/ NULL
};
int
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);
if(!appData.monoMode) {
if(!b && appData.dialogColor[0]) XtSetArg(args[j], XtNbackground, dialogColor), j++;
if(b == 3 && appData.buttonColor[0]) XtSetArg(args[j], XtNbackground, buttonColor), j++;
- if(b == 3) b = 1;
}
+ if(b == 3) b = 1;
// border
XtSetArg(args[j], XtNborderWidth, b); j++;
return j;
if(option[i].type == FileName || option[i].type == PathName) w -= 55;
j = SetPositionAndSize(args, dialog, last, 1 /* border */,
w /* w */, option[i].type == TextBox ? option[i].value : 0 /* h */, 0x91 /* chain full width */);
- if(option[i].type == TextBox && option[i].value) { // decorations for multi-line text-edits
+ if(option[i].type == TextBox) { // decorations for multi-line text-edits
if(option[i].min & T_VSCRL) { XtSetArg(args[j], XtNscrollVertical, XawtextScrollAlways); j++; }
if(option[i].min & T_HSCRL) { XtSetArg(args[j], XtNscrollHorizontal, XawtextScrollAlways); j++; }
if(option[i].min & T_FILL) { XtSetArg(args[j], XtNautoFill, True); j++; }
if(option[i].min & T_WRAP) { XtSetArg(args[j], XtNwrap, XawtextWrapWord); j++; }
- if(option[i].min & T_TOP) { XtSetArg(args[j], XtNtop, XtChainTop); j++; }
+ if(option[i].min & T_TOP) { XtSetArg(args[j], XtNtop, XtChainTop); j++;
+ if(!option[i].value) { XtSetArg(args[j], XtNbottom, XtChainTop); j++;
+ XtSetValues(dialog, args+j-2, 2);
+ }
+ }
} else shrink = TRUE;
XtSetArg(args[j], XtNeditType, XawtextEdit); j++;
XtSetArg(args[j], XtNuseStringInPlace, False); j++;
#if ENABLE_NLS
if(option[i].choice) XtSetArg(args[j], XtNfontSet, *(XFontSet*)option[i].choice), j++;
#else
- if(option[i].choice) XtSetArg(args[j], XtNfont, *(XFontStruct*)option[i].choice), j++;
+ if(option[i].choice) XtSetArg(args[j], XtNfont, (XFontStruct*)option[i].choice), j++;
#endif
XtSetArg(args[j], XtNresizable, False); j++;
XtSetArg(args[j], XtNjustify, XtJustifyLeft); j++;
(last = XtCreateManagedWidget("graph", widgetClass, form, args, j));
XtAddEventHandler(last, ExposureMask | ButtonPressMask | ButtonReleaseMask | PointerMotionMask, False,
(XtEventHandler) GraphEventProc, option[i].target); // mandatory user-supplied expose handler
+ if(option[i].min & SAME_ROW) last = forelast, forelast = lastrow;
break;
case PopUp: // note: used only after Graph, so 'last' refers to the Graph widget
option[i].handle = (void*) CreateComboPopup(last, option + i, i + 256*dlgNr, TRUE, option[i].value);
XtSetArg(args[0], XtNinsertPosition, pos);
XtSetValues(opt->handle, args, 1);
// SetFocus(opt->handle, shells[InputBoxDlg], NULL, False); // No idea why this does not work, and the following is needed:
- XSetInputFocus(xDisplay, XtWindow(opt->handle), RevertToPointerRoot, CurrentTime);
+// XSetInputFocus(xDisplay, XtWindow(opt->handle), RevertToPointerRoot, CurrentTime);
}
void