int values[MAX_OPTIONS];
ChessProgramState *currentCps;
+int dialogError;
static Option *currentOption;
static Boolean browserUp;
ButtonCallback *comboCallback;
void
GenericPopDown (Widget w, XEvent *event, String *prms, Cardinal *nprms)
{
- if(browserUp) return; // prevent closing dialog when it has an open file-browse daughter
+ if(browserUp || dialogError) return; // prevent closing dialog when it has an open file-browse daughter
PopDown(prms[0][0] - '0');
}
{ 0, 0, 0, NULL, (void*) &appData.savePositionFile, ".fen", NULL, FileName, N_("Save Final Positions on File:") },
{ 0, 0, 0, NULL, (void*) &appData.pgnEventHeader, "", NULL, TextBox, N_("PGN Event Header:") },
{ 0, 0, 0, NULL, (void*) &appData.oldSaveStyle, "", NULL, CheckBox, N_("Old Save Style (as opposed to PGN)") },
+{ 0, 0, 0, NULL, (void*) &appData.numberTag, "", NULL, CheckBox, N_("Include Number Tag in tourney PGN") },
{ 0, 0, 0, NULL, (void*) &appData.saveExtendedInfoInPGN, "", NULL, CheckBox, N_("Save Score/Depth Info in PGN") },
{ 0, 0, 0, NULL, (void*) &appData.saveOutOfBookInfo, "", NULL, CheckBox, N_("Save Out-of-Book Info in PGN ") },
{ 0, 1, 0, NULL, NULL, "", NULL, EndMark , "" }
Option boardOptions[] = {
{ 0, 0, 70, NULL, (void*) &appData.whitePieceColor, "", NULL, TextBox, N_("White Piece Color:") },
{ 1000, 1, 0, NULL, (void*) &DefColor, NULL, (char**) "#FFFFCC", Button, " " },
+/* TRANSLATORS: R = single letter for the color red */
{ 1, 1, 0, NULL, (void*) &AdjustColor, NULL, NULL, Button, N_("R") },
+/* TRANSLATORS: G = single letter for the color green */
{ 2, 1, 0, NULL, (void*) &AdjustColor, NULL, NULL, Button, N_("G") },
+/* TRANSLATORS: B = single letter for the color blue */
{ 3, 1, 0, NULL, (void*) &AdjustColor, NULL, NULL, Button, N_("B") },
+/* TRANSLATORS: D = single letter to make a color darker */
{ 4, 1, 0, NULL, (void*) &AdjustColor, NULL, NULL, Button, N_("D") },
{ 0, 0, 70, NULL, (void*) &appData.blackPieceColor, "", NULL, TextBox, N_("Black Piece Color:") },
{ 1000, 1, 0, NULL, (void*) &DefColor, NULL, (char**) "#202020", Button, " " },
XtSetArg(args[j], XtNfromVert, last); j++;
XtSetArg(args[j], XtNleft, XtChainLeft); j++;
XtSetArg(args[j], XtNright, XtChainLeft); j++;
+ XtSetArg(args[j], XtNheight, textHeight), j++;
XtSetArg(args[j], XtNborderWidth, 0); j++;
XtSetArg(args[j], XtNjustify, XtJustifyLeft); j++;
XtSetArg(args[j], XtNlabel, _(option[i].name)); j++;
XtSetArg(args[j], XtNfromHoriz, dialog); j++;
XtSetArg(args[j], XtNborderWidth, 1); j++;
XtSetArg(args[j], XtNwidth, w); j++;
- XtSetArg(args[j], XtNheight, textHeight); j++; // [HGM] use message widget
if(option[i].type == TextBox && option[i].min) {
- XtSetArg(args[j-1], XtNheight, option[i].min); // overwrite
+ XtSetArg(args[j], XtNheight, option[i].min); j++;
if(option[i].value & 1) { XtSetArg(args[j], XtNscrollVertical, XawtextScrollAlways); j++; }
if(option[i].value & 2) { XtSetArg(args[j], XtNscrollHorizontal, XawtextScrollAlways); j++; }
if(option[i].value & 4) { XtSetArg(args[j], XtNautoFill, True); j++; }
msg = _("browse"); w = 0;
/* automatically scale to width of text */
XtSetArg(args[j], XtNwidth, (XtArgVal) NULL ); j++;
+ if(textHeight) XtSetArg(args[j], XtNheight, textHeight), j++;
} else {
w = 20; msg = "+";
- XtSetArg(args[j], XtNheight, 10); j++;
+ XtSetArg(args[j], XtNheight, textHeight/2); j++;
XtSetArg(args[j], XtNwidth, w); j++;
}
edit = XtCreateManagedWidget(msg, commandWidgetClass, form, args, j);
j=0;
XtSetArg(args[j], XtNfromVert, edit); j++;
XtSetArg(args[j], XtNfromHoriz, last); j++;
- XtSetArg(args[j], XtNheight, 10); j++;
+ XtSetArg(args[j], XtNvertDistance, -1); j++;
+ XtSetArg(args[j], XtNheight, textHeight/2); j++;
XtSetArg(args[j], XtNwidth, 20); j++;
XtSetArg(args[j], XtNleft, XtChainRight); j++;
XtSetArg(args[j], XtNright, XtChainRight); j++;
break;
case CheckBox:
if(!currentCps) option[i].value = *(Boolean*)option[i].target;
- j=0; // space holder
- XtSetArg(args[j], XtNfromVert, last); j++;
- XtSetArg(args[j], XtNwidth, 10); j++;
- XtSetArg(args[j], XtNheight, textHeight-22); j++;
- XtSetArg(args[j], XtNleft, XtChainLeft); j++;
- XtSetArg(args[j], XtNright, XtChainLeft); j++;
- XtSetArg(args[j], XtNborderWidth, 0); j++;
- if(textHeight < 24) dialog = last; else
- dialog = XtCreateManagedWidget(" ", labelWidgetClass, form, args, j);
j=0;
- XtSetArg(args[j], XtNfromVert, dialog); j++;
- XtSetArg(args[j], XtNwidth, 10); j++;
- XtSetArg(args[j], XtNheight, 10); j++;
+ XtSetArg(args[j], XtNfromVert, last); j++;
+ XtSetArg(args[j], XtNvertDistance, (textHeight+2)/4 + 3); j++;
+ XtSetArg(args[j], XtNwidth, textHeight/2); j++;
+ XtSetArg(args[j], XtNheight, textHeight/2); j++;
XtSetArg(args[j], XtNleft, XtChainLeft); j++;
XtSetArg(args[j], XtNright, XtChainLeft); j++;
XtSetArg(args[j], XtNstate, option[i].value); j++;
j=0;
XtSetArg(args[j], XtNfromVert, last); j++;
XtSetArg(args[j], XtNfromHoriz, option[i].type != Label ? dialog : NULL); j++;
+ if(option[i].type != Label) XtSetArg(args[j], XtNheight, textHeight), j++;
XtSetArg(args[j], XtNleft, XtChainLeft); j++;
XtSetArg(args[j], XtNborderWidth, 0); j++;
XtSetArg(args[j], XtNjustify, XtJustifyLeft); j++;
if(option[i].min & SAME_ROW) {
XtSetArg(args[j], XtNfromVert, lastrow); j++;
XtSetArg(args[j], XtNfromHoriz, last); j++;
+ XtSetArg(args[j], XtNleft, XtChainRight); j++;
+ XtSetArg(args[j], XtNright, XtChainRight); j++;
} else {
XtSetArg(args[j], XtNfromVert, last); j++;
XtSetArg(args[j], XtNfromHoriz, NULL); j++; lastrow = forelast;
}
XtSetArg(args[j], XtNlabel, _(option[i].name)); j++;
+ XtSetArg(args[j], XtNheight, textHeight), j++;
if(option[i].max) { XtSetArg(args[j], XtNwidth, option[i].max); j++; }
if(option[i].textValue) { // special for buttons of New Variant dialog
XtSetArg(args[j], XtNsensitive, appData.noChessProgram || option[i].value < 0
XtSetArg(args[j], XtNfromVert, last); j++;
XtSetArg(args[j], XtNleft, XtChainLeft); j++;
XtSetArg(args[j], XtNright, XtChainLeft); j++;
+ XtSetArg(args[j], XtNheight, textHeight), j++;
XtSetArg(args[j], XtNborderWidth, 0); j++;
XtSetArg(args[j], XtNjustify, XtJustifyLeft); j++;
XtSetArg(args[j], XtNlabel, _(option[i].name)); j++;
XtSetArg(args[j], XtNleft, XtChainLeft); j++;
XtSetArg(args[j], XtNmenuName, XtNewString(option[i].name)); j++;
XtSetArg(args[j], XtNlabel, _(((char**)option[i].textValue)[option[i].value])); j++;
+ XtSetArg(args[j], XtNheight, textHeight), j++;
option[i].handle = (void*)
(last = XtCreateManagedWidget(" ", menuButtonWidgetClass, form, args, j));
CreateComboPopup(last, option + i, i);
XtSetArg(args[j], XtNtop, XtChainBottom); j++;
XtSetArg(args[j], XtNleft, XtChainRight); j++;
XtSetArg(args[j], XtNright, XtChainRight); j++;
+ XtSetArg(args[j], XtNheight, textHeight), j++;
b_ok = XtCreateManagedWidget(_("OK"), commandWidgetClass, form, args, j);
XtAddCallback(b_ok, XtNcallback, GenericCallback, (XtPointer)(intptr_t) dlgNr + (dlgNr<<16));