X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=xengineoutput.c;h=ddd93df4fa6934b7acfdee12ed078ab52f856d16;hb=fa8cdd39eca80f4bdbf6e8e8a290fa1b8979224e;hp=02446e16e62b3b5bb8874dbdb0f18e71dc83692e;hpb=b382d988c6f886f3a49483df9e3e36de0b6b0824;p=xboard.git diff --git a/xengineoutput.c b/xengineoutput.c index 02446e1..ddd93df 100644 --- a/xengineoutput.c +++ b/xengineoutput.c @@ -5,7 +5,7 @@ * * Copyright 2005 Alessandro Scotti * - * Enhancements Copyright 2009, 2010, 2011 Free Software Foundation, Inc. + * Enhancements Copyright 2009, 2010, 2011, 2012 Free Software Foundation, Inc. * * ------------------------------------------------------------------------ * @@ -100,14 +100,6 @@ extern char *getenv(); #define _LL_ 100 -// imports from xboard.c -extern Widget formWidget, shellWidget, boardWidget, menuBarWidget; -extern Display *xDisplay; -extern Window xBoardWindow; -extern int squareSize; -extern Pixmap xMarkPixmap, wIconPixmap, bIconPixmap; -extern char *layoutName; - Pixmap icons[8]; // [HGM] this front-end array translates back-end icon indicator to handle Widget outputField[2][7]; // [HGM] front-end array to translate output field to window handle @@ -116,12 +108,6 @@ void engineOutputPopUp(); int EngineOutputIsUp(); void SetEngineColorIcon( int which ); -/* Imports from backend.c */ -extern int opponentKibitzes; - -/* Imports from xboard.c */ -extern Arg layoutArgs[2], formArgs[2], messageArgs[4]; - //extern WindowPlacement wpEngineOutput; Position engineOutputX = -1, engineOutputY = -1; @@ -148,7 +134,8 @@ typedef struct { //static void UpdateControls( EngineOutputData * ed ); -void ReadIcon(char *pixData[], int iconNr) +void +ReadIcon (char *pixData[], int iconNr) { int r; @@ -161,7 +148,8 @@ void ReadIcon(char *pixData[], int iconNr) } } -static void InitializeEngineOutput() +static void +InitializeEngineOutput () { ReadIcon(WHITE_14, nColorWhite); ReadIcon(BLACK_14, nColorBlack); @@ -173,7 +161,8 @@ static void InitializeEngineOutput() ReadIcon(ANALYZE_14, nAnalyzing); } -void DoSetWindowText(int which, int field, char *s_label) +void +DoSetWindowText (int which, int field, char *s_label) { Arg arg; @@ -181,7 +170,16 @@ void DoSetWindowText(int which, int field, char *s_label) XtSetValues(outputField[which][field], &arg, 1); } -void InsertIntoMemo( int which, char * text, int where ) +void +SetEngineOutputTitle (char *title) +{ + Arg arg; + XtSetArg(arg, XtNtitle, (XtArgVal) title); + XtSetValues(engineOutputShell, &arg, 1); +} + +void +InsertIntoMemo (int which, char * text, int where) { XawTextBlock t; Widget edit; @@ -200,7 +198,8 @@ void InsertIntoMemo( int which, char * text, int where ) } } -void SetIcon( int which, int field, int nIcon ) +void +SetIcon (int which, int field, int nIcon) { Arg arg; @@ -210,19 +209,19 @@ void SetIcon( int which, int field, int nIcon ) } } -void DoClearMemo(int which) +void +DoClearMemo (int which) { - Widget edit; - - edit = XtNameToWidget(engineOutputShell, which ? "*form2.text" : "*form.text"); - XtCallActionProc(edit, "select-all", NULL, NULL, 0); - XtCallActionProc(edit, "kill-selection", NULL, NULL, 0); + Widget edit = XtNameToWidget(engineOutputShell, which ? "*form2.text" : "*form.text"); + Arg arg; +// XtCallActionProc(edit, "select-all", NULL, NULL, 0); +// XtCallActionProc(edit, "kill-selection", NULL, NULL, 0); + XtSetArg(arg, XtNstring, ""); // clear without disturbing selection! + XtSetValues(edit, &arg, 1); } // cloned from CopyPositionProc. Abuse selected_fen_position to hold selection -extern char *selected_fen_position; - Boolean SendPositionSelection(Widget w, Atom *selection, Atom *target, Atom *type_return, XtPointer *value_return, unsigned long *length_return, int *format_return); // from xboard.c @@ -231,7 +230,8 @@ void SetFocus(Widget w, XtPointer data, XEvent *event, Boolean *b); // from xopt char memoTranslations[] = ":Ctrlc: CopyMemoProc() \n \ : HandlePV() \n \ -: select-start() SelectPV() \n \ +Shift: select-start() SelectPV(1) \n \ +Any: select-start() SelectPV(0) \n \ : extend-end() StopPV() \n"; void @@ -248,6 +248,7 @@ SelectPV (Widget w, XEvent * event, String * params, Cardinal * nParams) XawTextGetSelectionPos(w, &index, &dummy); XtSetArg(arg, XtNstring, &val); XtGetValues(w, &arg, 1); + shiftKey = strcmp(params[0], "0"); if(LoadMultiPV(x, y, val, index, &start, &end)) { XawTextSetSelection( outputField[currentPV][nMemo], start, end ); highTextStart[currentPV] = start; highTextEnd[currentPV] = end; @@ -263,8 +264,8 @@ StopPV (Widget w, XEvent * event, String * params, Cardinal * nParams) } static void -MemoCB(Widget w, XtPointer client_data, Atom *selection, - Atom *type, XtPointer value, unsigned long *len, int *format) +MemoCB (Widget w, XtPointer client_data, Atom *selection, + Atom *type, XtPointer value, unsigned long *len, int *format) { if (value==NULL || *len==0) return; /* nothing had been selected to copy */ selected_fen_position = value; @@ -276,11 +277,8 @@ MemoCB(Widget w, XtPointer client_data, Atom *selection, NULL/* transfer_done_proc */); } -void CopyMemoProc(w, event, prms, nprms) - Widget w; - XEvent *event; - String *prms; - Cardinal *nprms; +void +CopyMemoProc (Widget w, XEvent *event, String *prms, Cardinal *nprms) { if(appData.pasteSelection) return; if (selected_fen_position) free(selected_fen_position); @@ -298,10 +296,8 @@ void CopyMemoProc(w, event, prms, nprms) // The following routines are mutated clones of the commentPopUp routines -void PositionControlSet(which, shell, form, bw_width) - int which; - Widget shell, form; - Dimension bw_width; +void +PositionControlSet (int which, Widget shell, Widget form, Dimension bw_width) { Arg args[16]; Widget edit, NameWidget, ColorWidget, ModeWidget, MoveWidget, NodesWidget; @@ -313,7 +309,6 @@ void PositionControlSet(which, shell, form, bw_width) XtSetArg(args[j], XtNbottom, XtChainTop); j++; XtSetArg(args[j], XtNleft, XtChainLeft); j++; XtSetArg(args[j], XtNright, XtChainLeft); j++; - XtSetArg(args[j], XtNheight, (XtArgVal) 16); j++; XtSetArg(args[j], XtNwidth, (XtArgVal) 17); j++; outputField[which][nColorIcon] = ColorWidget = XtCreateManagedWidget("Color", labelWidgetClass, @@ -326,7 +321,6 @@ void PositionControlSet(which, shell, form, bw_width) XtSetArg(args[j], XtNtop, XtChainTop); j++; XtSetArg(args[j], XtNbottom, XtChainTop); j++; XtSetArg(args[j], XtNleft, XtChainLeft); j++; - XtSetArg(args[j], XtNheight, (XtArgVal) 16); j++; XtSetArg(args[j], XtNwidth, (XtArgVal) bw_width/2 - 57); j++; outputField[which][nLabel] = NameWidget = XtCreateManagedWidget("Engine", labelWidgetClass, @@ -338,7 +332,6 @@ void PositionControlSet(which, shell, form, bw_width) XtSetArg(args[j], XtNfromHoriz, (XtArgVal) NameWidget); j++; XtSetArg(args[j], XtNtop, XtChainTop); j++; XtSetArg(args[j], XtNbottom, XtChainTop); j++; - XtSetArg(args[j], XtNheight, (XtArgVal) 16); j++; XtSetArg(args[j], XtNwidth, (XtArgVal) 20); j++; outputField[which][nStateIcon] = ModeWidget = XtCreateManagedWidget("Mode", labelWidgetClass, @@ -352,7 +345,6 @@ void PositionControlSet(which, shell, form, bw_width) XtSetArg(args[j], XtNtop, XtChainTop); j++; XtSetArg(args[j], XtNbottom, XtChainTop); j++; XtSetArg(args[j], XtNright, XtChainRight); j++; - XtSetArg(args[j], XtNheight, (XtArgVal) 16); j++; XtSetArg(args[j], XtNwidth, (XtArgVal) bw_width/2 - 102); j++; outputField[which][nStateData] = MoveWidget = XtCreateManagedWidget("Move", labelWidgetClass, @@ -367,7 +359,6 @@ void PositionControlSet(which, shell, form, bw_width) XtSetArg(args[j], XtNbottom, XtChainTop); j++; XtSetArg(args[j], XtNleft, XtChainRight); j++; XtSetArg(args[j], XtNright, XtChainRight); j++; - XtSetArg(args[j], XtNheight, (XtArgVal) 16); j++; XtSetArg(args[j], XtNwidth, (XtArgVal) 100); j++; outputField[which][nLabelNPS] = NodesWidget = XtCreateManagedWidget("Nodes", labelWidgetClass, @@ -404,8 +395,8 @@ void PositionControlSet(which, shell, form, bw_width) XtSetValues(edit, args, j); } -Widget EngineOutputCreate(name, text) - char *name, *text; +Widget +EngineOutputCreate (char *name, char *text) { Arg args[16]; Widget shell, layout, form, form2; @@ -496,8 +487,8 @@ Widget EngineOutputCreate(name, text) return shell; } -void ResizeWindowControls(mode) - int mode; +void +ResizeWindowControls (int mode) { Widget form1, form2; Arg args[16]; @@ -534,17 +525,17 @@ void ResizeWindowControls(mode) } void -EngineOutputPopUp() +EngineOutputPopUp () { Arg args[16]; int j; Widget edit; static int needInit = TRUE; - static char *title = _("Engine output"), *text = _("This feature is experimental"); + static char *title = N_("Engine output"), *text = N_("This feature is experimental"); if (engineOutputShell == NULL) { engineOutputShell = - EngineOutputCreate(title, text); + EngineOutputCreate(_(title), _(text)); XtRealizeWidget(engineOutputShell); CatchDeleteWindow(engineOutputShell, "EngineOutputPopDown"); if( needInit ) { @@ -561,8 +552,8 @@ EngineOutputPopUp() XtSetArg(args[j], XtNstring, text); j++; XtSetValues(edit, args, j); j = 0; - XtSetArg(args[j], XtNiconName, (XtArgVal) title); j++; - XtSetArg(args[j], XtNtitle, (XtArgVal) title); j++; + XtSetArg(args[j], XtNiconName, (XtArgVal) _(title)); j++; + XtSetArg(args[j], XtNtitle, (XtArgVal) _(title)); j++; XtSetValues(engineOutputShell, args, j); } @@ -578,7 +569,8 @@ EngineOutputPopUp() ShowThinkingEvent(); // [HGM] thinking: might need to prompt engine for thinking output } -void EngineOutputPopDown() +void +EngineOutputPopDown () { Arg args[16]; int j; @@ -606,22 +598,20 @@ void EngineOutputPopDown() ShowThinkingEvent(); // [HGM] thinking: might need to shut off thinking output } -int EngineOutputIsUp() +int +EngineOutputIsUp () { return engineOutputDialogUp; } -int EngineOutputDialogExists() +int +EngineOutputDialogExists () { return engineOutputShell != NULL; } void -EngineOutputProc(w, event, prms, nprms) - Widget w; - XEvent *event; - String *prms; - Cardinal *nprms; +EngineOutputProc (Widget w, XEvent *event, String *prms, Cardinal *nprms) { if (engineOutputDialogUp) { EngineOutputPopDown();