/*
* 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"
#endif
-extern Widget formWidget, shellWidget, boardWidget, menuBarWidget;
-extern Display *xDisplay;
+extern Widget formWidget, boardWidget, menuBarWidget, gameListShell;
extern int squareSize;
extern Pixmap xMarkPixmap;
extern char *layoutName;
XtSetArg(args[j], XtNresizable, True); j++;
XtSetArg(args[j], XtNallowShellResize, True); j++;
#if TOPLEVEL
- shell =
- XtCreatePopupShell(name, topLevelShellWidgetClass,
- shellWidget, args, j);
+// shell = gameListShell =
+// XtCreatePopupShell(name, topLevelShellWidgetClass,
+// shellWidget, args, j);
#else
- shell =
- XtCreatePopupShell(name, transientShellWidgetClass,
- shellWidget, args, j);
+// shell = gameListShell =
+// XtCreatePopupShell(name, transientShellWidgetClass,
+// shellWidget, args, j);
#endif
layout =
XtCreateManagedWidget(layoutName, formWidgetClass, shell,
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;
glc->w = fw_width * 3/4;
glc->h = squareSize * 3;
- XSync(xDisplay, False);
+ // XSync(xDisplay, False);
#ifdef NOTDEF
/* This code seems to tickle an X bug if it is executed too soon
after xboard starts up. The coordinates get transformed as if
the main window was positioned at (0, 0).
*/
- XtTranslateCoords(shellWidget, (fw_width - glc->w) / 2,
- y1 + (h1 - glc->h + appData.borderYoffset) / 2,
- &glc->x, &glc->y);
+// XtTranslateCoords(shellWidget, (fw_width - glc->w) / 2,
+// y1 + (h1 - glc->h + appData.borderYoffset) / 2,
+// &glc->x, &glc->y);
#else /*!NOTDEF*/
- XTranslateCoordinates(xDisplay, XtWindow(shellWidget),
- RootWindowOfScreen(XtScreen(shellWidget)),
- (fw_width - glc->w) / 2,
- y1 + (h1 - glc->h + appData.borderYoffset) / 2,
- &xx, &yy, &junk);
+// XTranslateCoordinates(xDisplay, XtWindow(shellWidget),
+// RootWindowOfScreen(XtScreen(shellWidget)),
+// (fw_width - glc->w) / 2,
+// y1 + (h1 - glc->h + appData.borderYoffset) / 2,
+// &xx, &yy, &junk);
glc->x = xx;
glc->y = yy;
#endif /*!NOTDEF*/
XtSetValues(shell, args, j);
XtRealizeWidget(shell);
- CatchDeleteWindow(shell, "GameListPopDown");
+ // CatchDeleteWindow(shell, "GameListPopDown");
return shell;
}
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);
+// XtSetKeyboardFocus(shellWidget, formWidget);
glc->up = False;
j = 0;
XtSetArg(args[j], XtNleftBitmap, None); j++;
listwidg = XtNameToWidget(glc->shell, "*form.viewport.list");
XawListHighlight(listwidg, index - 1);
}
+
+Boolean
+GameListIsUp()
+{
+ return glc && glc->up;
+}