struct History *hist=0;
String dots=" ... ";
-
+Position gameHistoryX, gameHistoryY;
void
HistoryPopDown(w, client_data, call_data)
Widget w;
{
Arg args[16];
int j;
- if(hist)
-
- XtPopdown(hist->sh);
- hist->Up=False;
+ if(hist) {
+ // [HGM] remember old position
+ j = 0;
+ XtSetArg(args[j], XtNx, &gameHistoryX); j++;\r
+ XtSetArg(args[j], XtNy, &gameHistoryY); j++;\r
+ XtGetValues(hist->sh, args, j);\r
+ XtPopdown(hist->sh);
+ hist->Up=False;
+ }
j=0;
XtSetArg(args[j], XtNleftBitmap, None); j++;
- XtSetValues(XtNameToWidget(menuBarWidget, "menuMode.Show Move List"),
+ XtSetValues(XtNameToWidget(menuBarWidget, "menuMode.Show Move History"),
args, j);
}
void HistoryMoveProc(Widget w, XtPointer closure, XtPointer call_data)
{
int to;
+
XawListReturnStruct *R = (XawListReturnStruct *) call_data;
if (w == hist->mvn || w == hist->mvw) {
to=2*R->list_index-1;
strcpy(hist->black[i],"");
}
+ // [HGM] remember old position
+ j = 0;
+ XtSetArg(args[j], XtNx, &gameHistoryX); j++;\r
+ XtSetArg(args[j], XtNy, &gameHistoryY); j++;\r
+ XtGetValues(hist->sh, args, j);\r
+
return hist->sh;
}
if(!hist) HistoryCreate();
XtPopup(hist->sh, XtGrabNone);
+
+ // [HGM] restore old position
+ j = 0;
+ XtSetArg(args[j], XtNx, gameHistoryX); j++;\r
+ XtSetArg(args[j], XtNy, gameHistoryY); j++;\r
+ XtSetValues(hist->sh, args, j);\r
+
j=0;
XtSetArg(args[j], XtNleftBitmap, xMarkPixmap); j++;
- XtSetValues(XtNameToWidget(menuBarWidget, "menuMode.Show Move List"),
+ XtSetValues(XtNameToWidget(menuBarWidget, "menuMode.Show Move History"),
args, j);
hist->Up=True;
}