X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=xgamelist.c;h=009356b5689009dab59dcd1da98ea18686b2ca1f;hb=d138c95b1f4dad365548a9d77321f626ef704c90;hp=9ce424bd94fed2e2b88ecdffa2c0f593767a467f;hpb=fb8fa22c61533dc438d2e3152305d3f1253fb24a;p=xboard.git diff --git a/xgamelist.c b/xgamelist.c index 9ce424b..009356b 100644 --- a/xgamelist.c +++ b/xgamelist.c @@ -1,29 +1,24 @@ /* * xgamelist.c -- Game list window, part of X front end for XBoard - * $Id$ * - * Copyright 1995 Free Software Foundation, Inc. - * - * The following terms apply to the enhanced version of XBoard distributed - * by the Free Software Foundation: + * Copyright 1995,2009 Free Software Foundation, Inc. * ------------------------------------------------------------------------ - * This program is free software; you can redistribute it and/or modify + * + * GNU XBoard is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU XBoard is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * ------------------------------------------------------------------------ + * along with this program. If not, see http://www.gnu.org/licenses/. * * - * See the file ChangeLog for a revision history. - */ + *------------------------------------------------------------------------ + ** See the file ChangeLog for a revision history. */ #include "config.h" @@ -96,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; @@ -142,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 @@ -223,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; @@ -460,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; @@ -478,3 +484,9 @@ GameListHighlight(index) listwidg = XtNameToWidget(glc->shell, "*form.viewport.list"); XawListHighlight(listwidg, index - 1); } + +Boolean +GameListIsUp() +{ + return glc && glc->up; +}