}
void
-ShowGameListProc (Widget w, XEvent *event, String *prms, Cardinal *nprms)
+ShowGameListProc ()
{
Arg args[16];
int j;
}
return False;
}
-//--------------------------------- Game-List options dialog ------------------------------------------
-
-Widget gameListOptShell, listwidg;
-
-char *strings[20];
-int stringPtr;
-
-void
-GLT_ClearList ()
-{
- strings[0] = NULL;
- stringPtr = 0;
-}
-
-void
-GLT_AddToList (char *name)
-{
- strings[stringPtr++] = name;
- strings[stringPtr] = NULL;
-}
-
-Boolean
-GLT_GetFromList (int index, char *name)
-{
- safeStrCpy(name, strings[index], MSG_SIZ);
- return TRUE;
-}
-
-void
-GLT_DeSelectList ()
-{
- XawListChange(listwidg, strings, 0, 0, True);
- XawListHighlight(listwidg, 0);
-}
-
-void
-GameListOptionsPopDown ()
-{
- if (gameListOptShell == NULL) return;
-
- XtPopdown(gameListOptShell);
- XtDestroyWidget(gameListOptShell);
- gameListOptShell = 0;
- XtSetKeyboardFocus(shellWidget, formWidget);
-}
-
-void
-GameListOptionsCallback (Widget w, XtPointer client_data, XtPointer call_data)
-{
- String name;
- Arg args[16];
- int j;
- Widget listwidg;
- XawListReturnStruct *rs;
- int index;
- char *p;
-
- j = 0;
- XtSetArg(args[j], XtNlabel, &name); j++;
- XtGetValues(w, args, j);
-
- if (strcmp(name, _("OK")) == 0) {
- GLT_ParseList();
- appData.gameListTags = strdup(lpUserGLT);
- GameListOptionsPopDown();
- return;
- } else
- if (strcmp(name, _("cancel")) == 0) {
- GameListOptionsPopDown();
- return;
- }
- listwidg = XtNameToWidget(gameListOptShell, "*form.list");
- rs = XawListShowCurrent(listwidg);
- index = rs->list_index;
- if (index < 0) {
- DisplayError(_("No tag selected"), 0);
- return;
- }
- p = strings[index];
- if (strcmp(name, _("down")) == 0) {
- if(index >= strlen(GLT_ALL_TAGS)) return;
- strings[index] = strings[index+1];
- strings[++index] = p;
- } else
- if (strcmp(name, _("up")) == 0) {
- if(index == 0) return;
- strings[index] = strings[index-1];
- strings[--index] = p;
- } else
- if (strcmp(name, _("factory")) == 0) {
- safeStrCpy(lpUserGLT, GLT_DEFAULT_TAGS, LPUSERGLT_SIZE);
- GLT_TagsToList(lpUserGLT);
- index = 0;
- }
- XawListHighlight(listwidg, index);
-}
-
-Widget
-GameListOptionsCreate ()
-{
- Arg args[16];
- Widget shell, form, viewport, layout;
- Widget b_load, b_loadprev, b_loadnext, b_close, b_cancel;
- Dimension fw_width;
- XtPointer client_data = NULL;
- int j;
-
- j = 0;
- XtSetArg(args[j], XtNwidth, &fw_width); j++;
- XtGetValues(formWidget, args, j);
-
- j = 0;
- XtSetArg(args[j], XtNresizable, True); j++;
- XtSetArg(args[j], XtNallowShellResize, True); j++;
- shell = gameListOptShell =
- XtCreatePopupShell(_("Game-list options"), transientShellWidgetClass,
- shellWidget, args, j);
- layout =
- XtCreateManagedWidget(layoutName, formWidgetClass, shell,
- layoutArgs, XtNumber(layoutArgs));
- j = 0;
- XtSetArg(args[j], XtNborderWidth, 0); j++;
- form =
- XtCreateManagedWidget("form", formWidgetClass, layout, args, j);
-
- j = 0;
- XtSetArg(args[j], XtNdefaultColumns, 1); j++;
- XtSetArg(args[j], XtNforceColumns, True); j++;
- XtSetArg(args[j], XtNverticalList, True); j++;
- listwidg = viewport =
- XtCreateManagedWidget("list", listWidgetClass, form, args, j);
- XawListHighlight(listwidg, 0);
-// XtAugmentTranslations(listwidg,
-// XtParseTranslationTable(gameListOptTranslations));
-
- j = 0;
- XtSetArg(args[j], XtNfromVert, viewport); j++;
- XtSetArg(args[j], XtNtop, XtChainBottom); j++;
- XtSetArg(args[j], XtNbottom, XtChainBottom); j++;
- XtSetArg(args[j], XtNleft, XtChainLeft); j++;
- XtSetArg(args[j], XtNright, XtChainLeft); j++;
- b_load =
- XtCreateManagedWidget(_("factory"), commandWidgetClass, form, args, j);
- XtAddCallback(b_load, XtNcallback, GameListOptionsCallback, client_data);
-
- j = 0;
- XtSetArg(args[j], XtNfromVert, viewport); j++;
- XtSetArg(args[j], XtNfromHoriz, b_load); j++;
- XtSetArg(args[j], XtNtop, XtChainBottom); j++;
- XtSetArg(args[j], XtNbottom, XtChainBottom); j++;
- XtSetArg(args[j], XtNleft, XtChainLeft); j++;
- XtSetArg(args[j], XtNright, XtChainLeft); j++;
- b_loadprev =
- XtCreateManagedWidget(_("up"), commandWidgetClass, form, args, j);
- XtAddCallback(b_loadprev, XtNcallback, GameListOptionsCallback, client_data);
-
- j = 0;
- XtSetArg(args[j], XtNfromVert, viewport); j++;
- XtSetArg(args[j], XtNfromHoriz, b_loadprev); j++;
- XtSetArg(args[j], XtNtop, XtChainBottom); j++;
- XtSetArg(args[j], XtNbottom, XtChainBottom); j++;
- XtSetArg(args[j], XtNleft, XtChainLeft); j++;
- XtSetArg(args[j], XtNright, XtChainLeft); j++;
- b_loadnext =
- XtCreateManagedWidget(_("down"), commandWidgetClass, form, args, j);
- XtAddCallback(b_loadnext, XtNcallback, GameListOptionsCallback, client_data);
-
- j = 0;
- XtSetArg(args[j], XtNfromVert, viewport); j++;
- XtSetArg(args[j], XtNfromHoriz, b_loadnext); j++;
- XtSetArg(args[j], XtNtop, XtChainBottom); j++;
- XtSetArg(args[j], XtNbottom, XtChainBottom); j++;
- XtSetArg(args[j], XtNleft, XtChainLeft); j++;
- XtSetArg(args[j], XtNright, XtChainLeft); j++;
- b_cancel =
- XtCreateManagedWidget(_("cancel"), commandWidgetClass, form, args, j);
- XtAddCallback(b_cancel, XtNcallback, GameListOptionsCallback, client_data);
-
- j = 0;
- XtSetArg(args[j], XtNfromVert, viewport); j++;
- XtSetArg(args[j], XtNfromHoriz, b_cancel); j++;
- XtSetArg(args[j], XtNtop, XtChainBottom); j++;
- XtSetArg(args[j], XtNbottom, XtChainBottom); j++;
- XtSetArg(args[j], XtNleft, XtChainLeft); j++;
- XtSetArg(args[j], XtNright, XtChainLeft); j++;
- b_close =
- XtCreateManagedWidget(_("OK"), commandWidgetClass, form, args, j);
- XtAddCallback(b_close, XtNcallback, GameListOptionsCallback, client_data);
-
- safeStrCpy(lpUserGLT, appData.gameListTags, LPUSERGLT_SIZE);
- GLT_TagsToList(lpUserGLT);
-
- XtRealizeWidget(shell);
- CatchDeleteWindow(shell, "GameListOptionsPopDown");
-
- return shell;
-}
-
-void
-GameListOptionsPopUp (Widget w, XEvent *event, String *prms, Cardinal *nprms)
-{
- if (gameListOptShell == NULL)
- gameListOptShell = GameListOptionsCreate();
-
- XtPopup(gameListOptShell, XtGrabNone);
-}
-