X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=xoptions.c;h=6c3d8aa56858b120852db23dc269ee0b4da20ad7;hb=4432b214eac662c6141e58c2957f8c9ab6b48174;hp=da6a82516ae0d6e1faff08debbdec0a5f420f1eb;hpb=b1a328f5c036b608c80c4a248ede08c9055f66ba;p=xboard.git diff --git a/xoptions.c b/xoptions.c index da6a825..6c3d8aa 100644 --- a/xoptions.c +++ b/xoptions.c @@ -78,6 +78,8 @@ extern char *getenv(); # define N_(s) s #endif +extern void SendToProgram P((char *message, ChessProgramState *cps)); + extern Widget formWidget, shellWidget, boardWidget, menuBarWidget; extern Display *xDisplay; extern int squareSize; @@ -140,7 +142,6 @@ void ShuffleCallback(w, client_data, call_data) ShufflePopDown(); shuffleOpenings = False; // [HGM] should be moved to New Variant menu, once we have it! ResetGameEvent(); - AnalysisPopDown(); return; } if (strcmp(name, _("random")) == 0) { @@ -162,7 +163,6 @@ void ShuffleCallback(w, client_data, call_data) shuffleOpenings = True; ShufflePopDown(); ResetGameEvent(); - AnalysisPopDown(); return; } } @@ -958,7 +958,7 @@ void NewVariantCallback(w, client_data, call_data) XtGetValues(w, args, 1); if (strcmp(name, _(" OK ")) == 0) { - int nr = (int) XawToggleGetCurrent(buttonDesc[0].handle) - 1; + int nr = (intptr_t) XawToggleGetCurrent(buttonDesc[0].handle) - 1; if(nr < 0) return; v = buttonDesc[nr].variant; if(!appData.noChessProgram) { @@ -1079,7 +1079,7 @@ void NewVariantPopUp() "for missing bitmaps. (See manual.)")); j++; XtCreateManagedWidget("warning", labelWidgetClass, form, args, j); - XtRealizeWidget(popup); + XtRealizeWidget(popup); CatchDeleteWindow(popup, "NewVariantPopDown"); XQueryPointer(xDisplay, xBoardWindow, &root, &child, @@ -1338,23 +1338,24 @@ void SpinCallback(w, client_data, call_data) Arg args[16]; char buf[MSG_SIZ]; int i, j; + int data = (intptr_t) client_data; XtSetArg(args[0], XtNlabel, &name); XtGetValues(w, args, 1); j = 0; XtSetArg(args[0], XtNstring, &val); - XtGetValues(currentCps->option[(int)client_data].handle, args, 1); + XtGetValues(currentCps->option[data].handle, args, 1); sscanf(val, "%d", &j); if (strcmp(name, "+") == 0) { - if(++j > currentCps->option[(int)client_data].max) return; + if(++j > currentCps->option[data].max) return; } else if (strcmp(name, "-") == 0) { - if(--j < currentCps->option[(int)client_data].min) return; + if(--j < currentCps->option[data].min) return; } else return; sprintf(buf, "%d", j); XtSetArg(args[0], XtNstring, buf); - XtSetValues(currentCps->option[(int)client_data].handle, args, 1); + XtSetValues(currentCps->option[data].handle, args, 1); } void SettingsCallback(w, client_data, call_data) @@ -1366,6 +1367,7 @@ void SettingsCallback(w, client_data, call_data) Arg args[16]; char buf[MSG_SIZ]; int i, j; + int data = (intptr_t) client_data; XtSetArg(args[0], XtNlabel, &name); XtGetValues(w, args, 1); @@ -1374,7 +1376,7 @@ void SettingsCallback(w, client_data, call_data) SettingsPopDown(); return; } - if (strcmp(name, _("OK")) == 0 || (int)client_data) { // save buttons imply OK + if (strcmp(name, _("OK")) == 0 || data) { // save buttons imply OK int nr; for(i=0; inrOptions; i++) { // send all options that had to be OK-ed to engine @@ -1420,7 +1422,7 @@ void SettingsCallback(w, client_data, call_data) break; } } - if((int)client_data) { // send save-button command to engine + if(data) { // send save-button command to engine sprintf(buf, "option %s\n", name); SendToProgram(buf, currentCps); } @@ -1437,8 +1439,8 @@ void ComboSelect(w, addr, index) // callback for all combo items caddr_t index; { Arg args[16]; - int i = ((int)addr)>>8; - int j = 255 & (int) addr; + int i = ((intptr_t)addr)>>8; + int j = 255 & (intptr_t) addr; values[i] = j; // store in temporary, for transfer at OK XtSetArg(args[0], XtNlabel, ((char**)currentCps->option[i].textValue)[j]); @@ -1465,7 +1467,7 @@ void CreateComboPopup(parent, name, n, mb) menu, args, j); XtAddCallback(entry, XtNcallback, (XtCallbackProc) ComboSelect, - (caddr_t) (256*n+i)); + (caddr_t)(intptr_t) (256*n+i)); i++; } } @@ -1473,7 +1475,7 @@ void CreateComboPopup(parent, name, n, mb) void SettingsPopUp(ChessProgramState *cps) { Arg args[16]; - Widget popup, layout, dialog, edit, form, oldform, last, b_ok, b_cancel, leftMargin = NULL; + Widget popup, layout, dialog, edit=NULL, form, oldform, last, b_ok, b_cancel, leftMargin = NULL; Window root, child; int x, y, i, j, height, width, h, c; int win_x, win_y; @@ -1487,7 +1489,7 @@ void SettingsPopUp(ChessProgramState *cps) if(cps->nrOptions > 50) width = 4; else if(cps->nrOptions>24) width = 2; else width = 1; height = cps->nrOptions / width + 1; - i = 0; + i = 0; XtSetArg(args[i], XtNresizable, True); i++; SettingsShell = popup = XtCreatePopupShell(_("Settings Menu"), transientShellWidgetClass, @@ -1505,7 +1507,7 @@ void SettingsPopUp(ChessProgramState *cps) XtSetArg(args[j], XtNfromHoriz, leftMargin); j++; XtSetValues(form, args, j); leftMargin = form; - + last = NULL; for(h=0; hoption[i].value); j++; cps->option[i].handle = (void*) (last = XtCreateManagedWidget(cps->option[i].name, commandWidgetClass, form, args, j)); - XtAddCallback(last, XtNcallback, SettingsCallback, (XtPointer) (cps->option[i].type == SaveButton)); + XtAddCallback(last, XtNcallback, SettingsCallback, + (XtPointer)(intptr_t) (cps->option[i].type == SaveButton)); break; case ComboBox: j=0; @@ -1625,7 +1630,7 @@ void SettingsPopUp(ChessProgramState *cps) SettingsUp = True; previous = NULL; - SetFocus(edit, popup, (XEvent*) NULL, False); + if(edit)SetFocus(edit, popup, (XEvent*) NULL, False); } void FirstSettingsProc(w, event, prms, nprms) @@ -1646,107 +1651,10 @@ void SecondSettingsProc(w, event, prms, nprms) SettingsPopUp(&second); } -//--------------------------- General Popup for Cloning ---------------------------------- -#if 0 -int XXXUp; -Widget XXXShell; - -void XXXPopDown() -{ - if (!XXXUp) return; - XtPopdown(XXXShell); - XtDestroyWidget(XXXShell); - XXXUp = False; - ModeHighlight(); -} - -void XXXCallback(w, client_data, call_data) - Widget w; - XtPointer client_data, call_data; -{ - String name; - Widget w2; - Arg args[16]; - char buf[80]; - - XtSetArg(args[0], XtNlabel, &name); - XtGetValues(w, args, 1); - - if (strcmp(name, _("cancel")) == 0) { - XXXPopDown(); - return; - } - if (strcmp(name, _("ok")) == 0) { - int nr; String name; - name = XawDialogGetValueString(w2 = XtParent(w)); - if(sscanf(name ,"%d",&nr) != 1) { - sprintf(buf, "%d", appData.defaultFrcPosition); - XtSetArg(args[0],XtNvalue, buf); // erase bad (non-numeric) value - XtSetValues(w2, args, 1); - return; - } - XXXPopDown(); - return; - } -} +//---------------------------- Chat Windows ---------------------------------------------- -void XXXPopUp() +void OutputChatMessage(int partner, char *mess) { - Arg args[16]; - Widget popup, layout, dialog, edit; - Window root, child; - int x, y, i; - int win_x, win_y; - unsigned int mask; - char def[80]; - - i = 0; - XtSetArg(args[i], XtNresizable, True); i++; - XtSetArg(args[i], XtNwidth, DIALOG_SIZE); i++; - XXXShell = popup = - XtCreatePopupShell(_("XXX Menu"), transientShellWidgetClass, - shellWidget, args, i); - - layout = - XtCreateManagedWidget(layoutName, formWidgetClass, popup, - layoutArgs, XtNumber(layoutArgs)); - - sprintf(def, "%d\n", appData.defaultFrcPosition); - i = 0; - XtSetArg(args[i], XtNlabel, ""); i++; - XtSetArg(args[i], XtNvalue, def); i++; - XtSetArg(args[i], XtNborderWidth, 0); i++; - dialog = XtCreateManagedWidget("XXX", dialogWidgetClass, - layout, args, i); - - XawDialogAddButton(dialog, _("ok"), XXXCallback, (XtPointer) dialog); - XawDialogAddButton(dialog, _("cancel"), XXXCallback, (XtPointer) dialog); - - XtRealizeWidget(popup); - CatchDeleteWindow(popup, "XXXPopDown"); - - XQueryPointer(xDisplay, xBoardWindow, &root, &child, - &x, &y, &win_x, &win_y, &mask); - - XtSetArg(args[0], XtNx, x - 10); - XtSetArg(args[1], XtNy, y - 30); - XtSetValues(popup, args, 2); - - XtPopup(popup, XtGrabExclusive); - XXXUp = True; - - edit = XtNameToWidget(dialog, "*value"); - - previous = NULL; - SetFocus(engThreshold, popup, (XEvent*) NULL, False); + return; // dummy } -void XXXMenuProc(w, event, prms, nprms) - Widget w; - XEvent *event; - String *prms; - Cardinal *nprms; -{ - XXXPopUp(); -} -#endif \ No newline at end of file