X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=xgamelist.c;h=009356b5689009dab59dcd1da98ea18686b2ca1f;hb=72eba140eb3a03c3f84a5906c13556730ea71be5;hp=46e2b200ccb840dfab62258434570c840ebebfa1;hpb=7b4dacf6fe9f8c10b6eb4d6070869a3d933dbeb5;p=xboard.git diff --git a/xgamelist.c b/xgamelist.c index 46e2b20..009356b 100644 --- a/xgamelist.c +++ b/xgamelist.c @@ -91,7 +91,7 @@ extern char *getenv(); #endif -extern Widget formWidget, shellWidget, boardWidget, menuBarWidget; +extern Widget formWidget, shellWidget, boardWidget, menuBarWidget, gameListShell; extern Display *xDisplay; extern int squareSize; extern Pixmap xMarkPixmap; @@ -137,11 +137,11 @@ GameListCreate(name, callback, client_data) XtSetArg(args[j], XtNresizable, True); j++; XtSetArg(args[j], XtNallowShellResize, True); j++; #if TOPLEVEL - shell = + shell = gameListShell = XtCreatePopupShell(name, topLevelShellWidgetClass, shellWidget, args, j); #else - shell = + shell = gameListShell = XtCreatePopupShell(name, transientShellWidgetClass, shellWidget, args, j); #endif @@ -218,6 +218,13 @@ GameListCreate(name, callback, client_data) XtCreateManagedWidget(_("close"), commandWidgetClass, form, args, j); XtAddCallback(b_close, XtNcallback, callback, client_data); + if(wpGameList.width > 0) { + glc->x = wpGameList.x; + glc->y = wpGameList.y; + glc->w = wpGameList.width; + glc->h = wpGameList.height; + } + if (glc->x == -1) { Position y1; Dimension h1; @@ -455,6 +462,10 @@ GameListPopDown() XtSetArg(args[j], XtNheight, &glc->h); j++; XtSetArg(args[j], XtNwidth, &glc->w); j++; XtGetValues(glc->shell, args, j); + wpGameList.x = glc->x - 4; + wpGameList.y = glc->y - 23; + wpGameList.width = glc->w; + wpGameList.height = glc->h; XtPopdown(glc->shell); XtSetKeyboardFocus(shellWidget, formWidget); glc->up = False; @@ -473,3 +484,9 @@ GameListHighlight(index) listwidg = XtNameToWidget(glc->shell, "*form.viewport.list"); XawListHighlight(listwidg, index - 1); } + +Boolean +GameListIsUp() +{ + return glc && glc->up; +}