*
* Copyright 2005 Alessandro Scotti
*
- * Enhancements Copyright 2009, 2010 Free Software Foundation, Inc.
+ * Enhancements Copyright 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
*
* ------------------------------------------------------------------------
*
#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
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;
//static void UpdateControls( EngineOutputData * ed );
-void ReadIcon(char *pixData[], int iconNr)
+void
+ReadIcon (char *pixData[], int iconNr)
{
int r;
}
}
-static void InitializeEngineOutput()
+static void
+InitializeEngineOutput ()
{
ReadIcon(WHITE_14, nColorWhite);
ReadIcon(BLACK_14, nColorBlack);
ReadIcon(ANALYZE_14, nAnalyzing);
}
-void DoSetWindowText(int which, int field, char *s_label)
+void
+DoSetWindowText (int which, int field, char *s_label)
{
Arg arg;
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;
}
}
-void SetIcon( int which, int field, int nIcon )
+void
+SetIcon (int which, int field, int nIcon)
{
Arg arg;
}
}
-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
char memoTranslations[] =
":Ctrl<Key>c: CopyMemoProc() \n \
<Btn3Motion>: HandlePV() \n \
-<Btn3Down>: select-start() SelectPV() \n \
+Shift<Btn3Down>: select-start() SelectPV(1) \n \
+Any<Btn3Down>: select-start() SelectPV(0) \n \
<Btn3Up>: extend-end() StopPV() \n";
void
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;
}
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;
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);
// 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;
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,
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,
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,
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,
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,
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;
return shell;
}
-void ResizeWindowControls(mode)
- int mode;
+void
+ResizeWindowControls (int mode)
{
Widget form1, form2;
Arg args[16];
}
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 ) {
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);
}
j=0;
XtSetArg(args[j], XtNleftBitmap, xMarkPixmap); j++;
- XtSetValues(XtNameToWidget(menuBarWidget, "menuMode.Show Engine Output"),
+ XtSetValues(XtNameToWidget(menuBarWidget, "menuView.Show Engine Output"),
args, j);
engineOutputDialogUp = True;
ShowThinkingEvent(); // [HGM] thinking: might need to prompt engine for thinking output
}
-void EngineOutputPopDown()
+void
+EngineOutputPopDown ()
{
Arg args[16];
int j;
XSync(xDisplay, False);
j=0;
XtSetArg(args[j], XtNleftBitmap, None); j++;
- XtSetValues(XtNameToWidget(menuBarWidget, "menuMode.Show Engine Output"),
+ XtSetValues(XtNameToWidget(menuBarWidget, "menuView.Show Engine Output"),
args, j);
engineOutputDialogUp = False;
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();